回顧一下計量課上,多元線性回歸模型的基本假定有哪些?
假設1:解釋變量是非隨機的或固定的,且各X之間互不相關(無多重共線性);
假設2:隨機誤差項具有零均值、同方差及不序列相關;
假設3:解釋變量與隨機項不相關;
假設4:隨機項滿足正態分布;
假設5:樣本容量趨於無窮時,各解釋變量的方差趨於有界常數;
假設6:回歸模型的設定是正確的。
如果違背以上假設,那麼我們回歸的統計結果很可能就不正確了。
那麼利用R軟體,如何進行正確而高效的多元線性回歸分析呢?本期我們用R中的lm()函數對個人抽樣數據(有效樣本1219個)進行擬合線性回歸,樣例數據展示如下表:
idincomeyrschhhwktotagegenderhanzuurbanprovince43000117001224.527010435000023500656300105065000340009282801065360004550082.333101036....1312151000542271101351121626006283811051411217120012213711041431218600092126111434612194000531.53511146註:id是個人身份代碼,income是個人收入,yrsch是教育年限,hhwktot是在家休閒時間,age是年齡,gender是性別,hanzu是民族虛擬變量,urban反映戶籍制度,province是指省份。
基於樣本數據,假如我們想探究個人收入和其他因素的關係,包括教育程度、休閒時間、年齡、性別、民族和戶籍。現在我們使用lm()函數擬合多元線性回歸模型。## 加載包library(openxlsx)library(dplyr)library(stargazer)library(car)## 讀取數據pid_data<-read.xlsx("OLS_Data.xlsx")左右滑動查看更多
## 提取關鍵變量corr_data<-as.data.frame(pid_data[,c("income","yrsch","hhwktot","age","gender","hanzu","urban")])## 散點矩陣scatterplotMatrix(corr_data,spread=F,lty.smooth=2)左右滑動查看更多
scatterplotMatrix()函數在非對角線區域繪製變量散點圖,並添加平滑擬合線,對角線區域繪製每個變量的密度圖和軸須圖。從圖1中可以看到,大多數連續變量是正態分布曲線,但都存在一定程度的偏斜。個人收入隨著教育程度和年齡的增加而增加,隨著閒暇時間的增加而減少等等。fit<-lm(log(income)~yrsch+hhwktot+age+gender+hanzu+urban,data=pid_data)summary(fit)
stargazer(fit,type="text", title="Regression Results", dep.var.labels=c("log(income)"), covariate.labels=c("yrsch","hhwktot",'age', "gender","hanzu","urban"), ci=FALSE, ci.level=0.90, single.row=TRUE)左右滑動查看更多
從圖2看,教育年限的回歸係數為0.069,且在1%水平上顯著,表示控制閒暇時間、年齡、性別、民族、戶口不變時,教育程度每增加一年,個人收入將會提升6.9%。此外,F統計量在1%水平上顯著,調整R方為0.347,總體來看,所有預測變量解釋了收入水平34.68%的方差。
上面的擬合回歸模型是不是好的估計呢?我們知道,一個好的回歸模型應當滿足假設前提,包括:自變量要與因變量有線性關係;殘差基本呈正態分布;殘差方差基本不變(同方差性);殘差(樣本)間相互獨立。下面我們用plot()繪圖觀察:
## 回歸診斷par(mfrow=c(2,2))plot(fit)左右滑動查看更多
線性:「殘差圖與擬合圖(Residuals vs Fitted)」反映了因變量和自變量線性相關性,從圖3左上看,兩者存在一個比較清晰的線性關係。正態性:「正態Q-Q圖(Normal Q-Q)」反映了當因變量成正態分布,則殘差值也應該是一個均值為0的正態分布。正態Q-Q圖(圖3右上)是在正態分布對應值下,標準化殘差的概率圖,若滿足正態分布,那麼圖中的點應該落在呈45度角的直線上。同方差性:若滿足不變方差的假設,那麼在位置尺度圖(Scale-Location,圖3左下)中,圍繞曲線周圍的點應該隨機分布。獨立性:我們無法從圖3中分辨出因變量值是否相互獨立,只能從收集的數據進行驗證。你可能會注意到,「殘差與槓桿圖(Residuals vs Leverage,圖3右下)」會向我們傳達哪些信息呢?其實,它反映出樣本的離群點、高槓桿值點和強影響點。從圖3右下觀察,存在著這樣的離群點。相對plot(fit)方法,R中還有更好的R語言包去擬合和評價回歸模型的能力,如cat、gvlma等。_____________________________
文末福利:點擊閱讀原文,下載樣本數據Excel。
►一周熱文
數據呈現丨R畫樹狀圖:一種輕量級方法
因果推斷丨中國學者用雙重差分做了哪些工作?
數據呈現丨R語言相關關係可視化函數梳理
數據呈現丨R語言可視化學習筆記之gganimate包
統計計量丨工具變量法(四):GMM
軟體應用丨經濟學專業學習Python之數據存儲篇
軟體應用丨38個常用Python庫:數值計算、可視化、機器學習等8大領域都有了