Ich habe eine Darstellung der Restwerte eines linearen Modells in Abhängigkeit von den angepassten Werten, wobei die Heteroskedastizität sehr klar ist. Ich bin mir jedoch nicht sicher, wie ich jetzt vorgehen soll, da diese Heteroskedastizität meines Wissens mein lineares Modell ungültig macht. (Ist das richtig?)
Verwenden Sie eine robuste lineare Anpassung, indem Sie die
rlm()
Funktion derMASS
Packung nutzen, da sie offenbar robust gegen Heteroskedastizität ist.Da die Standardfehler meiner Koeffizienten wegen der Heteroskedastizität falsch sind, kann ich einfach die Standardfehler so einstellen, dass sie robust gegenüber der Heteroskedastizität sind. Verwenden Sie die hier auf Stack Overflow angegebene Methode: Regression mit Heteroskedastizität Korrigierte Standardfehler
Welches wäre die beste Methode, um mein Problem zu lösen? Wenn ich Lösung 2 verwende, ist meine Vorhersagefähigkeit meines Modells dann völlig unbrauchbar?
Der Breusch-Pagan-Test bestätigte, dass die Varianz nicht konstant ist.
Meine Residuen in Funktion der angepassten Werte sehen folgendermaßen aus:
(größere Version)
quelle
gls
einer der Varianzstrukturen aus Paket nlme zu modellieren.Antworten:
Es ist eine gute Frage, aber ich denke, es ist die falsche Frage. Ihre Zahl macht deutlich, dass Sie ein grundlegenderes Problem als die Heteroskedastizität haben, dh Ihr Modell weist eine Nichtlinearität auf, die Sie nicht berücksichtigt haben. Viele der potenziellen Probleme, die ein Modell haben kann (Nichtlinearität, Interaktionen, Ausreißer, Heteroskedastizität, Nicht-Normalität), können sich gegenseitig maskieren. Ich glaube nicht, dass es eine feste Regel gibt, aber im Allgemeinen würde ich vorschlagen, Probleme in der Reihenfolge zu behandeln
(Machen Sie sich beispielsweise keine Sorgen über die Nichtlinearität, bevor Sie prüfen, ob es merkwürdige Beobachtungen gibt, die die Anpassung verzerren. Machen Sie sich keine Sorgen über die Normalität, bevor Sie sich um die Heteroskedastizität sorgen.)
In diesem speziellen Fall würde ich ein quadratisches Modell anpassen
y ~ poly(x,2)
(oderpoly(x,2,raw=TRUE)
odery ~ x + I(x^2)
und sehen, ob das Problem dadurch behoben wird.quelle
Ich führe hier eine Reihe von Methoden zum Umgang mit Heteroskedastizität (mit
R
Beispielen) auf: Alternativen zur Einweg-ANOVA für heteroskedastische Daten . Viele dieser Empfehlungen wären weniger ideal, weil Sie eine einzige kontinuierliche Variable anstelle einer mehrstufigen kategorialen Variablen haben, aber es könnte trotzdem hilfreich sein, sie als Übersicht durchzulesen.Für Ihre Situation wären gewichtete kleinste Quadrate (möglicherweise kombiniert mit einer robusten Regression, wenn Sie vermuten, dass es einige Ausreißer gibt) eine vernünftige Wahl. Die Verwendung der Huber-White-Sandwich-Fehler wäre ebenfalls gut.
Hier sind einige Antworten auf Ihre spezifischen Fragen:
quelle
Laden Sie die
sandwich package
und berechnen Sie die var-cov-Matrix Ihrer Regression mitvar_cov<-vcovHC(regression_result, type = "HC4")
(lesen Sie das Handbuch vonsandwich
). Jetzt mitlmtest package
dercoeftest
Funktion:quelle
Wie sieht die Verteilung Ihrer Daten aus? Sieht es überhaupt aus wie eine Glockenkurve? Kann es vom Gegenstand her überhaupt normal verteilt werden? Die Dauer eines Telefonanrufs darf beispielsweise nicht negativ sein. In diesem speziellen Fall von Aufrufen beschreibt eine Gammaverteilung dies gut. Und mit Gamma können Sie verallgemeinertes lineares Modell verwenden (glm in R)
quelle