Python數據分析-歐洲經濟聚類和主成分分析

一、研究背景

歐洲經濟長期以來是全球經濟體系中的重要組成部分。無論是在全球金融危機后的復蘇過程中,還是在新冠疫情期間,歐洲經濟的表現都對世界經濟產生了深遠的影響。歐洲各國經濟體之間既存在相似性,也存在顯著的差異。這些差異不僅體現在宏觀經濟指標上,如GDP增長率、通貨膨脹率、失業率等,還體現在政府預算、債務與GDP比例、經常賬戶余額等財務指標上。因此,通過聚類分析和主成分分析(PCA)來研究歐洲各國經濟指標的相似性和差異性,對于深入理解歐洲經濟體系內部的動態和結構具有重要意義。

近年來,全球化進程加速以及歐盟內部一體化的推進,使得歐洲各國經濟之間的聯系日益緊密。然而,各國在經濟政策、產業結構、資源分配等方面仍然存在顯著差異。通過聚類分析,可以將具有相似經濟特征的國家歸為一類,揭示出這些國家在經濟發展中的共同模式。而主成分分析則能夠簡化數據結構,提取出影響歐洲經濟的主要因素,幫助我們更好地理解復雜的經濟現象。

二、研究意義

  • 揭示經濟模式:通過聚類分析可以識別出歐洲國家在經濟發展中的不同模式,幫助政策制定者了解不同經濟體的特征,從而制定更有針對性的經濟政策。

  • 簡化數據分析:主成分分析能夠降低數據的維度,將多個經濟指標簡化為少數幾個主要成分,這有助于更直觀地理解影響歐洲經濟的關鍵因素,便于進行進一步的經濟分析和預測。

  • 支持決策制定:本研究的結果可以為政府和企業提供參考依據,幫助他們在經濟規劃、投資決策和風險管理方面做出更明智的選擇。例如,通過了解哪些國家具有相似的經濟特征,可以在區域合作、市場開發等方面做出更有戰略性的布局。

  • 學術貢獻:本研究將豐富聚類分析和主成分分析在經濟研究領域的應用案例,提供一種新的視角來審視歐洲經濟,有助于推動相關學術研究的發展。

三、實證分析

代碼和數據

讀取數據

import numpy as np 
import pandas as pd import os
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as snsimport datetimeimport warnings
warnings.filterwarnings('ignore')
df=pd.read_csv('Economy_Indicators.csv')
df.head()

?查看數據類型

數據預處理

df=df.replace('           NA',np.nan,regex=True)
df['GDP Quarter-over-Quarterr'] = df['GDP Quarter-over-Quarterr'].astype(float)
df['Interest Rate'] = df['Interest Rate'].astype(float)
df.info()

?

接下來對數據特征可視化

fig = plt.figure(figsize=(15,15))for i in range(len(col)):plt.subplot(4,3,i+1)plt.title(col[i])sns.boxplot(data=df,y=df[col[i]])plt.tight_layout()
plt.show()

fig = plt.figure(figsize=(15,15))for i in range(len(col)):plt.subplot(4,3,i+1)plt.title(col[i])sns.histplot(data=df,x=df[col[i]])plt.tight_layout()
plt.show()

?

每個特征的最小值和最大值之間的差距都很大。這說明歐洲國家之間的經濟差距很大。

相關系數熱力圖

corr_matrix = numeric_df.corr()plt.figure(figsize=(10, 8))
sns.heatmap(corr_matrix, annot=True, cbar=False, cmap='Blues', fmt='.1f')
plt.show()

其中,高度正相關 (>=0.5)

國內生產總值與人口:0.8 經常賬戶與政府預算:0.6 利率與通貨膨脹率:0.5 強負相關(<=-0.5)

國內生產總值年度同比與利率:-0.6 國內生產總值季度同比與利率:-0.6 政府預算與債務/GDP : -0.5

?接下來進行聚類分析

添加人均 GDP?

df['GDP_per_Population']=df['GDP']/df['Population']

標準化

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
df_sc = sc.fit_transform(df1)
df_sc = pd.DataFrame(df_sc, columns=df1.columns)

?首先按 4 個群組進行 KMeans 建模

model = KMeans(n_clusters=4, random_state=1)
model.fit(df_sc)

用肘法確定聚類的數量。?

for i  in range(1,11):km = KMeans(n_clusters=i,init='k-means++',n_init=10,max_iter=300,random_state=0)km.fit(df_sc)distortions.append(km.inertia_)plt.plot(range(1,11),distortions,marker='o')
plt.xlabel('Number of clusters')
plt.ylabel('Distortion')
plt.show()

#我們可以將數據分為四個聚類

df['Cluster']=cluster
df.head()

可以看到每個樣本后面都有了聚類數

numeric_df = df.select_dtypes(include=[float, int])
# 將非數值列與 Cluster 列連接起來,以便進行分組
numeric_df['Cluster'] = df['Cluster']
# 按 Cluster 分組并計算均值
grouped_mean = numeric_df.groupby('Cluster').mean()

fig = plt.figure(figsize=(15,15))for i in range(len(col2)):plt.subplot(4,3,i+1)plt.title(col2[i])sns.boxplot(data=df,y=df[col2[i]],x=df['Cluster'])plt.tight_layout()
plt.show()

各組之間有一些不同的特點。

查看第0組的國家

第 0 組包括國內生產總值和人口規模不大,但人均國內生產總值較高的國家。

組群 2 包括較大的國內生產總值和較多的人口。

第 3 組只有一個國家,即烏克蘭。烏克蘭的核試驗率最高、通貨膨脹率最高、失業率最高。它的 GDP 年同比和季度同比都是最低的。這顯示了巨大的損失。

接下來進行主成分分析

from sklearn.decomposition import PCA
pca = PCA(n_components=3, random_state=1)
pca.fit(df_sc)
feature = pca.transform(df_sc)
grouped_mean = df.groupby('Cluster')[['PCA1', 'PCA2', 'PCA3']].mean().T
# 應用樣式并顯示條形圖
styled_grouped_mean = grouped_mean.style.bar(axis=1)
styled_grouped_mean

PCA1 在第 1 組中最高,其次是第 2 組。

PCA2 在第 1 組中最高,其次是第 0 組。

PCA3 在第 2 組中最高,其次是第 1 組。

PCA1 在利率方面最高,其次是通貨膨脹率。

PCA2 的最高值是人口,其次是人均國內生產總值(GDP_per_Population)。

PCA3 在 GDP 中最高,其次是人口。

?接下來用3D圖來可視化一下

fig=plt.figure(figsize=(10, 10))
ax = fig.add_subplot(projection='3d')scatter=ax.scatter(df['PCA1'], df['PCA2'],df['PCA3'],alpha=0.8, c=cluster)
ax.set_xlabel('principal component 1')
ax.set_ylabel('principal component 2')
ax.set_zlabel('principal component 3')
plt.legend(handles=scatter.legend_elements()[0], labels=['Cluster0','Cluster1','Cluster2','Cluster3'],title="Cluster",loc='upper left', bbox_to_anchor=(1, 1))
plt.show()

?接下來再查看一下各個主成分的解釋率

pd.DataFrame(pca.explained_variance_ratio_)

PCA1、PCA2 和 PCA3 的解釋率約為 66%。?

四、結論

通過聚類分析和主成分分析,我們對歐洲各國的經濟特征進行了深入研究。聚類分析結果表明,歐洲國家可以根據其經濟指標分為幾個具有相似特征的集群,每個集群內部的國家在GDP增長率、通貨膨脹率、失業率等方面表現出較高的相似性。這表明盡管歐洲整體經濟一體化進程不斷推進,但各國之間仍存在顯著的經濟差異。

主成分分析結果顯示,影響歐洲經濟的主要因素可以歸納為少數幾個主成分,如宏觀經濟增長、通貨膨脹和就業狀況、財政健康狀況等。這些主成分在很大程度上解釋了原始數據的變化,證明了主成分分析在簡化數據和提取關鍵信息方面的有效性。

