《Python經(jīng)濟大數(shù)據(jù)分析》Python應用居民消費支出影響因素分析_第1頁
《Python經(jīng)濟大數(shù)據(jù)分析》Python應用居民消費支出影響因素分析_第2頁
《Python經(jīng)濟大數(shù)據(jù)分析》Python應用居民消費支出影響因素分析_第3頁
《Python經(jīng)濟大數(shù)據(jù)分析》Python應用居民消費支出影響因素分析_第4頁
《Python經(jīng)濟大數(shù)據(jù)分析》Python應用居民消費支出影響因素分析_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Python應用:居民消費支出影響因素分析核心知識包括:相關分析;一元線性回歸、多元線性回歸;變量篩選、逐步回歸、殘差分析、殘差圖;居民消費支出影響因素回歸分析。CONTENTS目錄4.1 一元線性回歸4.2 多元線性回歸4.3 應用實例——居民消費支出影響因素分析4.3.1 準備工作4.3.2 一元線性回歸分析4.3.3

多元線性回歸分析4.3.4

逐步回歸分析4.3.5

殘差圖回歸分析(regressionanalysis)是確定兩種或兩種以上變量間相互依賴的定量關系的一種統(tǒng)計分析方法,運用十分廣泛。按照涉及的自變量的多少,可分為一元回歸分析和多元回歸分析;按照自變量和因變量之間的關系類型,可分為線性回歸分析和非線性回歸分析。01PARTONE4.1 一元線性回歸4.1 一元線性回歸一元線性回歸也稱為簡單線性回歸,模型中只有一個自變量和一個因變量,且二者的關系可用一條直線近似表示。主要有兩個目標:一是檢驗自變量在解釋因變量時的顯著性;二是給定自變量,預測因變量。其數(shù)學公式可表示為:其中,

表示因變量,

表示截距,

表示回歸系數(shù),

表示自變量,

表示擾動項。擾動項

一般假設服從均值為0的正態(tài)分布。4.1 一元線性回歸一元線性回歸的原理就是擬合一條直線,使實際值與預測值之差(即殘差)的平方和最小。即:其中,

表示線性回歸的預測值,

表示實際值。通過最小二乘法可得:4.1 一元線性回歸線性回歸擬合優(yōu)度指標:

越大,模型擬合效果越好。需要檢驗回歸系數(shù)是否為0,不為0則為顯著。設原假設:

;備擇假設:

。統(tǒng)計量:02PARTTWO4.2 多元線性回歸4.2 多元線性回歸其中,

是因變量,

是自變量,

代表偏回歸系數(shù),

是隨機誤差項,令

,上式記為:由最小二乘法,目標是使殘差最小。

,

求解得。使用調(diào)整后的評價回歸的優(yōu)劣程度,即:當有截距項時,

等于1,反之等于0;

為用于擬合該模型的觀察值數(shù)量;

為模型中參數(shù)的個數(shù)。還可以使用AIC、BIC、P值等進行評價。4.2 多元線性回歸需要檢驗:(1)偏回歸系數(shù)是否為0,不為0則為顯著。原假設:

;備擇假設:

。(2)回歸系數(shù)是否全部為0。原假設:

;備擇假設:回歸系數(shù)不都為0。統(tǒng)計量服從F分布:

,其中

表示可解釋的變異,

表示不可解釋的變異。03PARTTHREE4.3 案例分析4.3

案例分析數(shù)據(jù)來源于2021年《中國統(tǒng)計年鑒》,數(shù)據(jù)以居民的消費性支出為因變量y,其他11個變量為自變量;其中x1是居民的食品花費,x2是衣著花費,x3是居住花費,x4是生活用品及服務花費,x5是交通通信花費,x6是醫(yī)療保健花費,x7是文教娛樂花費,x8是職工平均工資,x9是地區(qū)的人均GDP,x10是地區(qū)的消費價格指數(shù),x11是地區(qū)的失業(yè)率。在這所有變量里面,x1至x9以及y的單位是元,x11是百分數(shù),x10沒有單位,因為其是消費價格指數(shù)。部分數(shù)據(jù)如右圖:020304054.3 案例分析4.3.2 一元線性回歸分析4.3.3 多元線性回歸分析4.3.4 逐步回歸分析4.3.5 殘差圖014.3.1 準備工作4.3 案例分析4.3.1 準備工作首先引入所需要的包:導入數(shù)據(jù):描述性分析:結(jié)果分析:

