R語言用於線性回歸的穩健方差估計


 原文鏈接:http://tecdat.cn/?p=6274

 

在這篇文章中,我們將看看如何在實踐中使用R  。為了說明,我們首先從線性回歸模型中模擬一些簡單數據,其中殘差方差隨着協變量的增加而急劇增加:

 n < -  100 
x < -  rnorm(n)
residual_sd < -  exp(x)
y < -  2 * x + residual_sd * rnorm(n)

該代碼從給定X的線性回歸模型生成Y,具有真正的截距0和真實斜率2.然而,殘差標准差已經生成為exp(x),使得殘差方差隨着X的增加而增加。可以直觀地看到這個效果:

 

這使

 

模擬Y對X數據的圖,其中殘差方差隨着X的增加而增加

在這個簡單的情況下,視覺上清楚的是,對於較大的X值,殘差方差要大得多,因此違反了“基於模型”的標准誤差所需的關鍵假設之一。無論如何,如果我們像往常一樣擬合線性回歸模型,讓我們看看結果是什么:

> summary(mod)

 lm(formula = y~x)

      最小1Q中位數3Q最大值
-25.9503 -0.8574 -0.1751 0.9809 13.4015 

系數:
            估計標准。誤差t值Pr(> | t |)     
(截距)-0.08757 0.36229 -0.242 0.809508     
x 1.18069 0.31071 3.800 0.000251 *** 
--- 
Signif。代碼:0'***'0.001'**'0.01'*'0.05'。' 0.1 '' 1 

殘余標准誤差:3.605 98上的自由度的
多R平方:0.1284,調整R平方:0.1195 
F統計:14.44 1和98 DF,p值:0.0002512
 

這表明我們有強有力的證據反對Y和X獨立的零假設。為了便於比較,我們注意到X效果的標准誤差是0.311。

 接下來,我 然后將先前安裝的lm對象傳遞給包中​​的函數,該函數計算 方差估計值:

> vcovHC(mod,type =“HC”)
            (
截距)x (截距)0.08824454 0.1465642 
x 0.14656421 0.3414185
 

得到的矩陣是兩個模型參數的估計方差協方差矩陣。因此,對角線元素是估計的方差(平方標准誤差)。因此,我們可以通過采用這些對角元素和平方根來計算夾心標准誤差:

 > sandwich_se 
(Intercept)x 
  0.2970598 0.5843103

因此,X系數的 標准誤差為0.584。這與先前基於模型的標准誤差0.311形成對比。因為此處殘差方差不是恆定的,所以基於模型的標准誤差低估了估計的可變性,並且夾心標准誤差對此進行了校正。讓我們看看它對置信區間和p值有何影響。為此,我們使用估計量漸近(在大樣本中)正態分布的結果。首先,要獲得置信區間限制,我們可以使用:

> coef(mod)-1.96 * sandwich_se 
(
截距)x -0.66980780 0.03544496 
> coef(mod)+ 1.96 * sandwich_se 
(
  截距)x 0.4946667 2.3259412

因此,X系數的95%置信區間限制為(0.035,2.326)。為了找到p值,我們可以首先計算z-統計量(系數除以它們相應的標准誤差),並將平方z-統計量與一個自由度上的卡方分布進行比較:

 > p_values < -  pchisq(z_stat ^ 2,1,lower.tail = FALSE)
> p_values 
(
 截距)x 0.76815365 0.04331485

我們現在有一個p值表示Y對X的依賴性為0.043,而早期從lm為0.00025得到的p值。 

如果您有任何疑問,請在下面發表評論。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM