@cardinal hat eine Antwort in Kommentaren telegraphiert. Lassen Sie es uns konkretisieren. Sein Standpunkt ist, dass allgemeine lineare Modelle (wie sie von lm
und in diesem Fall implementiert werden glmRob
) zwar dazu gedacht zu sein scheinen, Beziehungen zwischen Variablen zu bewerten, aber auch leistungsfähige Werkzeuge für die Untersuchung einer einzelnen Variablen sein können. Der Trick beruht auf der Tatsache, dass die Regression von Daten gegen eine Konstante nur eine andere Möglichkeit ist, ihren Durchschnittswert ("Ort") zu schätzen .
Generieren Sie beispielsweise einige Poisson-verteilte Daten:
set.seed(17)
x <- rpois(10, lambda=2)
In diesem Fall R
wird der Vektor von Werten aus einer Poisson-Verteilung des Mittelwerts . Schätzen Sie den Standort mit :(1,5,2,3,2,2,1,1,3,1)x
2glmRob
library(robust)
glmrob(x ~ 1, family=poisson())
Die Antwort sagt uns das Intercept bei geschätzt . Natürlich muss jeder, der eine statistische Methode verwendet, wissen, wie sie funktioniert: Wenn Sie verallgemeinerte lineare Modelle mit der Poisson-Familie verwenden, ist die Standardfunktion "Link" der Logarithmus. Dies bedeutet, dass der Achsenabschnitt der Logarithmus des geschätzten Ortes ist. Also berechnen wir0.7268
exp(0.7268)
Das Ergebnis, , liegt deutlich nahe bei : Das Verfahren scheint zu funktionieren. Zeichnen Sie die Daten, um zu sehen, was es tut:2.06852
plot(x, ylim=c(0, max(x)))
abline(exp(0.7268), 0, col="red")
Die angepasste Linie ist rein horizontal und schätzt daher die Mitte der vertikalen Werte: unsere Daten. Das ist alles was los ist.
Um die Robustheit zu überprüfen, erstellen wir einen schlechten Ausreißer, indem wir ein paar Nullen auf den ersten Wert von setzen x
:
x[1] <- 100
Dieses Mal speichern wir für eine größere Flexibilität bei der Nachbearbeitung die Ausgabe von glmRob
:
m <- glmrob(x ~ 1, family=poisson())
Um den geschätzten Durchschnitt zu erhalten, können wir anfordern
exp(m$coefficients)
Der Wert beträgt diesmal : etwas abweichend, aber nicht zu weit entfernt, da der Durchschnittswert von (erhalten als ) beträgt . In diesem Sinne ist dieses Verfahren "robust". Weitere Informationen erhalten Sie über2.496x
mean(x)
12
summary(m)
Sein Ausgang zeigt uns unter anderem, dass das Gewicht mit dem Randwert zugeordnet in nur , fast , Ausreißer des Verdacht ausfindig.100x[1]
0.021790