y

x1

...

x10

x11count31.000000

31.000000...

31.000000

31.000000mean26080.7612907634.019355...102.3838713.290323std

6043.744309

1519.588470...0.467687

0.580434min

20331.9000005304.400000...101.500000

2.10000025%22530.9000006629.500000...102.150000

2.80000050%24315.2000007194.300000...102.300000

3.30000075%27043.7500008689.400000...102.650000

3.650000max44839.300000

11515.100000...103.6000004.600000importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdimportstatsmodels.apiassmfromstatsmodels.formula.apiimportolsfilename=r'C:\Users\LENOVO\Desktop\Linear1.xlsx'data=pd.read_excel(filename)print(data.describe(include='all'))比如,居民消費支出y的均值為26080.76,標準差為6043.74,最小值為20331.9,最大值為44839.3,25%分位數(shù)為22530.9,50%分位數(shù)為24315.2,75%分位數(shù)為27043.75。其他變量以此類推。4.3 案例分析4.3.1 準備工作相關性分析:結(jié)果分析:yx1x2...x9x10x11y1.0000000.8238980.275984...0.919567-0.348950-0.096938x10.8238981.0000000.034571...0.694428-0.211025-0.088251x20.2759840.0345711.000000...0.235787-0.3452550.133188x30.9572150.7127480.190224...0.933721-0.360224-0.138964x40.8353290.6521910.556369...0.725616-0.271996-0.105099x50.7746990.6855570.374215...0.622800-0.233168-0.138018x60.5361140.1174510.273621...0.564891-0.3043130.100871x70.7379270.5425160.071798...0.635152-0.0923470.000065x80.8684990.6565530.296088...0.828843-0.401231-0.144377x90.9195670.6944280.235787...1.000000-0.344101-0.017143x10-0.348950-0.211025-0.345255...-0.3441011.0000000.020281x11-0.096938-0.0882510.133188...-0.0171430.0202811.000000可以看到,跟因變量y相關性比較高的自變量有x1,x3,x8,x9等。corr1=data[['y','x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11']].corr(method='pearson')print(corr1)4.3 案例分析4.3.2 一元線性回歸選取因變量居民消費性支出(y)與自變量人均GDP(x9)做一元線性回歸:結(jié)果分析:可以看出,回歸系數(shù)0.1774,顯著;截距1.352e+04,顯著?;貧w方程如下:即人均GDP每增加1個單位,居民消費支出y增加0.1774單位。模型的summary會輸出三個表格展示模型概況,包括基本信息、回歸系數(shù)及顯著性、其他模型診斷信息。模型

為0.846,調(diào)整

為0.84,F(xiàn)值為158.8,顯著。對數(shù)似然值為-284.43,AIC和BIC值分別為572.9、575.7。D-W值為2.539,接近2,可以認為模型基本滿足不存在殘差自相關的條件。其他單變量回歸可以類似分析。

OLSRegressionResults=================================================Dep.Variable:yR-squared:0.846Model:OLSAdj.R-squared:0.840Method:LeastSquaresF-statistic:158.8Date:Sat,08Oct2022Prob(F-statistic):2.73e-13Time:14:22:27Log-Likelihood:-284.43No.Observations:31AIC:572.9DfResiduals:29BIC:575.7DfModel:1CovarianceType:nonrobust=================================================

coef

stderr

t

P>|t|

[0.0250.975]------------------------------------------------------------------------------Intercept1.352e+041086.83312.4420.000

1.13e+041.57e+04x9

0.1774

0.014

12.6030.0000.149

0.206

===============================================Omnibus:1.359

Durbin-Watson:2.539Prob(Omnibus):0.507

Jarque-Bera(JB):1.282Skew:

0.439

Prob(JB):

0.527Kurtosis:

2.529

Cond.No.

1.93e+05================================================filename=r'C:\Users\LENOVO\Desktop\Linear1.xlsx'data=pd.read_excel(filename)result1=ols('y~x9',data=data).fit()#模型擬合print(result1.summary())#模型描述4.3 案例分析4.3.2 一元線性回歸接下來進行y和x7的一元線性回歸:結(jié)果分析:

OLSRegressionResults==================================================Dep.Variable:yR-squared:0.545Model:OLSAdj.R-squared:0.529Method:LeastSquaresF-statistic:34.67Date:Sat,08Oct2022Prob(F-statistic):2.17e-06Time:14:22:27Log-Likelihood:-301.20No.Observations:31AIC:606.4DfResiduals:29BIC:609.3DfModel:1CovarianceType:nonrobust==================================================coefstderrtP>|t|[0.0250.975]------------------------------------------------------------------------------Intercept6709.44123373.1571.9890.056-189.4391.36e+04x77.97961.3555.8880.0005.20810.751==================================================Omnibus:8.814Durbin-Watson:1.834Prob(Omnibus):0.012Jarque-Bera(JB):7.315Skew:1.107Prob(JB):0.0258Kurtosis:3.875Cond.No.1.13e+04==================================================filename=r'C:\Users\LENOVO\Desktop\Linear1.xlsx'data=pd.read_excel(filename)result2=ols('y~x7',data=data).fit()#模型擬合print(result2.summary())#模型描述4.3 案例分析4.3.3 多元線性回歸接下來對所有變量做多元線性回歸,先導入數(shù)據(jù)并顯示數(shù)據(jù):結(jié)果分析:yx1x2x3x4...x8x9x10x11041726.38751.41924.017163.12306.7...178178164889101.72.6130894.79122.21860.47770.01804.1...114682101614102.03.6223167.46234.61667.45996.01540.6...7732348564102.13.5320331.95304.41671.04452.31149.4...7473950528102.93.1423887.76690.62123.55149.31472.9...8531072062101.93.8filename=r'C:\Users\LENOVO\Desktop\Linear1.xlsx'data=pd.read_excel(filename)print(data.head())4.3 案例分析4.3.3 多元線性回歸建立多元線性回歸模型:結(jié)果分析:OLSRegressionResults==============================================Dep.Variable:y

R-squared:1.000Model:OLS

Adj.R-squared:1.000Method:LeastSquare

sF-statistic:

1.448e+04Date:

Sat,08Oct2022Prob(F-statistic):7.82e-35Time:

14:22:27

Log-Likelihood:-173.36No.Observations:31

AIC:370.7DfResiduals:

19

BIC:387.9DfModel:

11CovarianceType:nonrobust==============================================

coefstderrtP>|t|[0.0250.975]------------------------------------------------------------------------------Intercept1719.94124006.3550.4290.673-6665.4571.01e+04x11.06250.02249.2740.0001.0171.108x21.16780.09012.9790.0000.9791.356x31.03280.01856.3660.0000.9941.071x40.96820.1257.7600.0000.7071.229x51.05770.03927.2040.0000.9761.139x61.18300.05322.4170.0001.0731.293x70.97520.05617.3920.0000.8581.093x8-0.00280.002-1.5800.131-0.0070.001x9-0.00190.001-1.2640.222-0.0050.001x10-22.920938.627-0.5930.560-103.76757.926x1159.446730.2761.9640.064-3.921122.815==================================================Omnibus:5.470Durbin-Watson:2.377Prob(Omnibus):0.065Jarque-Bera(JB):3.862Skew:0.798Prob(JB):0.145Kurtosis:3.664Cond.No.3.34e+07==============================================可以看到,調(diào)整為1,通過了F檢驗,D-W值為2.377。result3=ols('y~x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11',data=data).fit()#模型擬合print(result3.summary())#模型描述4.3 案例分析4.3.4 逐步回歸

