Ist die Spearman-Rangkorrelation eine Verschlimmbesserung?

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
consuli
Beiträge: 340
Registriert: Mo Okt 10, 2016 8:18 pm

Ist die Spearman-Rangkorrelation eine Verschlimmbesserung?

Beitrag von consuli » Sa Jun 02, 2018 1:19 pm

Hallo!

Dieser Thread ist eine Folgefrage des Threads "Grafische Darstellung Spearman-Korrelation", initiert von tobifragt.

In jenem Thread hatte Tobifragt nach einer grafischer Darstellung für die Spearman-Rangkorrelation gesucht. Bekanntlich kann man die Pearson-Produkt-Moment-Korrelation grafisch in einem x-y-Scatterplot-Plot darstellen. Insofern suchten wir nach einem vergleichbarem Scatterplot für die Spearman-Korrelation.


In diesem Zusammenhang wurden unter anderen folgende Punkte erörtert:

1.
Die Spearman Rangkorrelation ist genau eine Pearson Korrelation für Ränge.
https://de.wikipedia.org/wiki/Rangkorrelationskoeffizient#Spearmans_Rangkorrelationskoeffizient hat geschrieben: Im Prinzip ist ρ ein Spezialfall von Pearsons Produkt-Moment-Korrelationskoeffizient, bei dem die Daten in Ränge konvertiert werden, bevor der Korrelationskoeffizient berechnet wird.

