Ich habe diesen R-Code für die lineare Regression:
fit <- lm(target ~ age+sales+income, data = new)
Wie kann man einflussreiche Beobachtungen anhand der Entfernung des Kochs identifizieren und diese aus den Daten in R entfernen?
r
regression
outliers
cooks-distance
user3459010
quelle
quelle
R
denke ich, dass es hier eine aussagekräftige statistische Frage gibt, da verschiedene Kriterien vorgeschlagen wurden, um "einflussreiche" Beobachtungen anhand der Entfernung von Cook zu identifizieren - und einige von ihnen unterscheiden sich stark voneinander. (Nach meiner Erfahrungrlm
identifiziert oder bewertet die von @ Roland referenzierte Funktion, mit deren Code ich bestens vertraut bin, Probleme im Zusammenhang mit einflussreichen Beobachtungen mit kleinen Residuen weder, noch würde ich davon ausgehen, dass Sie dies nicht getan haben Forschung.)Antworten:
Dieser Beitrag hat ungefähr 6000 Aufrufe in 2 Jahren, daher denke ich, dass eine Antwort dringend benötigt wird. Obwohl ich viele Ideen aus der Referenz entlehnt habe, habe ich einige Änderungen vorgenommen. Wir werden die
cars
Daten in verwendenbase r
.Zeichnen wir die Daten mit Ausreißern, um zu sehen, wie extrem sie sind.
Wir können sehen, dass die Regressionslinie nach Einführung der Ausreißer schlecht passt. Lassen Sie uns deshalb Cooks Distanz, um sie zu identifizieren. Ich verwende den traditionellen Cut-Off von . Beachten Sie, dass der Grenzwert Ihnen nur hilft, darüber nachzudenken, was mit den Daten nicht stimmt .4n
Es gibt viele Möglichkeiten, mit Ausreißern umzugehen, wie in der Referenz angegeben. Jetzt möchte ich sie einfach entfernen.
Hurra, wir haben die Ausreißer erfolgreich entfernt ~
Hervorragende Referenz: Ausreißerbehandlung
quelle
# Detecting outliers in cars dataset; fit<- lm(dist ~ speed, data = cars); cars$cooksd <- cooks.distance(fit); # Defining outliers based on 4/n criteria; cars$outlier <- ifelse(cars$cooksd < 4/nrow(cars), "keep","delete")
Dies ist so ziemlich das Gleiche, aber in nur 4 Codezeilen. Die endgültige Ausgabe enthält eine Spalte mit dem Namen Ausreißer, in der "Löschen" angegeben ist, wenn festgestellt wird, dass der Wert ein Ausreißer ist.