Pearson-Korrelation von Datensätzen mit möglicherweise null Standardabweichung?

12

Ich habe ein Problem bei der Berechnung des Pearson-Korrelationskoeffizienten von Datensätzen mit möglicherweise null Standardabweichung (dh alle Daten haben den gleichen Wert).

Angenommen, ich habe die folgenden zwei Datensätze:

float x[] = {2, 2, 2, 3, 2};
float y[] = {2, 2, 2, 2, 2};

Der Korrelationskoeffizient "r" würde unter Verwendung der folgenden Gleichung berechnet:

float r = covariance(x, y) / (std_dev(x) * std_dev(y));

Da jedoch alle Daten im Datensatz "y" den gleichen Wert haben, wäre die Standardabweichung std_dev (y) Null und "r" undefiniert.

Gibt es eine Lösung für dieses Problem? Oder sollte ich in diesem Fall andere Methoden zum Messen der Datenbeziehung verwenden?

Andree
quelle
In diesem Beispiel gibt es keine "Datenbeziehung", da y nicht variiert. Es wäre ein Fehler , r einen beliebigen numerischen Wert zuzuweisen.
Whuber
1
@whuber - es ist wahr, dass das undefiniert ist, aber nicht unbedingt, dass die "wahre" unbekannte Korrelation ρ nicht geschätzt werden kann. Müssen nur etwas anderes verwenden, um es zu schätzen. rρ
Wahrscheinlichkeitsrechnung
@ Wahrscheinlichkeit Sie setzen voraus, dass dies ein Problem der Schätzung und nicht nur der Charakterisierung ist. Aber wenn Sie das akzeptieren, welchen Schätzer würden Sie im Beispiel vorschlagen? Keine Antwort kann allgemeingültig sein, da dies davon abhängt, wie der Schätzer verwendet wird (im Grunde genommen eine Verlustfunktion). In vielen Anwendungen, wie PCA, scheint es wahrscheinlich , dass die Verwendung jedes Verfahren , das einen Wert zuschreibt als andere Verfahren schlechter sein kann , die erkennen ρ nicht identifiziert werden können. ρρ
whuber
1
@whuber - Schätzung ist eine schlechte Wortwahl für mich (Sie haben vielleicht bemerkt, dass ich nicht der beste Wortschmied bin). Was ich damit meinte, war, dass zwar nicht eindeutig identifiziert werden kann, dies aber nicht bedeutet, dass die Daten nicht aussagekräftig sind uns über ρ . Meine Antwort zeigt dies (hässlich) aus algebraischer Sicht. ρρ
Wahrscheinlichkeitsrechnung
@ Wahrscheinlichkeit Es scheint, dass Ihre Analyse widersprüchlich ist: Wenn y tatsächlich mit einer Normalverteilung modelliert ist, zeigt eine Stichprobe von fünf 2er-Werten, dass dieses Modell ungeeignet ist. Letztendlich bekommen Sie nichts für nichts: Ihre Ergebnisse hängen stark von den Annahmen über die Vorgesetzten ab. Die ursprünglichen Probleme bei der Identifizierung von sind immer noch vorhanden, wurden jedoch durch all diese zusätzlichen Annahmen verborgen. Das scheint meiner Meinung nach nur die Probleme zu verschleiern, anstatt sie zu klären. ρ
whuber

Antworten:

9

Die Leute der "Sampling-Theorie" werden Ihnen sagen, dass keine solche Schätzung existiert. Aber Sie können eine bekommen, Sie müssen nur vernünftig mit Ihren vorherigen Informationen umgehen und viel härter rechnen.

Wenn Sie eine Bayes'sche Schätzmethode angegeben haben und der hintere Teil mit dem vorherigen identisch ist, können Sie sagen, dass die Daten nichts über den Parameter aussagen. Da die Dinge für uns "singulär" werden können, können wir keine unendlichen Parameterräume verwenden. Ich gehe davon aus, dass Sie aufgrund der Pearson-Korrelation eine bivariate normale Wahrscheinlichkeit haben:

wobei Qi=(xi-μx)2

p(D|μx,μy,σx,σy,ρ)=(σxσy2π(1ρ2))Nexp(iQi2(1ρ2))
Qi=(xiμx)2σx2+(yiμy)2σy22ρ(xiμx)(yiμy)σxσy

Um anzuzeigen, dass ein Datensatz den gleichen Wert haben kann, schreiben Sie , und dann erhalten wir:yi=y

wobei s2x=1 ist

iQi=N[(yμy)2σy2+sx2+(x¯μx)2σx22ρ(x¯μx)(yμy)σxσy]
sx2=1Ni(xix¯)2

Und so Ihre Wahrscheinlichkeit auf vier Zahlen abhängt, . Sie möchten also eine Schätzung von ρ , müssen also mit einem vorherigen multiplizieren und die Störparameter μ x , μ y , σ x , σ y integrieren . Nun bereiten wir uns auf die Integration vor und "vervollständigen das Quadrat" i Q isx2,y,x¯,Nρμx,μy,σx,σy

iQi1ρ2=N[(μy[y(x¯μx)ρσyσx])2σy2(1ρ2)+sx2σx2(1ρ2)+(x¯μx)2σx2]

