Ich benutze rlm im R MASS-Paket, um ein multivariates lineares Modell zu regressieren. Es funktioniert gut für eine Reihe von Samples, aber ich erhalte Quasi-Null-Koeffizienten für ein bestimmtes Modell:
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)
Zum Vergleich sind dies die mit lm () berechneten Koeffizienten:
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
Das lm-Diagramm zeigt keinen besonders hohen Ausreißer, gemessen an Cooks Entfernung:
BEARBEITEN
Als Referenz und nach Bestätigung der Ergebnisse basierend auf der Antwort von Macro k
lautet der R-Befehl zum Einstellen des Abstimmungsparameters im Huber-Schätzer ( k=100
in diesem Fall):
rlm(y ~ x, psi = psi.huber, k = 100)
r
multiple-regression
robust
Robert Kubrick
quelle
quelle
rlm
Gewichtsfunktion fast alle Beobachtungen verwirft. Sind Sie sicher, dass es in den beiden Regressionen dasselbe Y ist? (Nur überprüfen ...) Versuchen Sie esmethod="MM"
mit Ihremrlm
Anruf und versuchen Sie es dann (falls dies fehlschlägt)psi=psi.huber(k=2.5)
(2,5 ist willkürlich, nur größer als der Standardwert von 1,345), der denlm
ähnlichen Bereich der Gewichtsfunktion aufteilt .Antworten:
rlm()
lm()
als eine Funktion von , wobei die -te Antwort ist und die Prädiktoren für einzelne . Kleinste Quadrate sind ein Sonderfall, bei dem Die Standardeinstellung, für die Sie scheinbar verwenden, ist jedoch der Huber Schätzer, der verwendet wirdY i i X i i ρ ( x ) = x 2 Mβ Y.ich ich Xich ich
rlm()
Wobei eine Konstante ist. Der Standardwert in ist . Diese beiden Schätzer minimieren unterschiedliche Kriterien, so dass es keine Überraschung ist, dass die Schätzungen unterschiedlich sind.k = 1,345k k = 1,345
rlm()
Bearbeiten: Aus dem oben gezeigten QQ-Diagramm geht hervor, dass Sie eine sehr lange Fehlerverteilung haben. Dies ist die Art von Situation, für die der Huber M-Estimator ausgelegt ist und in dieser Situation ganz andere Schätzungen liefern kann:
Wenn die Fehler normalverteilt sind, sind die Schätzungen ziemlich ähnlich, da bei der Normalverteilung der größte Teil der Huber -Funktion unter die Situation fällt, die den kleinsten Quadraten entspricht. In der langschwänzigen Situation, die Sie haben, fallen viele in die Situation , die eine Abweichung von OLS darstellt, was die Diskrepanz erklären würde. | x | < kρ | x | <k | x | > k
quelle
psi.huber
lm
rlm