總體而言,本研究不僅揭示了歐洲各國經濟的內在聯系和差異,還為進一步的經濟分析和政策制定提供了重要的理論和實證依據。未來的研究可以在此基礎上,結合更多的動態數據和更復雜的經濟模型,進一步探索歐洲經濟的發展趨勢和內在機制。 ?

?創作不易,希望大家多點贊關注評論!!!(類似代碼或報告定制可以私信)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41787.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41787.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux下QT程序啟動失敗問題排查方法

文章目錄 0.問題背景1.程序啟動失敗常見原因2.排查依賴庫問題2.1 依賴庫缺失2.2 依賴庫加載路徑錯誤2.3 依賴庫版本不匹配2.4 QT插件庫缺失2.4.1 QT插件庫缺失2.4.2 插件庫自身的依賴庫缺失 2.5 系統基礎C庫不匹配 3.資源問題3.1 缺少翻譯文件3.2 缺少依賴的資源文件3.3 缺少依…

Unity3D批量修改名稱工具

介紹 該工具用于批量修改某游戲對象的一級子對象名稱&#xff0c;功能包括批量添加前后綴、批量修改公共名稱字段和批量修改為同一名稱&#xff0c;包括撤銷和恢復功能。 批量添加前后綴可使用預設從指定數字遞增或遞減至指定數字。 資源下載 GitHub 百度網盤&#xff08…

水果商城系統 SpringBoot+Vue

1、技術棧 技術棧&#xff1a;SpringBootVueMybatis等使用環境&#xff1a;Windows10 谷歌瀏覽器開發環境&#xff1a;jdk1.8 Maven mysql Idea 數據庫僅供學習參考 【已經答辯過的畢業設計】 項目源碼地址 2、功能劃分 3、效果演示

化工廠定位的意義?如何有效解決管理難題

化工廠定位是運用于工廠人員定位管理的新技術&#xff0c;這一技術的應用具有特殊的意義&#xff0c;和傳統管理模式相比具有很大的區別&#xff0c;那么&#xff0c;你是否清楚化工廠定位的意義&#xff0c;它是如何有效的去解決工廠現存的管理難題呢? 傳統化工廠管理到底有哪…

PySide6開發桌面程序,PySide6入門實戰(上)

文章目錄 系列文章索引一、前期準備1、簡介及安裝2、PyCharm PySide6環境搭建&#xff08;1&#xff09;基礎環境&#xff08;2&#xff09;配置QT Designer、PyUIC、PyRCC&#xff08;3&#xff09;使用pyside6項目&#xff08;4&#xff09;資源文件編寫與編譯 二、QT常用控件…

排序矩陣查找

題目鏈接 排序矩陣查找 題目描述 注意點 每一行、每一列都按升序排列 解答思路 可以從右上角開始遍歷&#xff0c;如果當前元素就等于target&#xff0c;直接返回true&#xff1b;如果當前元素小于target&#xff0c;則target肯定在當前位置下方&#xff1b;如果當前元素大…

基于深度學習的電力分配

基于深度學習的電力分配是一項利用深度學習算法優化電力系統中的電力資源分配、負荷預測、故障檢測和系統管理的技術。該技術旨在提高電力系統的運行效率、穩定性和可靠性。以下是關于這一領域的系統介紹&#xff1a; 1. 任務和目標 電力分配的主要任務是優化電力系統中的電力…

挑戰杯 LSTM的預測算法 - 股票預測 天氣預測 房價預測

0 簡介 今天學長向大家介紹LSTM基礎 基于LSTM的預測算法 - 股票預測 天氣預測 房價預測 這是一個較為新穎的競賽課題方向&#xff0c;學長非常推薦&#xff01; &#x1f9ff; 更多資料, 項目分享&#xff1a; https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…

手機飛行模式是什么意思?3個方法教你如何開啟

在現代生活中&#xff0c;手機已經成為我們日常生活中不可或缺的一部分。然而&#xff0c;有時我們需要暫時切斷手機的通信功能&#xff0c;比如在飛機上、開會時或需要安靜休息的時候。這時候&#xff0c;蘋果手機上的“飛行模式”功能就派上了用場。 那么&#xff0c;手機飛…

人臉表情識別Facial Expression Recognition基于Python3和Keras2(TensorFlow后端)

