Tại sao ước tính hệ số hồi quy rlm () khác với lm () trong R?


15

Tôi đang sử dụng rlm trong gói R MASS để hồi quy mô hình tuyến tính đa biến. Nó hoạt động tốt đối với một số mẫu nhưng tôi nhận được hệ số gần đúng cho một mô hình cụ thể:

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)

Để so sánh, đây là các hệ số được tính bằng 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 

Cốt truyện lm không hiển thị bất kỳ ngoại lệ đặc biệt cao nào, được đo bằng khoảng cách của Cook:

chẩn đoán lm

BIÊN TẬP

Để tham khảo và sau khi xác nhận kết quả dựa trên câu trả lời do Macro cung cấp, lệnh R để đặt tham số điều chỉnh k, trong công cụ ước tính Huber là ( k=100trong trường hợp này):

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

Các lỗi tiêu chuẩn còn lại, kết hợp với các thông tin khác, làm cho nó trông như thể rlmhàm trọng số đang ném ra gần như tất cả các quan sát. Bạn có chắc là cùng một chữ Y trong hai hồi quy không? (Chỉ cần kiểm tra ...) Thử method="MM"trong rlmcuộc gọi của bạn , sau đó thử (nếu thất bại) psi=psi.huber(k=2.5)(2.5 là tùy ý, chỉ lớn hơn 1.345 mặc định) trải ra vùng lmgiống như của hàm trọng số.
jbowman

@jbowman Y đúng. Đã thêm phương thức MM. Trực giác của tôi là giống như bạn đề cập. Phần dư mô hình này tương đối nhỏ gọn so với các mẫu khác mà tôi đã thử. Có vẻ như phương pháp này đang loại bỏ hầu hết các quan sát.
Robert Kubrick

1
@RobertKubrick bạn hiểu cài đặt k đến 100 nghĩa là gì , phải không?
user603

Dựa trên điều này: Nhiều bình phương R: 0,0182, Bình phương R đã điều chỉnh: 0,00812 bạn nên kiểm tra mô hình của mình thêm một lần nữa. Outliers, chuyển đổi của các phản ứng hoặc dự đoán. Hoặc bạn nên xem xét mô hình phi tuyến. Dự đoán X3 không đáng kể. Những gì bạn làm không phải là mô hình tuyến tính tốt.
Marija Milojevic

Câu trả lời:


15

rlm()Mlm()

M

i=1nρ(YiXiβσ)

βYiiXii

ρ(x)=x2
rlm()M

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

krlm()k=1.345

Chỉnh sửa: Từ cốt truyện QQ được hiển thị ở trên, có vẻ như bạn có phân phối lỗi rất dài. Đây là loại tình huống mà công cụ ước tính Huber M được thiết kế cho và, trong tình huống đó, có thể đưa ra các ước tính khá khác nhau:

Khi lỗi được phân phối thông thường, các ước tính sẽ được khá tương tự kể từ khi, dưới sự phân phối bình thường, hầu hết các Huber chức năng sẽ thuộc tình hình, đó là tương đương với bình phương nhỏ nhất. Trong tình huống đuôi dài mà bạn gặp phải, nhiều người rơi vào tình huống , đó là một sự khởi hành từ OLS, điều này sẽ giải thích sự khác biệt. | x | < k | x | > kρ|x|<k|x|>k


Tôi đã thử một vài mô hình khác (cùng số lượng quan sát, cùng IV) và các hệ số tương đối giống nhau giữa rlm và lm. Phải có một cái gì đó trong tập dữ liệu cụ thể này đang tạo ra sự khác biệt lớn trong các hệ số.
Robert Kubrick

1
k

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

1
Đó là thông tin bổ sung, @jbowman - đây là những bình luận hữu ích. Về nhận xét cuối cùng của bạn, những quan sát lớn đó không chính xác bị ném ra ngoài - ảnh hưởng của chúng chỉ bị quay số (vì có vẻ như chúng phải như vậy), phải không?
Macro

1
σσ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.