file=r'C:\Users\LENOVO\Desktop\Linear1.xlsx'data=pd.read_excel(file)data.columns=['y','x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11']deflooper(limit):cols=['x1','x2','x3','x4','x5','x6','x7','x8','x9','x10','x11']foriinrange(len(cols)):data1=data[cols]x=sm.add_constant(data1)#生成自變量y=data['y']#生成因變量model=sm.OLS(y,x)#生成模型result=model.fit()#模型擬合pvalues=result.pvalues#得到結(jié)果中所有P值pvalues.drop('const',inplace=True)#把const取得pmax=max(pvalues)#選出最大的P值ifpmax>limit:ind=pvalues.idxmax()#找出最大P值的indexcols.remove(ind)#把這個index從cols中刪除else:returnresultresult=looper(0.05)print(result.summary())注意x1到x11這11個變量被看作是一個整體,y與這個整體有顯著的線性關系,但不代表y與其中的每個自變量都有顯著的線性關系,我們在這里要找出那些與y的線性關系不顯著的自變量,然后把它們剔除,只留下關系顯著的。代碼如下:4.3 案例分析4.3.4 逐步回歸

defforward_select(data,response):remaining=set(data.columns)remaining.remove(response)selected=[]current_score,best_new_score=float('inf'),float('inf')whileremaining:aic_with_candidates=[]forcandidateinremaining:formula="{}~{}".format(response,'+'.join(selected+[candidate]))aic=ols(formula=formula,data=data).fit().aicaic_with_candidates.append((aic,candidate))aic_with_candidates.sort(reverse=True)best_new_score,best_candidate=aic_with_candidates.pop()ifcurrent_score>best_new_score:remaining.remove(best_candidate)selected.append(best_candidate)current_score=best_new_scoreprint('aicis{},continuing!'.format(current_score))else:print('forwardselectionover!')breakformula="{}~{}".format(response,'+'.join(selected))print('finalformulais{}'.format(formula))model=ols(formula=formula,data=data).fit()return(model)candidates=['y',"x1",'x2','x3','x4','x5','x6','x7','x8','x9','x10','x11']data_for_select=data[candidates]lm_m=forward_select(data=data_for_select,response='y')print(lm_m.summary())也可以選擇AIC作為決策的標準,采用向前逐步回歸法,代碼如下:4.3 案例分析4.3.4 逐步回歸篩選變量以后回歸結(jié)果如下:OLSRegressionResults==============================================Dep.Variable:y

R-squared:1.000Model:OLS

Adj.R-squared:1.000Method:LeastSquares

F-statistic:

2.027e+04Date:

Sat,08Oct2022Prob(F-statistic):4.95e-42Time:15:29:49

Log-Likelihood:-178.11No.Observations:31

AIC:372.2DfResiduals:23

BIC:383.7DfModel:7CovarianceType:nonrobust==============================================

調(diào)整為1;通過了F檢驗,方程顯著(回歸系數(shù)不全為0),說明回歸方程有意義;D-W值為2.32,接近2,說明模型不存在殘差自相關?;貧w方程中與因變量y線性相關程度比較高的自變量x9被刪除,其原因可能是x9與其他自變量存在嚴重的多重共線性。coefstderrtP>|t|[0.0250.975]------------------------------------------------------------------------------const-583.9531169.978-3.4350.002-935.580-232.327x11.06600.02150.5010.0001.0221.110x21.24680.08414.8310.0001.0731.421x31.00190.010101.3350.0000.9811.022x40.84290.1207.0440.0000.5951.090x51.02580.03926.4560.0000.9461.106x61.15590.04724.4490.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論