天天看點

最小二乘法多元線性回歸_多元線性回歸,異方差怎麼處理?權重最小二乘法

最小二乘法多元線性回歸_多元線性回歸,異方差怎麼處理?權重最小二乘法
01 研究問題

在建構多重線性回歸模型時,需要滿足4個條件:因變量與自變量之間存線上性關系(Line),各觀測值之間互相獨立(Independence),殘差近似正态分布(Normality),殘差的方差齊(Equal variance),即LINE原則。如果不滿足方差齊性時,應該如何解決?

首先如何判斷殘差的方差齊?即殘差的大小不随預測值水準的變化而變化,通常在分析殘差的時候,可以通過繪制普通殘差或者标準化殘差與預測值的散點圖進行判斷。若殘差方差齊,則如下圖中a的情況,不論預測值的大小,殘差都具有相同的分布,其不随預測值的變化而變化。而如果殘差不齊,則如下圖b所示,殘差的分布随着變量的取值的增大而呈現擴散趨勢。

最小二乘法多元線性回歸_多元線性回歸,異方差怎麼處理?權重最小二乘法
02 方法說明

在多重線性回歸中,我們采用的是普通最小二乘法(OLS)估計參數,對模型中每個觀測點是同等看待的。但是在有些研究問題中,例如調查某種疾病的發病率,以地區為觀測機關,地區的人數越多,得到的發病率就越穩定,因變量的變異程度就越小,而地區人數越少,得到的發病率就越大。在這種情況下,因變量的變異程度會随着自身數值或者其他變量的變化而變化,進而不滿足殘差方差齊性的條件。

為了解決這個問題,我們采用權重最小二乘法(WLS)的方法來估計模型參數,即在模型拟合時,根據資料變異程度的大小賦予不用的權重,對于變異程度較小,測量更準确的資料賦予較大的權重,對于變異程度較大,測量不穩定的資料則賦予較小的權重,進而使權重後回歸直線的殘差平方和最小,確定模型有更好的預測價值。

03 加載資料

某研究人員研究PM2.5濃度與癌症發病率之間的關聯性,以地區為觀測機關,收集40個地區的癌症發病率,PM2.5年平均濃度,人口數量(萬),地區來源(農村=0,城市=1)等資訊。(資料為模拟資料)

最小二乘法多元線性回歸_多元線性回歸,異方差怎麼處理?權重最小二乘法
04 方差齊檢驗
dt <- read.csv('data.csv',stringsAsFactors=F)
fit <- lm(dt$Cancer~.,data=dt)  #建構多元線性回歸
#圖形可視化展示
plot(rstandard(fit)~fitted(fit),xlab='y_fit',ylab = 'y.rst',main='fit')
#采用car包中ncvTest()檢驗
car::ncvTest(fit)  ##p = 0.025278 
           
最小二乘法多元線性回歸_多元線性回歸,異方差怎麼處理?權重最小二乘法

由上圖左一可看出,标準化殘差的變異程度會随着預測值的增大而增大,呈現擴散趨勢,表明殘差不滿足方差齊性的假設。同時,我們采用函數來檢驗方差是否恒定,結果P值<0.05,表明不滿足方差不變的假設。是以需要優化模型。

05 建構權重最小二乘法模型
AIC_ <- c();ID <- c()
for(i in seq(0,5,0.5)){
fit.w <- lm(Cancer~.,weights = 1/Population^i,data = dt)
AIC_ <- c(AIC_,AIC(fit.w));ID <- c(ID,i)}
i <- ID[which.min(AIC_)] ##i =2.5
fit.w <- lm(Cancer~PM2.5+Population+District,weights = 1/Population^i,data = dt)
#做殘差圖
plot(rstandard(fit.w)~fitted(fit.w),xlab='y_fit',ylab = 'y.rst',main='fit.w')
car::ncvTest(fit.w) #p = 0.70338
AIC(fit,fit.w)  ##426.61;413.84
           

根據專業知識和經驗判斷,Population可能是導緻殘差不滿足方差齊性的重要因素,是以需要對該變量進行權重。由于殘差随着預測值增大而增大,是以作一個for循環,幂指數i從0到5,步長為0.5,用來定義weights參數中權重變量的指數,一共建構11個方程,根據AIC選擇最優的拟合指數。

結果顯示幂指數為2.5的時候AIC值最小,以此指數建構的模型殘差圖如上圖右一所示,殘差不随預測值的變化而變化,且函數檢驗的方差P>0.05,說明殘差滿足方差齊性的檢驗。同時,對比兩個模型的AIC值,可發現校正後的模型AIC值變小,說明該模型優于原模型。

06 模型結果

本例模型結果顯示PM2.5平均濃度、不同地區來源(District)和不同人口數量對癌症的發病率的影響都有統計學顯著性(P<0.05),其偏回歸系數較普通最小二乘法更為穩健。

#Coefficients:
#             Estimate Std. Error t value Pr(>|t|)    
#(Intercept) -501.2529   151.2624  -3.314  0.00211 ** 
#PM2.5          4.5189     1.4006   3.226  0.00267 ** 
#Population     1.1607     0.1983   5.854 1.09e-06 ***
#District      30.5269    11.9389   2.557  0.01492 *
#
#Residual standard error: 0.1334 on 36 degrees of freedom
#Multiple R-squared:  0.7889,  Adjusted R-squared:  0.7714 
#F-statistic: 44.86 on 3 and 36 DF,  p-value: 3.018e-12
           

文章在公粽号:易學統計

文章裡的幹貨更多喲

歡迎交流,歡迎提問