Mengapa estimasi koefisien regresi rlm () berbeda dari lm () dalam R?

15

Saya menggunakan rlm dalam paket R MASS untuk mengembalikan model linier multivarian. Ini bekerja dengan baik untuk sejumlah sampel tetapi saya mendapatkan koefisien kuasi-nol untuk model tertentu:

Call: rlm(formula = Y ~ X1 + X2 + X3 + X4, data = mymodel, maxit = 50, na.action = na.omit)
Residuals:
       Min         1Q     Median         3Q        Max 
-7.981e+01 -6.022e-03 -1.696e-04  8.458e-03  7.706e+01 

Coefficients:
             Value    Std. Error t value 
(Intercept)    0.0002   0.0001     1.8418
X1             0.0004   0.0000    13.4478
X2            -0.0004   0.0000   -23.1100
X3            -0.0001   0.0002    -0.5511
X4             0.0006   0.0001     8.1489

Residual standard error: 0.01086 on 49052 degrees of freedom
  (83 observations deleted due to missingness)

Sebagai perbandingan, ini adalah koefisien yang dihitung oleh lm ():

Call:
lm(formula = Y ~ X1 + X2 + X3 + X4, data = mymodel, na.action = na.omit)

Residuals:
    Min      1Q  Median      3Q     Max 
-76.784  -0.459   0.017   0.538  78.665 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -0.016633   0.011622  -1.431    0.152    
X1            0.046897   0.004172  11.240  < 2e-16 ***
X2           -0.054944   0.002184 -25.155  < 2e-16 ***
X3            0.022627   0.019496   1.161    0.246    
X4            0.051336   0.009952   5.159  2.5e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Residual standard error: 2.574 on 49052 degrees of freedom
  (83 observations deleted due to missingness)
Multiple R-squared: 0.0182, Adjusted R-squared: 0.01812 
F-statistic: 227.3 on 4 and 49052 DF,  p-value: < 2.2e-16 

Plm plot tidak menunjukkan pencilan yang terlalu tinggi, yang diukur dengan jarak Cook:

Aku diagnostik

EDIT

Untuk referensi dan setelah mengonfirmasi hasil berdasarkan jawaban yang diberikan oleh Makro, perintah R untuk mengatur parameter tuning k,, dalam estimator Huber adalah ( k=100dalam kasus ini):

rlm(y ~ x, psi = psi.huber, k = 100)
Robert Kubrick
sumber
Kesalahan standar residual, dalam kombinasi dengan informasi lain, membuatnya tampak seolah-olah rlmfungsi bobot membuang hampir semua pengamatan. Apakah Anda yakin itu Y yang sama dalam dua regresi? (Hanya memeriksa ...) Coba method="MM"dalam rlmpanggilan Anda , kemudian coba (jika itu gagal) psi=psi.huber(k=2.5)(2,5 adalah sewenang-wenang, hanya lebih besar dari standar 1,345) yang menyebar- lmseperti wilayah fungsi bobot.
jbowman
@jbowman Y benar. Menambahkan metode MM. Intuisi saya sama dengan yang Anda sebutkan. Residual model ini relatif kompak dibandingkan dengan yang lain yang telah saya coba. Sepertinya metodologi ini membuang sebagian besar pengamatan.
Robert Kubrick
1
@RobertKubrick Anda memahami pengaturan apa yang k 100 berarti , kan?
user603
Berdasarkan ini: Multiple R-squared: 0,0182, Adjusted R-squared: 0,01812 Anda harus memeriksa model Anda sekali lagi. Pencilan, transformasi respons atau prediksi. Atau Anda harus mempertimbangkan model nonlinear. Prediktor X3 tidak signifikan. Apa yang Anda buat bukanlah model linier yang baik.
Marija Milojevic

Jawaban:

15

rlm()Mlm()

M

i=1nρ(YiXiβσ)

βYiiXii

ρ(x)=x2
rlm()M

ρ(x)={12x2if |x|kk|x|12k2if |x|>k.

krlm()k=1.345

Edit: Dari plot QQ yang ditunjukkan di atas, sepertinya Anda memiliki distribusi kesalahan yang sangat panjang. Ini adalah jenis situasi yang dirancang untuk estimator Huber M dan, dalam situasi itu, dapat memberikan perkiraan yang sangat berbeda:

ρ|x|<k|x|>k

Makro
sumber
Saya telah mencoba beberapa model lain (jumlah pengamatan yang sama, infus yang sama) dan koefisien cukup mirip antara rlm dan lm. Pasti ada sesuatu di set data khusus ini yang menghasilkan perbedaan besar dalam koefisien.
Robert Kubrick
1
k
1
k=1.5,2,2.5,3,3.5,4psi.huberklmrlm
Jbowman
1
Itu untuk info tambahan, @jbowman - ini adalah komentar yang berguna. Mengenai dalam komentar terakhir Anda, pengamatan besar itu tidak benar-benar dibuang - pengaruhnya hanya diturunkan (seperti yang seharusnya), kan?
Makro
1
σσ