国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

這篇具有很好參考價值的文章主要介紹了Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在計量經(jīng)濟學里面的研究,圍繞著影響GDP的因素的研究有很多,基本都是做回歸,拿GDP作為被解釋變量y,其他因素作為解釋變量x。然后做線性回歸,時間序列就做自回歸,面板數(shù)據(jù)就做固定效應(yīng)等等。本次案例采用機器學習里面的隨機森林回歸來研究影響經(jīng)濟增長的因素,使用Python編程。選取人口,固定資產(chǎn)投資,消費,凈出口,稅收,廣義M2貨幣,物價指數(shù)CPI作為解釋變量X。我國GDP作為被解釋變量y。

數(shù)據(jù)長這個樣子,從1990年到2020年

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

這個數(shù)據(jù)還挺熱門的,需要這代碼演示數(shù)據(jù)的同學可以參考:數(shù)據(jù)


首先導入包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt 
import seaborn as sns
from sklearn.preprocessing import StandardScaler
import statsmodels.formula.api as smf
plt.rcParams ['font.sans-serif'] ='SimHei'              
plt.rcParams ['axes.unicode_minus']=False               
sns.set_style("darkgrid",{"font.sans-serif":[ 'Arial']})
#plt.rcParams['font.sans-serif'] = ['KaiTi']

讀取數(shù)據(jù),查看數(shù)據(jù)信息

spss = pd.read_excel('data.xlsx')
spss.info()
data=spss.copy()

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?將時間設(shè)為索引

spss.set_index('year',inplace=True)
data.drop('year',axis=1,inplace=True)

?描述性統(tǒng)計

data.describe()  

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

計算每個變量的均值方差,分位數(shù)等

畫出每個變量的隨時間變化的折線圖

#Sequence diagram of eight variables
column = data.columns.tolist() 
fig = plt.figure(figsize=(12,4), dpi=128) 
for i in range(8):
    plt.subplot(2,4, i + 1)  
    sns.lineplot(data=spss[column[i]],lw=1)  
    plt.ylabel(column[i], fontsize=12)
plt.tight_layout()
plt.show()

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?所有變量都是單調(diào)增加,具有一致性趨勢。

畫所有變量的箱線圖

#boxplot
column = data.columns.tolist() 
fig = plt.figure(figsize=(12,4), dpi=128)  
for i in range(8):
    plt.subplot(2,4, i + 1)  
    sns.boxplot(data=data[column[i]], orient="v",width=0.5)  
    plt.ylabel(column[i], fontsize=12)
plt.tight_layout()
plt.show()

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

畫核密度圖

#kdeplot
column = data.columns.tolist() 
fig = plt.figure(figsize=(12,4), dpi=128)  
for i in range(8):
    plt.subplot(2,4, i + 1)  
    sns.kdeplot(data=data[column[i]],color='blue',shade= True) 
    plt.ylabel(column[i], fontsize=12)
plt.tight_layout()
plt.show()

?Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?從箱線圖和核密度圖可以看出數(shù)據(jù)的分布都還比較集中,沒有很多異常點。

下面畫所有變量兩兩之間的散點圖

sns.pairplot(data[column],diag_kind='kde')
plt.savefig('Scatter plot.jpg',dpi=256)

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?可以看到除了cpi,幾乎所有變量之間都有線性關(guān)系,人口有點像二次拋物線。

畫皮爾遜相關(guān)系數(shù)熱力圖

#Pearson's correlation coefficient heatmap
corr = plt.figure(figsize = (10,10),dpi=128)
corr= sns.heatmap(data[column].corr(),annot=True,square=True)
plt.xticks(rotation=40)

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?很多X之間都存在的高的相關(guān)性,經(jīng)典的最小二乘線性模型可能存在著嚴重的多重共線性。


線性回歸

還是做一下線性回歸

import statsmodels.formula.api as smf
all_columns = "+".join(data.columns[1:])
print('x is :'+all_columns)
formula = 'GDP~' + all_columns
print('The regression equation is :'+formula)

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

寫出回歸方程后,帶入ols模型

results = smf.ols(formula, data=data).fit()
results.summary()

?Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?可以看到整體的擬合優(yōu)度為100。。在0.05的顯著性水平下,人口和消費,還有凈出口稅收都對GDP的變動具有顯著性的影響。

有些變量不顯著,可能是多重共線性的原因……下面的非參數(shù)回歸方法——隨機森林,可以避免多重共線性的影響,還能得到變量的重要特征排序


隨機森林回歸

取出X和y

X=data.iloc[:,1:]
y=data.iloc[:,0]

數(shù)據(jù)標準化

# data normalization
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X)
X_s= scaler.transform(X)
X_s[:3]

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?隨機森林模型擬合和評價

from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor(n_estimators=5000, max_features=int(X.shape[1] / 3), random_state=0)
model.fit(X_s,y)
model.score(X_s,y)

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?擬合優(yōu)度也很高,99.96%

下面對比擬合值和真實值

pred = model.predict(X_s)
plt.scatter(pred, y, alpha=0.6)
w = np.linspace(min(pred), max(pred), 100)
plt.plot(w, w)
plt.xlabel('pred')
plt.ylabel('y_test')
plt.title('Comparison of GDP fitted value and true value')

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?可以看到兩者基本都在一條線上,說明效果很好

計算每個變量的重要性

print(model.feature_importances_)
sorted_index = model.feature_importances_.argsort()

Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

畫圖可視化

plt.barh(range(X.shape[1]), model.feature_importances_[sorted_index])
plt.yticks(np.arange(X.shape[1]),X.columns[sorted_index],fontsize=14)
plt.xlabel('X Importance',fontsize=12)
plt.ylabel('covariate X',fontsize=12)
plt.title('Importance Ranking Plot of Covariate ',fontsize=15)
plt.tight_layout()

?Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)

?結(jié)論,影響GDP的變量重要性排序:
稅收>M2>消費>投資>人口>出口進口量>CPI

當然實際科研中也可以選擇更多的變量,隨機森林不怕多重共線性,是要變量越多越好。

創(chuàng)作不易,看官覺得寫得還不錯的話點個關(guān)注和贊吧,本人會持續(xù)更新python數(shù)據(jù)分析領(lǐng)域的代碼文章~(需要定制代碼可私信)文章來源地址http://www.zghlxwxcb.cn/news/detail-489199.html

