Der Korrelationskoeffizient ist:
Der Stichprobenmittelwert und die Standardabweichung der Stichprobe sind empfindlich gegenüber Ausreißern.
Auch der Mechanismus, wo,
ist auch eine Art Mittelwert und vielleicht gibt es eine Variation von der, die weniger empfindlich für Variationen ist.
Der Stichprobenmittelwert ist:
Die Standardabweichung der Stichprobe beträgt:
Ich denke ich will
Der Median:
Die mittlere absolute Abweichung:
Und für die Korrelation:
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)
regression
correlation
outliers
median
mad
Steven Stewart-Gallus
quelle
quelle
Antworten:
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.
quelle
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:
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 i , y i ), ( x j , y j )} ist, wenn x i = x j oder y i = y j ; Ein gebundenes Paar ist weder konkordant noch diskordant.
quelle
Dies ist eine Lösung, die für die von IrishStat vorgeschlagenen Daten und Probleme gut funktioniert.
Die Idee ist, die Stichprobenvarianz von zu ersetzenY. durch die vorhergesagte Varianz
quelle
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 diex ist jetzt gegenüber dem Ausreißer / der Anomalie robust. Dieser Regressionskoeffizient für diex ist 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 diey Wert 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 Anpassungy 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.
Und grafisch
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
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.
Wenn wir den 5. Punkt ausschließen, erhalten wir das folgende Regressionsergebnis
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
und
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 vorgeschlagen, 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.. 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.
quelle