Jetzt sollten wir auf Nummer sicher gehen und eine richtig normalisierte Wahrscheinlichkeit sicherstellen. Auf diese Weise können wir keinen Ärger bekommen. Eine solche Option besteht darin, einen schwach informativen Prior zu verwenden, der lediglich die Reichweite jedes einzelnen einschränkt. Wir haben also für das Mittel mit dem flachen Prior und L σ < σ x , σ y < U σ für die Standardabweichungen mit jeffreys prior. Diese Grenzen können leicht mit ein wenig "gesundem Menschenverstand" festgelegt werden, der über das Problem nachdenkt. Ich werde einen nicht näher bezeichneten Prior für ρ nehmenLμ<μx,μy<UμLσ<σx,σy<Uσρ, und so bekommen wir (Uniform sollte funktionieren, wenn nicht die Singularität bei abgeschnitten ):±1

p(ρ,μx,μy,σx,σy)=p(ρ)Aσxσy

A=2(UμLμ)2[log(Uσ)log(Lσ)]2

p(ρ|D)=p(ρ,μx,μy,σx,σy)p(D|μx,μy,σx,σy,ρ)dμydμxdσxdσy

=p(ρ)A[2π(1ρ2)]N2LσUσLσUσ(σxσy)N1exp(Nsx22σx2(1ρ2))×
LμUμexp(N(x¯μx)22σx2)LμUμexp(N(μy[y(x¯μx)ρσyσx])22σy2(1ρ2))dμydμxdσxdσy

Now the first integration over μy can be done by making a change of variables z=Nμy[y(x¯μx)ρσyσx]σy1ρ2dz=Nσy1ρ2dμy and the first integral over μy becomes:

σy2π(1ρ2)N[Φ(Uμ[y(x¯μx)ρσyσx]σyN1ρ2)Φ(Lμ[y(x¯μx)ρσyσx]σyN1ρ2)]

And you can see from here, no analytic solutions are possible. However, it is also worthwhile to note that the value ρ has not dropped out of the equations. This means that the data and prior information still have something to say about the true correlation. If the data said nothing about the correlation, then we would be simply left with p(ρ) as the only function of ρ in these equations.

It also shows how that passing to the limit of infinite bounds for μy "throws away" some of the information about ρ, which is contained in the complicated looking normal CDF function Φ(.). Now if you have a lot of data, then passing to the limit is fine, you don't loose much, but if you have very scarce information, such as in your case - it is important keep every scrap you have. It means ugly maths, but this example is not too hard to do numerically. So we can evaluate the integrated likelihood for ρ at values of say 0.99,0.98,,0.98,0.99 fairly easily. Just replace the integrals by summations over a small enough intervals - so you have a triple summation

probabilityislogic
quelle
@probabilityislogic: Wow. Simply wow. After seen some of your answers I really wonder: what should a doofus like me do to reach such a flexible bayesian state of mind ?
steffen
1
@steffen - lol. Its not that difficult, you just need to practice. And always always always remember that the product and sum rules of probability are the only rules you will ever need. They will extract whatever information is there - whether you see it or not. So you apply product and sum rules, then just do the maths. That is all I have done here.
probabilityislogic
@steffen - and the other rule - more a mathematical one than stats one - don't pass to an infinite limit too early in your calculations, your results may become arbitrary, or little details may get thrown out. Measurement error models are a perfect example of this (as is this question).
probabilityislogic
@probabilityislogic: Thank you, I'll keep this in mind... as soon as I am done working through my "Bayesian Analysis"-copy ;).
steffen
@probabilityislogic: If you could humor a nonmathematical statistician/researcher...would it be possible to summarize or translate your answer to a group of dentists or high school principals or introductory statistics students?
rolando2
6

I agree with sesqu that the correlation is undefined in this case. Depending on your type of application you could e.g. calculate the Gower Similarity between both vectors, which is: gower(v1,v2)=i=1nδ(v1i,v2i)n where δ represents the kronecker-delta, applied as function on v1,v2.

So for instance if all values are equal, gower(.,.)=1. If on the other hand they differ only in one dimension, gower(.,.)=0.9. If they differ in every dimension, gower(.,.)=0 and so on.

Of course this is no measure for correlation, but it allows you to calculate how close the vector with s>0 is to the one with s=0. Of course you can apply other metrics,too, if they serve your purpose better.

steffen
quelle
+1 That's a creative idea. It sounds like the "Gower Similarity" is a scaled Hamming distance.
whuber
@whuber: Indeed it is !
steffen
0

The correlation is undefined in that case. If you must define it, I would define it as 0, but consider a simple mean absolute difference instead.

sesqu
quelle
0

This question is coming from programmers, so I'd suggest plugging in zero. There's no evidence of a correlation, and the null hypothesis would be zero (no correlation). There might be other context knowledge that would provide a "typical" correlation in one context, but the code might be re-used in another context.

zbicyclist
quelle
2
There's no evidence of lack of correlation either, so why not plug in 1? Or -1? Or anything in between? They all lead to re-usable code!
whuber
@whuber - you plug in zero because the data is "less constrained" when it is independent - this is why maxent distributions are independent unless you explicitly specify correlations in the constraints. Independence can be viewed as a conservative assumption when you know of no such correlations - effectively you are averaging over all possible correlations.
probabilityislogic
1
@prob I question why it makes sense as a generic procedure to average over all correlations. In effect this procedure substitutes the definite and possibly quite wrong answer "zero!" for the correct answer "the data don't tell us." That difference can be important for decision making.
whuber
Just because the question might be from a programmer, does not mean you should convert an undefined value to zero. Zero means something specific in a correlation calculation. Throw an exception. Let the caller decide what should happen. Your function should calculate a correlation, not decide what to do if one cannot be computed.
Jared Becksfort