到了這里,關(guān)于Python數(shù)據(jù)分析案例05——影響經(jīng)濟增長的因素(隨機森林回歸)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • python數(shù)據(jù)分析案例——天貓訂單綜合分析

    python數(shù)據(jù)分析案例——天貓訂單綜合分析

    前言 大家早好、午好、晚好吖 ? ~歡迎光臨本文章 什么是數(shù)據(jù)分析 明確目的–獲得數(shù)據(jù)(爬蟲,現(xiàn)有,公開的數(shù)據(jù))–數(shù)據(jù)預處理——數(shù)據(jù)可視化——結(jié)論 準備 環(huán)境使用: 在開始寫我們的代碼之前,我們要準備好運行代碼的程序 Anaconda (python3.9) – 識別我們寫的代碼 開發(fā)工

    2024年02月03日
    瀏覽(33)
  • Python數(shù)據(jù)分析項目案例

    Python數(shù)據(jù)分析項目案例

    第一部分:數(shù)據(jù)類型處理 數(shù)據(jù)加載 字段含義: user_id:用戶ID order_dt:購買日期 order_product:購買產(chǎn)品的數(shù)量 order_amount:購買金額 觀察數(shù)據(jù) 查看數(shù)據(jù)的數(shù)據(jù)類型 數(shù)據(jù)中是否存儲在缺失值 將order_dt轉(zhuǎn)換成時間類型 查看數(shù)據(jù)的統(tǒng)計描述 在源數(shù)據(jù)中添加一列表示月份:astype(\\\'datetime64[M

    2024年02月11日
    瀏覽(33)
  • 【Python數(shù)據(jù)分析案例】——中國高票房電影分析(爬蟲獲取數(shù)據(jù)及分析可視化全流程)

    【Python數(shù)據(jù)分析案例】——中國高票房電影分析(爬蟲獲取數(shù)據(jù)及分析可視化全流程)

    案例背景 最近總看到《消失的她》票房多少多少,《孤注一擲》票房又破了多少多少… 于是我就想自己爬蟲一下獲取中國高票房的電影數(shù)據(jù),然后分析一下。 數(shù)據(jù)來源于淘票票:影片總票房排行榜 (maoyan.com) 爬它就行。 代碼實現(xiàn) 首先爬蟲獲取數(shù)據(jù): 數(shù)據(jù)獲取 導入包 傳入網(wǎng)

    2024年01月20日
    瀏覽(126)
  • Python數(shù)據(jù)分析案例12——網(wǎng)飛影視劇數(shù)據(jù)分析及其可視化

    Python數(shù)據(jù)分析案例12——網(wǎng)飛影視劇數(shù)據(jù)分析及其可視化

    Netflix是最受歡迎的媒體和視頻流平臺之一。他們的平臺上有超過 8000 部電影或電視節(jié)目。截至 2021 年年中,他們在全球擁有超過 2 億訂閱者。 博主看美劇也較為多,像《怪奇物語》、《性愛自修室》等高分美劇都是網(wǎng)飛的。 對于網(wǎng)飛的影視劇,我們可以分析其電影和電視劇

    2024年02月08日
    瀏覽(24)
  • 公司運營數(shù)據(jù)分析大屏:引領(lǐng)企業(yè)決策,驅(qū)動業(yè)務(wù)增長

    公司運營數(shù)據(jù)分析大屏:引領(lǐng)企業(yè)決策,驅(qū)動業(yè)務(wù)增長

    在數(shù)字化時代,數(shù)據(jù)已經(jīng)成為企業(yè)決策的關(guān)鍵。為了更好地 洞察市場趨勢 、 優(yōu)化業(yè)務(wù)流程 、 提升運營效率 ,越來越多的企業(yè)開始引入數(shù)據(jù)分析大屏以分析公司運營狀況。這一創(chuàng)新舉措不僅改變了傳統(tǒng)的管理模式,更引領(lǐng)企業(yè)邁向智能化決策的新篇章。 公司運營數(shù)據(jù)分析大

    2024年01月16日
    瀏覽(30)
  • Python數(shù)據(jù)分析案例30——中國高票房電影分析(爬蟲獲取數(shù)據(jù)及分析可視化全流程)

    Python數(shù)據(jù)分析案例30——中國高票房電影分析(爬蟲獲取數(shù)據(jù)及分析可視化全流程)

    最近總看到《消失的她》票房多少多少,《孤注一擲》票房又破了多少多少..... 于是我就想自己爬蟲一下獲取中國高票房的電影數(shù)據(jù),然后分析一下。 數(shù)據(jù)來源于淘票票:影片總票房排行榜 (maoyan.com) 爬它就行。 不會爬蟲的同學要這代碼演示數(shù)據(jù)可以參考:數(shù)據(jù) ? 首先爬蟲

    2024年02月08日
    瀏覽(54)
  • Python數(shù)據(jù)分析處理報告--實訓小案例

    Python數(shù)據(jù)分析處理報告--實訓小案例

    目錄 1、實驗一 1.1、題目總覽 1.2、代碼解析 2、實現(xiàn)二 2.1、題目總覽 2.2、代碼解析 3、實驗三 3.1、題目總覽 3.2、代碼解析 4、實驗四 3.1、題目總覽 3.2、代碼解析 哈嘍~ 今天學習記錄的是數(shù)據(jù)分析實訓小案例。 就用這個案例來好好鞏固一下 python 數(shù)據(jù)分析三劍客。 前期準備

    2024年02月10日
    瀏覽(24)
  • Python數(shù)據(jù)分析案例15——超市零售購物籃關(guān)聯(lián)分析(apriori)

    Python數(shù)據(jù)分析案例15——超市零售購物籃關(guān)聯(lián)分析(apriori)

    啤酒和紙尿褲的故事大多數(shù)人都聽說過,紙尿褲的售賣提升了啤酒的銷售額。 關(guān)聯(lián)分析就是這樣的作用,可以研究某種商品的售賣對另外的商品的銷售起促進還是抑制的作用。 案例背景 本次案例背景是超市的零售數(shù)據(jù),研究商品之間的關(guān)聯(lián)規(guī)則。使用的自然是最經(jīng)典的apr

    2023年04月15日
    瀏覽(25)
  • Python數(shù)據(jù)分析案例11——灰色預測法預測時間序列數(shù)據(jù)

    Python數(shù)據(jù)分析案例11——灰色預測法預測時間序列數(shù)據(jù)

    本次案例來自2022華為杯第E題,第2小問。給定了2012.01-2022.03的土壤濕度的月度數(shù)據(jù),需要預測2022.04-2023.12的土壤濕度的月度數(shù)據(jù)。典型的時間序列預測。 傳統(tǒng)的時間序列預測肯定是ARIMA模型,可以參考我之前的文章。Python統(tǒng)計學10——時間序列分析自回歸模型(ARIMA) 現(xiàn)在流行的

    2024年02月06日
    瀏覽(34)
  • Python數(shù)據(jù)分析案例19——上市銀行財務(wù)指標對比

    Python數(shù)據(jù)分析案例19——上市銀行財務(wù)指標對比

    我代碼欄目都是針對基礎(chǔ)的python數(shù)據(jù)分析人群,比如想寫個本科畢業(yè)論文,課程論文,做個簡單的案例分析等。過去寫的案例可能使用了過多的機器學習和深度學習方法,文科的同學看不懂,可能他們僅僅只想用python做個回歸或者畫個圖。本期開始我會更新一些簡單的案例,

    2024年02月08日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包