Cooks Distanz bei der Erkennung von Ausreißern


7

Nach meinem Verständnis misst Cooks Abstand den Einfluss jeder Beobachtung, indem Punkte bei der Anpassung eines Modells ausgeschlossen werden. Ich gehe also davon aus, dass dies ein vernünftiger Ansatz für die Erkennung von Ausreißern sein könnte.

Meine Fragen, vorausgesetzt, die Daten sind in Gruppen eingeteilt. Ist es möglich, Cooks Entfernung zum Erkennen der "Ausreißer" -Gruppe anstelle des Ausreißerpunkts zu verwenden? Ist Cooks Abstand eine gute Wahl für den Einfluss von Messgruppen?


Können Sie eine Faktorvariable für die Gruppierung erstellen und dann Diagramme erstellen?
Jchaykow

Vielen Dank, ich habe gerade bemerkt, dass es eine Gruppenoption gibt influence(). Ich habe noch eine Frage zur Schwelle. Da das übliche 4 / N "zu empfindlich" ist, erkennt man Ausreißer, während ich mich nur um extrem einflussreiche Gruppen / Punkte kümmere. @ Jchaykow
Roy C

1
Für kleinere Datensätze kann Cooks D-Cutoff 1 sein.
jchaykow

@jchaykow Es funktioniert gut mit einigen meiner Datensätze, aber nicht wirklich kleinen Datensätzen. Ich werde es später bei anderen versuchen. Ist es eine Faustregel und wie soll ich diesen Cutoff interpretieren? Vielen Dank.
Roy C

Antworten:


3

Wie Sie sagten, misst Cook's Distance die Änderung der Regression, indem jeder einzelne Punkt entfernt wird. Wenn sich die Dinge durch das Weglassen eines einzelnen Punktes erheblich ändern, hatte dieser Punkt großen Einfluss auf Ihr Modell. Definieren Sie als den angepassten Wert für die j-te Beobachtung, wenn die i-te Beobachtung aus dem Datensatz gelöscht wird. Cook's Distance misst, wie sehr alle Vorhersagen ändere.Y^j(i)i

Di=j=1nY^jY^j(i))2pMSE
=ei2pMSE[hii(1hii)2]

Wenn , ist es extrem (für kleine bis mittlere Datensätze).Di1

Cook's Distance zeigt die Auswirkung des i-ten Falls auf alle angepassten Werte. Beachten Sie, dass der i-te Fall durch beeinflusst werden kann

  1. großes und mäßigeseihii

  2. mäßiges und großeseichhichich

  3. big und bigeichhichich

Verwenden Sie in R das influence.measuresPaket mitcooks.distance(model)


Vielen Dank für die Klarstellung der Definition. Aber meine Frage ist mehr darüber, ob der
Roy C

@DaisyLee Ihr Kommentar wurde abgeschnitten
jchaykow

Lol, habe gerade bemerkt, dass du es bist. Vielen Dank für die Klarstellung der Definition. Ich möchte fragen, ob die Idee, die Verwendung von Cooks Entfernung zur Erkennung der Ausreißergruppe anstelle einiger Punkte zu erweitern, falsch oder vernünftig ist. Und wie denken Sie über die Verwendung von Boxplot / IQR, um extrem einflussreiche Kochentfernungen zu verringern?
Roy C

1
Die Verwendung von Cook's Distance funktioniert je nach Art der Methode nicht (dh jeder Punkt wird einzeln entfernt). Wenn Sie einfach mit sd oder einer ähnlichen Methode wie oben angegeben nach Ausreißern einer Variablen suchen möchten, die auf Ihren Gruppen basiert, ist dies kein Problem ... df1 = df%>% group_by (Gruppierung)%>% filter (! ( abs (Wert - Median (pred1))> 2 * sd (pred1))%>% summary_each (funs (Mittelwert), pred1)
jchaykow

@DaisyLee darüber hinaus habe ich leider keine Ideen mehr. Vielleicht kann jemand anderes mehr helfen.
Jchaykow

1

Cooks D ist bei der Erkennung von Ausreißerclustern unwirksam, da das Entfernen eines dieser Ausreißer das Modell nicht zu stark beeinflusst (es gibt noch andere Ausreißer).

Sie können den Rest als Maß verwenden, das für Cluster empfindlich ist. Eine einfache Implementierung von k-means ist ebenfalls effektiv.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.