Rlm () regresyon katsayısı tahminleri R'de neden lm () 'den farklıdır?


15

Çok değişkenli doğrusal bir modeli gerilemek için R MASS paketinde rlm kullanıyorum. Birkaç örnek için iyi çalışır, ancak belirli bir model için yarı-null katsayıları alıyorum:

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)

Karşılaştırma için, bunlar lm () ile hesaplanan katsayılardır:

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 

Lm grafiğinde Cook mesafesiyle ölçüldüğü üzere özellikle yüksek bir aykırı değer görülmüyor:

lm teşhis

DÜZENLE

Referans için ve Macro tarafından sağlanan cevaba göre sonuçları onayladıktan sonra k, Huber tahmincisinde tuning parametresini ayarlamak için R komutu ( k=100bu durumda):

rlm(y ~ x, psi = psi.huber, k = 100)

Kalan standart hatalar, diğer bilgilerle birlikte, rlmağırlık fonksiyonu neredeyse tüm gözlemleri atıyor gibi görünmesini sağlar . İki regresyonda aynı Y olduğundan emin misiniz? (Sadece kontrol ...) deneyin method="MM"senin içinde rlm(yani başarısız olursa) deneyin, çağrı psi=psi.huber(k=2.5)hangi fark çok (2.5 varsayılan 1,345 den sadece daha büyük, isteğe bağlıdır) lmkilo fonksiyonunun benzeri bölge.
— jbowman

@jbowman Y doğru. MM yöntemi eklendi. Sezgim sizin bahsettiğinizle aynı. Bu model kalıntıları, denediğim diğerlerine göre nispeten kompakt. Görünüşe göre metodoloji çoğu gözlemi atmaktadır.
— Robert Kubrick

1
Eğer neyin ayar k 100 anlamak @RobertKubrick araçlarla doğru?
— user603

Buna dayanarak: Çoklu R kare: 0.0182, Düzeltilmiş R kare: 0.01812 modelinizi bir kez daha incelemeniz gerekir. Aykırı değerler, tepkinin dönüşümü veya yordayıcılar. Veya doğrusal olmayan modeli düşünmelisiniz. Öngörücü X3 önemli değildir. Yaptığınız iyi bir doğrusal model değil.
— Marija Milojevic

Yanıtlar:


15

rlm()Mlm()

M

∑i=1nρ(Yi−Xiβσ)

βYiiXii

ρ(x)=x2
rlm()M

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

krlm()k=1.345

Düzenleme: Yukarıda gösterilen QQ çiziminden, çok uzun kuyruklu bir hata dağıtımınız var gibi görünüyor. Huber M tahmincisinin tasarlandığı durum budur ve bu durumda oldukça farklı tahminler verebilir:

ρ|x|<k|x|>k


Birkaç başka model denedim (aynı sayıda gözlem, aynı IV) ve katsayılar rlm ve lm arasında oldukça benzer. Bu özel veri kümesinde katsayılarda büyük fark yaratan bir şey olmalıdır.
— Robert Kubrick

1
k

1
k=1.5,2,2.5,3,3.5,4psi.huberklmrlm
— jbowman

1
Eklenen bilgiler için bu @jbowman - bunlar faydalı yorumlar. Son yorumunuzla ilgili olarak, bu büyük gözlemler tam olarak dışarı atılmıyor - etkileri sadece çevrilmiş (olması gerektiği gibi) değil mi?
— Makro

1
σσ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.