2. Die Pearson-Produkt-Moment-Korrelation lässt sich als Mittelwert des iterativen Produkts zweier standardisierter Variablen darstellen:
rho= Cov(x, y) / (s(x)* s(y))
<=>
rho= 1/ n* Summe [(x-E(x)) * (y-(E(x))] / (s(x)* s(y))
<=>
rho= 1/n * Summe [ (x- E(x))/ s(x) * (y-E(y)) / s(y) ]

mit
E(x): Erwartungswert von x
s(x): Standardabweichung von x
Summe: Summationsoperator

3. Betreffend die Frage "Grafische Darstellung der Spearman-Rangkorrelation" kam vorläufig folgendes Zwischenergebnis heraus:
Ja, man kann Ränge in einem x-y-Scatterplott auftragen.

Aber:
  • Zwar ergibt sich bei vollständiger Rangkorrelation (rho=1) genauso eine x-y-Linie wie bei Nicht-Rängen.
  • Bei nicht vorhandener Rangkorrelation (rho=0) ergibt sich aber eine Art Gleichverteilung in dem Rechteck der x und y Ränge (wenn man von deren diskreten Ausprägungen absieht); keine runde Punktwolke wie bei normalverteilter Intervallskala.
  • Dem Adressaten eines solchen x-y-Plots kann man keine grafische Hilfestellung geben, wie ein x-y-Plot von teilweisen Korrelationen (z.B. rho=0.2, rho=0.4, rho=0.6, rho=0.8) vergleichsweise aussehen würde; zum einen weil es keine bivariate korrelierte Gleichverteilung gibt; zum anderen weil die Spearman-Korrelation ihrer Konstruktion nach eine Produkt-Momenten-Korrelation ist (die Korrelationsmessung leitet sich also im wesentlichen aus großen Abweichungsmomenten vom Mittelwert bzw. mittleren Rang ab während kleine Abweichungsmomenten untergewichtet werden).

Lassen wir das erstmal sacken.


Consuli
Thanks to Steven for bringing up the best explanation for the existence and the origin of the universe, though. Especially for been a lighthouse of will-power still shining on, not only for disabled people, but any (beautiful minded) person.

consuli
Beiträge: 340
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Ist Spearman-Rangkorrelation eine Verschlimmbesserung?

Beitrag von consuli » Sa Jun 02, 2018 1:36 pm

Jetzt kommen die tiefergehenden Zusatzfragen:

Nach der gängigen Good-Practice war tobifragt für seine nicht-normalverteilten Daten auf den Spearman-Rangkorrelationskoeffizienten ausgewichen. Denn die Normalverteilung ist eine Voraussetzung für die Anwendung der Pearson-Produkt-Moment-Korrelation. Bei fehlen der Normalverteilung wird nach der gängigen Good-Practice das Ausweichen auf den Rangkorrelationskoeffizienten empfohlen.

Wenn nun die Spearman-Rangkorrelation in Wirklichkeit aber eine Pearson-Korrelation auf Rängen ist, und die Normalverteilung eine Voraussetzung für diese ist, stellt sich dann nicht die berechtigte Frage, ob die abgeleiteten Ränge einer Normalverteilung ähnlicher sind oder die nicht-normalverteilten Originaldaten (von tobifragt)?

Meiner Auffassung nach ist eine Gleichverteilung von Rängen - im vorliegenden Fall das Produkt zweier gleichverteilter Ränge - nämlich stets am weitesten von einer Normalverteilung entfernt.

Was bedeuten im Ergebnis würde, dass die Normalverteilungsvoraussetzung bei der Spearman-Rangkorrelation am stärksten verletzt würde.


Erstmal sacken lassen.


Consuli
Thanks to Steven for bringing up the best explanation for the existence and the origin of the universe, though. Especially for been a lighthouse of will-power still shining on, not only for disabled people, but any (beautiful minded) person.

bigben
Beiträge: 626
Registriert: Mi Okt 12, 2016 9:09 am

Re: Ist die Spearman-Rangkorrelation eine Verschlimmbesserung?

Beitrag von bigben » Sa Jun 02, 2018 6:54 pm

Hi consuli,

vordergründig erscheint es so, als hätte Dein Post nichts mit R zu tun. Pragmatisch würde ich Dir aber als Antwort raten: Vertraue auf R!

Der Korrelationskoeffizienten von Pearson und der von Spearman sind ja zunächst einmal unabhängig davon, ob die Daten multivariat-normalverteilt sind. Das ist eine Frage für die Signifikanztests. Die Hilfeseite zu cor.test beschreibt ganz klar, dass cor.test für die Signifikanztestung unterschiedlich durchgeführt wird, je nachdem, ob man eine Pearson, eine Kendall oder eine Spearman-Korrelation berechnet.

Das folgende Beispiel erzeugt denn auch identische Rankkorrelationswerte aber abweichende p-Werte:

Code: Alles auswählen

set.seed(4711)
x <- 5*rbeta(10, 20, 1)
y <- x+rbeta(10, 20, 2)

cor.test(x, y, method="spearman")
cor.test(rank(x), rank(y), method="pearson")
Ich habe ein tiefes Vertrauen, dass die Macher von R einen geeigneten Signifikanztest für normalverteilte Werte und einen geeigneten Signifikanztest für gleichverteilte Ränge gefunden und in cor.test eingebaut haben. Wenn Dir "algorithm AS 89" aus irgendeinem Grund nicht passen sollte, könntest Du mit überschaubarem Aufwand einen Permutationstest bauen, wie ihn beispielsweise die Wikipedia empfiehlt ( https://de.wikipedia.org/wiki/Rangkorre ... ignifikanz )


LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

consuli
Beiträge: 340
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Ist die Spearman-Rangkorrelation eine Verschlimmbesserung?

Beitrag von consuli » Sa Jun 02, 2018 9:21 pm

Danke bigben. Zum besseren Verständnis für alle fasse ich Deine These nochmal zusammen.

So wie ich Dich verstanden habe, meinst Du:
  1. Die schlechtere Normalverteilung von Rängen wirkt sich nicht auf die systematische Lage des Parameterschätzers Spearman-Korrelation aus (kein bias).
  2. Sondern nur auf dessen Standardfehler (Inferenzstatistik)
Dem halte ich nun entgegen:
  • Warum soll ich denn überhaupt erst auf die Spearman-Korrelation ausweichen, wenn sie einen höheren Standardfehler (eine schlechtere Inferenzstatistik) als die Pearson-Korrelation hat?
Da eine Gleichverteilung (gleichverteilte Ränge) am stärksten von der Normalverteilung abweicht, und diese eine Annahme ist, wird eine Gleichverteilung folglich auch die höchsten Standardfehler produzieren.

Der Bezug zu R ist also: Sollte man bei nicht-normalverteilten Daten überhaupt - wie tobifragt - von cor(method="p")auf cor(method="s") ausweichen, oder sollte man besser bei cor(method="p") bleiben?

Die aktuelle Good-Practice sagt - mutmaßlich in Missverständnis der Spearman-Korrelation - ja. (Weil sie davon ausgeht, dass die Spearman-Korrelation für Rangdaten genau adäquat wäre; in Wirklichkeit ist sie aber nur eine Notlösung mit vielen Kompromissen.)

Ich sage - aufgrund der tiefergehenden Analyse der Konstruktion der Spearman-Korrelation - nein.

Consuli
Thanks to Steven for bringing up the best explanation for the existence and the origin of the universe, though. Especially for been a lighthouse of will-power still shining on, not only for disabled people, but any (beautiful minded) person.

bigben
Beiträge: 626
Registriert: Mi Okt 12, 2016 9:09 am

Re: Ist die Spearman-Rangkorrelation eine Verschlimmbesserung?

Beitrag von bigben » Sa Jun 02, 2018 10:55 pm

Sorry consuli,

ich verstehe leider gar kein bisschen, welches Problem Du lösen willst oder in welcher Richtung Du überhaupt unterwegs bist. Kannst Du einem Simpel wie mir erklären, worum es in diesem Thread geht :?: Pearson und Spearman sind zwei verschiedene Korrelationsmaße, die verschiedene Fragestellungen beantworten. Autofahren ist keine Verschlimmbesserung von Rollschuhfahren. Es ist etwas ganz anderes, was zu anderen Gelegenheiten aus anderen Gründen gemacht wird. Gelegentlich gibt es mal Überschneidungen im Anwendungsfall, aber keines ist per se schlechter.

Pearson erfordert ein Skalenniveau, das Spearman nicht erfordert. Pearson beantwortet die Frage, wie linearer ein Zusammenhang ist, Spearman die Frage, wie eng ein "je größer, desto größer" Zusammenhang ist.

Beide liefern nicht nur ein Maß für den Zusammenhang, sondern werden in R routinemäßig mit Tests ausgeliefert - wegen unterschiedlicher Verteilungsannahmen mit unterschiedlichen Tests. Deshalb ist nicht automatisch eines besser als das andere, deshalb ist nicht automatisch die Testung in einem Fall schlechter als im anderen.

Wenn man mit Bezug auf Verteilungen irgendwas besser finden wollte, dann genau anders herum: Die Testung des Pearsonkoeffizienten mittels t-Verteilung unterstellt mulitvariate Normalverteilung, die man im konkreten Fall eigentlich nicht testen kann. Die Testung des Spearman-Koeffizienten berücksichtigt die Gleichverteilung von Rängen im Falle der H0, macht also keine untestbaren Verteilungsannahmen.

Warum soll ich denn überhaupt erst auf die Spearman-Korrelation ausweichen, wenn sie einen höheren Standardfehler (eine schlechtere Inferenzstatistik) als die Pearson-Korrelation hat?
Du fragst mich jetzt nicht wirklich, wann man eine Spearman-Korrelation rechnet? Eine Spearman-Korrelation rechne ich, wenn mindestens eines der zu prüfenden Maße nur ordinales Skalenniveau hat und eine Spearman-Korrelation rechne ich dann, wenn mich Linearität nicht interessiert.
"Häufiges Zähneputzen geht mit wenig Karies einher" ist eine naheliegende und vernünftige Hypothese, in der Linearität nicht vorkommt und auch gar nicht zu erwarten ist. Natürlich wird das erste Zähneputzen einen viel größeren Effekt haben als das zweite und das dritte Mal.

Und wenn Dir so an Signifikanztests gelegen ist, dann kannst Du ja aufbei beiden auf Permutationstests ausweichen - liefert zwar nur asymptotisch korrekte p-Werte, die dafür aber weitgehend ohne Verteilungsannahmen.
Die schlechtere Normalverteilung von Rängen wirkt sich nicht auf die systematische Lage des Parameterschätzers Spearman-Korrelation aus (kein bias).
Ich weiß nicht, was Du mir mit dem Satz sagen willst. Ränge sind nicht "schlechter Normalverteilt" so wie "Nacht" nicht "schlechterer Sonnenschein" ist. Sie sind halt überhaupt nicht normalverteilt. Ding sind ja nich deshalb gut oder schlecht, weil sie normalverteilt sind. Was an dieser Stelle ein bias und was eine systematische Lage ist, verstehe ich nicht. Wenn ich was anderes berechne, kommt halt was anderes heraus :!: :?:

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

consuli
Beiträge: 340
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Ist die Spearman-Rangkorrelation eine Verschlimmbesserung?

Beitrag von consuli » So Jun 03, 2018 4:31 pm

consuli hat geschrieben:
Sa Jun 02, 2018 9:21 pm
  • Warum soll ich denn überhaupt erst auf die Spearman-Korrelation ausweichen, wenn sie einen höheren Standardfehler (eine schlechtere Inferenzstatistik) als die Pearson-Korrelation hat?
Hier mal ein R Programm, dass exemplarisch aufzeigt, dass sich die Spearman-Korrelation (nach der Konstruktion Pearson-Korrelation auf Rängen) von der originale Pearson-Korrelation stärker unterscheidet als eine lineare Korrelation auf Rängen von einer originalen linearen Korrelation.

Code: Alles auswählen

# Intuitive Version der Pearson Korrelation (Herleitung)
corpearson= function (x, y){
  xstd= (x- mean(x)) / sqrt( mean( (x-mean(x))^2 ) )
  ystd= (y- mean(y)) / sqrt( mean( (y-mean(y))^2 ) )
  xy= xstd* ystd    # Potenzordnung 2
  return(mean(xy))
  }

# Lineare Korrelation
corlin= function (x, y){
  xstd= (x- mean(x)) / mean(abs(x-(mean(x)) ))
  ystd= (y- mean(y)) / mean(abs(y-(mean(y)) ))
  xyc= as.complex(xstd* ystd)^ 0.5   # Potenzordnung 1
  xy= Re(xyc)+Im(Conj(xyc))
  return(mean(xy))
}


# Korrelierte Testdaten erzeugen
set.seed(1.234)
# set.seed(123456)

n= 100

# rho= 1.00
# rho= 0.75
# rho= 0.50
rho= 0.25
# rho= 0.00

w1= rnorm(n, mean=0, sd=1)
w2= rnorm(n, mean=0, sd=1)
x1= w1
x2= rho*w1 + sqrt(1-rho^2)*w2
# Kontrolle:
w1
w2
x1
x2


# Korrelationen berechnen
cor(x1, x2, method="p")
cor(x1, x2, method="s")
corlin(x1, x2)
corlin(rank(x1), rank(x2))
# corpearson(x1, x2)
# cor(rank(x1), rank(x2), method="p")

Consuli
P.S.: Besonders lustig ist auch, dass set.seed(123456) bei mir überhaupt keine vernünftigen Daten erzeugt.
Thanks to Steven for bringing up the best explanation for the existence and the origin of the universe, though. Especially for been a lighthouse of will-power still shining on, not only for disabled people, but any (beautiful minded) person.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast