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:
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=100
trong trường hợp này):
rlm(y ~ x, psi = psi.huber, k = 100)
rlm
hà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"
trongrlm
cuộ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ùnglm
giống như của hàm trọng số.