人臉表情識別項目是一個結合了計算機視覺和深度學習技術的高級應用&#xff0c;主要用于分析和理解人類面部表情所傳達的情感狀態。這樣的系統可以用于多種場景&#xff0c;比如情緒分析、用戶交互、市場調研、醫療診斷以及人機接口等領域。 一個典型的人臉表情識別項目可以分…

端到端自動駕駛新突破:Nvidia提出全并行PARA-Drive,斬獲CVPR挑戰賽冠軍

論文標題&#xff1a; PARA-Drive: Parallelized Architecture for Real-time Autonomous Driving 論文作者&#xff1a; Xinshuo Weng, Boris Ivanovic, Yan Wang, Yue Wang, Marco Pavone 導讀&#xff1a; 本文系統分析了自動駕駛高級架構的設計空間&#xff0c;提出了關…

了解安全端口

安全端口的定義和重要性 安全端口是指在網絡通信中&#xff0c;用于特定服務或應用程序的端口&#xff0c;這些端口通常被設計為在網絡層面提供額外的安全性。安全端口的選擇和配置對于保護網絡資源免受未經授權的訪問和攻擊至關重要。 常見的安全端口及其用途 以下是一些常見…

提升內容分享類營銷效果的秘籍大公開

今天有豐富實戰經驗的“蚓鏈數字化營銷平臺”來給大家分享一些能有效提高內容分享類數字化營銷方案中用戶的參與度和轉化率的方法。 創造有價值且引人入勝的內容 一定要讓分享的內容實用、有趣或者獨特&#xff0c;滿足大家的需求和興趣。多運用生動的故事、案例和數據來支持觀…

深入分析 Android BroadcastReceiver (十)(完)

文章目錄 深入分析 Android BroadcastReceiver (十)1. 深入理解 Android 廣播機制的高級應用與實踐1.1 高級應用1.1.1 示例&#xff1a;廣播啟動服務1.1.2 示例&#xff1a;數據變化通知1.1.3 示例&#xff1a;下載完成通知 1.2 實踐建議1.2.1 設置權限1.2.2 動態注冊和注銷廣播…

WIN32核心編程 - 線程操作(二) 同步互斥

公開視頻 -> 鏈接點擊跳轉公開課程博客首頁 -> 鏈接點擊跳轉博客主頁 目錄 競態條件 CriticalSection Mutex CriticalSection & Mutex Semaphore Event 競態條件 多線程環境下&#xff0c;當多個線程同時訪問或者修改同一個數據時&#xff0c;最終結果為線程執…

探索企業信用巔峰:3A企業認證的魅力與價值

在現代商業環境中&#xff0c;企業的信用和信譽是其發展的核心要素之一。3A企業認證作為信用評級的最高等級&#xff0c;正在吸引越來越多企業的關注。究竟什么是3A企業認證&#xff1f;它為什么對企業如此重要&#xff1f;本文將深入探討3A企業認證的獨特魅力和巨大價值。 3A企…

0Day漏洞防御篇:GeoServer CVE-2024-36401遠程代碼執行漏洞

GeoServer是一個用Java編寫的開源軟件服務器&#xff0c;允許用戶共享和編輯地理空間數據。它為提供交互操作性而設計&#xff0c;使用開放標準發布來自任何主要空間數據源的數據。GeoServer存在遠程代碼執行漏洞&#xff08;CVE-2024-36401&#xff09;&#xff0c;未經身份認…

Spring整合SpringSecurity

SpringSecurity基礎使用 SpringSecurity是一個安全框架&#xff0c;主要功能是認證和授權 從Spring入手SpringSecurity 1. Spring整合SpringSecurity applicationContext.xml <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http…

大模型幻覺問題知識點總結

大模型幻覺問題知識點總結 定義&#xff1a; 大模型幻覺問題是指在自然語言處理&#xff08;NLP&#xff09;中&#xff0c;基于大規模預訓練模型&#xff08;如GPT-3、BERT等&#xff09;生成的文本看似合理且連貫&#xff0c;但實際上包含錯誤、不準確或虛假的信息。這種現象…