Gibt es eine Version des Korrelationskoeffizienten, die für Ausreißer weniger empfindlich ist?


9

Der Korrelationskoeffizient ist:

r=k(xk- -x¯)(yk- -yk¯)sxsyn- -1

Der Stichprobenmittelwert und die Standardabweichung der Stichprobe sind empfindlich gegenüber Ausreißern.

Auch der Mechanismus, wo,

r=kZeugkn- -1

ist auch eine Art Mittelwert und vielleicht gibt es eine Variation von der, die weniger empfindlich für Variationen ist.

Der Stichprobenmittelwert ist:

x¯=kxkn

Die Standardabweichung der Stichprobe beträgt:

sx=k(xk- -x¯)2n- -1

Ich denke ich will

Der Median:

Median[x]]

Die mittlere absolute Abweichung:

Median[|x- -Median[x]]|]]

Und für die Korrelation:

Median[(x- -Median[x]])(y- -Median[y]])Median[|x- -Median[x]]|]]Median[|y- -Median[y]]|]]]]

Ich habe dies mit einigen Zufallszahlen versucht, aber Ergebnisse größer als 1 erhalten, was falsch zu sein scheint. Siehe den folgenden R-Code.

 x<- c(237, 241, 251, 254, 263)
 y<- c(216, 218, 227, 234, 235)

 median.x <- median(x)
 median.y <- median(y)

 mad.x <- median(abs(x - median.x))
 mad.y <- median(abs(y - median.y))

 r <- median((((x - median.x) * (y - median.y)) / (mad.x * mad.y)))

 print(r)
 ## Prints 1.125

 plot(x,y)

1
Ich bin mir nicht sicher, was Ihre eigentliche Frage ist, es sei denn, Sie meinen Ihren Titel? In diesem Fall ist die Spearman-Korrelation eine Korrelation, die für Ausreißer weniger empfindlich ist. Es ist im Grunde eine Pearson-Korrelation der Ränge.
Ashe

7
Fragen Sie nach einem robusten Schätzer für die übliche Korrelation oder nach einem alternativen Maß für die Ko-Variation , das zufällig robust ist?
whuber

Antworten:


16

Ich denke, Sie wollen eine Rangkorrelation . Diese sind im Allgemeinen robuster gegenüber Ausreißern, obwohl es sich zu erkennen lohnt, dass sie die monotone Assoziation messen, nicht die geradlinige Assoziation. Die bekannteste Rangkorrelation ist die Spearman-Korrelation . Es ist nur Pearsons Produktmomentkorrelation der Reihen der Daten.

Ich würde nicht den Weg gehen, den Sie einschlagen, wenn Sie die Unterschiede der einzelnen Daten aus dem Median ermitteln. Der Median der Verteilung von X kann beispielsweise ein ganz anderer Punkt sein als der Median der Verteilung von Y. Das scheint mir eine Instabilität in der Berechnung zu verursachen.


5

Eine andere Antwort für diskrete im Gegensatz zu kontinuierlichen Variablen , z. B. ganze Zahlen gegenüber Real, ist die Kendall-Rangkorrelation . Im Gegensatz zur Spearman-Rangkorrelation wird die Kendall-Korrelation nicht davon beeinflusst, wie weit die Ränge voneinander entfernt sind, sondern nur davon, ob die Ränge zwischen den Beobachtungen gleich sind oder nicht.

Der Kendall τ-Koeffizient ist definiert als:

τ=(Anzahl der übereinstimmenden Paare)- -(Anzahl nicht übereinstimmender Paare)n(n- -1)/.2

Der Kendall-Rangkoeffizient wird häufig als Teststatistik in einem statistischen Hypothesentest verwendet, um festzustellen, ob zwei Variablen als statistisch abhängig angesehen werden können. Dieser Test ist nicht parametrisch, da er nicht auf Annahmen über die Verteilungen von beruhtX. oder Y. oder die Verteilung von (X.,Y.).

Die Behandlung von Bindungen für die Kendall-Korrelation ist jedoch problematisch, wie aus der Existenz von nicht weniger als drei Methoden zum Umgang mit Bindungen hervorgeht. Eine Bindung für ein Paar {( x iy i ), ( x jy j )} ist, wenn x i = x j oder y i = y j ; Ein gebundenes Paar ist weder konkordant noch diskordant.


2

Dies ist eine Lösung, die für die von IrishStat vorgeschlagenen Daten und Probleme gut funktioniert.

Y.=einx+b+e

Die Idee ist, die Stichprobenvarianz von zu ersetzen Y. durch die vorhergesagte Varianz

σY.2=ein2σx2+σe2
. so dass die Formel für die Korrelation wird
r=ein2σx2ein2σx2+σe2
Der Grund dafür, dass die Korrelation unterschätzt wird, ist, dass der Ausreißer die Schätzung für verursacht σe2aufgeblasen werden. Um dies zu bewältigen, ersetzen Sie die Annahme normalverteilter Fehler in der Regression durch eine normale Mischung
0,952πσexp(- -e22σ2)+0,052π3σexp(- -e218σ2)
Ich habe diese Distribution zum ersten Mal in Hubers Buch Robust Statistics für Robustheit gesehen. Dies ist "mäßig" robust und funktioniert in diesem Beispiel gut. Es hat auch die Eigenschaft, dass es, wenn keine Ausreißer vorhanden sind, Parameterschätzungen erzeugt, die fast identisch mit den üblichen kleinsten Quadraten sind. Durch dieses Verfahren wird implizit der Einfluss des Ausreißers beseitigt, ohne dass die Daten geändert werden müssen. Das Anpassen der Daten ergibt eine Korrelationsschätzung von 0,944812.

Ihre .94 liegt unheimlich nahe an der .94, die ich berechnet habe, als ich y und x umgekehrt habe. Ist das Zufall?
IrishStat

Ich denke, es ist nur Zufall.
Dave Fournier

1

Meine Antwort geht davon aus, dass das OP noch nicht weiß, welche Beobachtungen Ausreißer sind, denn wenn das OP dies tun würde, wären Datenanpassungen offensichtlich. Ein Teil meiner Antwort befasst sich daher mit der Identifizierung der Ausreißer.

Wenn Sie ein OLS-Modell erstellen (y gegen x) erhalten Sie einen Regressionskoeffizienten und anschließend den Korrelationskoeffizienten. Ich denke, es kann von Natur aus gefährlich sein, die "Gegebenheiten" nicht herauszufordern. Auf diese Weise verstehen Sie, dass der Regressionskoeffizient und seine Geschwister auf keinen Ausreißern / ungewöhnlichen Werten beruhen. Wenn Sie nun einen Ausreißer identifizieren und Ihrem Regressionsmodell einen geeigneten 0/1-Prädiktor hinzufügen, wird der resultierende Regressionskoeffizient für diexist jetzt gegenüber dem Ausreißer / der Anomalie robust. Dieser Regressionskoeffizient für diexist dann "wahrer" als der ursprüngliche Regressionskoeffizient, da er vom identifizierten Ausreißer nicht kontaminiert wird. Beachten Sie, dass keine Beobachtungen dauerhaft "weggeworfen" werden. es ist nur eine Anpassung für dieyWert ist implizit für den Punkt der Anomalie. Dieser neue Koeffizient für diex kann dann in eine robuste umgewandelt werden r.

Eine alternative Sichtweise hierfür ist nur die Anpassung y Wert und ersetzen Sie das Original y Wert mit diesem "geglätteten Wert" und führen Sie dann eine einfache Korrelation aus.

Dieser Vorgang müsste wiederholt durchgeführt werden, bis kein Ausreißer mehr gefunden wird.

Ich hoffe, diese Klarstellung hilft den Nachwählern, das vorgeschlagene Verfahren zu verstehen. Vielen Dank an whuber, der mich zur Klärung gedrängt hat. Wenn noch jemand Hilfe dabei braucht, kann man immer a simuliereny,x Datensatz und injizieren Sie einen Ausreißer an einem bestimmten x und befolgen Sie die vorgeschlagenen Schritte, um eine bessere Schätzung von zu erhalten r.

Ich freue mich über Kommentare dazu, als ob sie "falsch" wären. Ich würde gerne wissen, warum dies hoffentlich durch ein numerisches Gegenbeispiel unterstützt wird.

BEARBEITET, UM EIN EINFACHES BEISPIEL ZU PRÄSENTIEREN:

Ein kleines Beispiel wird ausreichen, um die vorgeschlagene / transparente Methode zum „Erhalten einer Version von r, die für Ausreißer weniger empfindlich ist“ zu veranschaulichen, die die direkte Frage des OP ist. Dies ist ein leicht zu befolgendes Skript, das Standard-Ols und einige einfache Arithmetik verwendet. Denken Sie daran, dass B der ols-Regressionskoeffizient gleich r * [sigmay / sigmax] ist.

Betrachten Sie die folgenden 10 Beobachtungspaare.

Geben Sie hier die Bildbeschreibung ein

Und grafisch

Geben Sie hier die Bildbeschreibung ein

Der einfache Korrelationskoeffizient beträgt 0,75 mit sigmay = 18,41 und sigmax = 0,38

Nun berechnen wir eine Regression zwischen y und x und erhalten Folgendes

Geben Sie hier die Bildbeschreibung ein

Wobei 36,538 = 0,75 * [18,41 / 0,38] = r * [Sigmay / Sigmax]

Die Ist- / Anpassungstabelle schlägt eine erste Schätzung eines Ausreißers bei Beobachtung 5 mit einem Wert von 32,799 vor. Geben Sie hier die Bildbeschreibung ein

Wenn wir den 5. Punkt ausschließen, erhalten wir das folgende Regressionsergebnis

Geben Sie hier die Bildbeschreibung ein

Dies ergibt eine Vorhersage von 173,31 unter Verwendung des x-Werts 13,61. Diese Vorhersage legt dann eine verfeinerte Schätzung des Ausreißers wie folgt nahe; 209-173,31 = 35,69.

Wenn wir jetzt die ursprünglichen 10 Werte wiederherstellen, aber den Wert von y in Periode 5 (209) durch den geschätzten / bereinigten Wert 173,31 ersetzen, erhalten wir Geben Sie hier die Bildbeschreibung ein

und Geben Sie hier die Bildbeschreibung ein

Neu berechnet r erhalten wir den Wert .98 aus der Regressionsgleichung

r = B * [Sigmax / Sigmay] .98 = [37.4792] * [.38 / 14.71]

Somit haben wir jetzt eine Version oder r (r = 0,98), die bei Beobachtung 5 weniger empfindlich für einen identifizierten Ausreißer ist. Hinweis: Das oben verwendete Sigmay (14.71) basiert auf dem angepassten y in Periode 5 und nicht auf dem ursprünglich kontaminierten Sigmay (18.41). Der Effekt des Ausreißers ist aufgrund seiner geschätzten Größe und der Stichprobengröße groß. Was wir hatten, waren 9 Messpaare (1-4; 6-10), die stark korreliert waren, aber der Standard r wurde vom Ausreißer bei Obervation 5 verschleiert / verzerrt.

Es gibt einen weniger transparenten, aber nicht leistungsfähigen Ansatz zur Lösung dieses Problems, nämlich die Verwendung des TSAY-Verfahrens http://docplayer.net/12080848-Outliers-level-shifts-and-variance-changes-in-time-series.html to Suchen und beheben Sie alle Ausreißer in einem Durchgang. Beispielsweise wird Geben Sie hier die Bildbeschreibung einvorgeschlagen, dass der Ausreißerwert 36,4481 beträgt, sodass der angepasste Wert (einseitig) 172,5419 beträgt. Eine ähnliche Ausgabe würde eine tatsächliche / bereinigte Grafik oder Tabelle erzeugen.Geben Sie hier die Bildbeschreibung ein. Tsays Verfahren überprüft tatsächlich iterativ jeden einzelnen Punkt auf "statistische Wichtigkeit" und wählt dann den besten Punkt aus, der angepasst werden muss. Zeitreihenlösungen sind sofort anwendbar, wenn in den Daten keine Zeitstruktur erkennbar ist oder möglicherweise angenommen wird. Was ich tat, war, die Einbeziehung eines Zeitreihenfilters zu unterdrücken, da ich Domänenwissen hatte / "wusste", dass es im Querschnitt ienon-longitudinal erfasst wurde.


1
Was hat Korrelation mit Zeitreihen, "Impulsen", "Pegelverschiebungen" und "saisonalen Impulsen" zu tun?
whuber

4
Da die Zeit im Allgemeinen nicht an der Regression beteiligt ist, wird nicht einmal etwas so Einfaches wie ein Autokorrelationskoeffizient definiert. Sie können nicht jedes statistische Problem wie eine Zeitreihenanalyse aussehen lassen!
whuber

4
@Engr Ich fürchte, diese Antwort wirft die Frage auf. Es gibt mehrere Probleme, von denen das größte darin besteht, dass es kein Verfahren zur Identifizierung eines "Ausreißers" bietet. Ein weiterer Grund ist, dass der Vorschlag, die Prozedur zu wiederholen, ungültig ist. Bei vielen Ausreißererkennungsprozeduren wird der Datensatz auf nur zwei Punkte reduziert.
whuber

4
Ich befürchte, dass der vorliegende Vorschlag von Natur aus gefährlich ist, insbesondere für naive oder unerfahrene Benutzer, zumindest aus den folgenden Gründen (1) wie Ausreißer objektiv identifiziert werden können (2) das wahrscheinliche Ergebnis sind zu komplizierte Modelle, die auf Ad-hoc- Entscheidungen beruhen (3) Prozedur kann nicht konvergieren oder nicht gut konvergieren. Anfänger identifizieren Ausreißer normalerweise zu stark und nutzen Transformationen und / oder Nicht-Identitäts-Link-Funktionen zu wenig, um sie zu zähmen.
Nick Cox

3
Keine Beleidigung beabsichtigt, @Carl, aber Sie sind in der Stimmung zu schimpfen, und ich bin es nicht und ich versuche, mich hier zu lösen. Wenn es umgekehrt ist und es sein kann, bin ich nicht überrascht, wenn die Leute mich ignorieren. Wenn ich zu implizieren scheine, dass Transformation alle Probleme löst, dann können Sie sicher sein, dass ich das nicht so meine.
Nick Cox
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.