Korelacja Pearsona zbiorów danych z możliwie zerowym odchyleniem standardowym?

12

Mam problem z obliczeniem współczynnika korelacji Pearsona dla zbiorów danych z możliwie zerowym odchyleniem standardowym (tj. Wszystkie dane mają tę samą wartość).

Załóżmy, że mam następujące dwa zestawy danych:

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

Współczynnik korelacji „r” oblicza się przy użyciu następującego równania:

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

Ponieważ jednak wszystkie dane w zbiorze danych „y” mają tę samą wartość, odchylenie standardowe std_dev (y) wynosi zero, a „r” jest niezdefiniowane.

Czy jest jakieś rozwiązanie tego problemu? Czy powinienem w tym przypadku użyć innych metod do pomiaru relacji danych?

Andree
źródło
W tym przykładzie nie ma „relacji danych”, ponieważ y się nie zmienia. Przypisanie dowolnej wartości liczbowej do r byłoby błędem.
whuber
1
@whuber - prawdą jest, że jest niezdefiniowana, ale nie koniecznie, że „prawdziwy” nieznany korelacja nie można oszacować. Wystarczy użyć czegoś innego, aby to oszacować. ρrρ
Prawdopodobieństwo
@probability Zakładasz, że jest to problem oceny, a nie tylko charakterystyki. Ale akceptując to, jaki estymator zaproponowałbyś w tym przykładzie? Żadna odpowiedź nie może być ogólnie poprawna, ponieważ zależy to od sposobu użycia estymatora (w efekcie funkcja straty). W wielu zastosowaniach, takich jak PCA, wydaje się prawdopodobne, że za pomocą dowolnego procedurę, która przypisuje wartość do może być gorzej niż innych procedur, które rozpoznają nie można zidentyfikować. ρρρ
whuber
1
@ whuber - oszacowanie jest dla mnie złym wyborem słów (być może zauważyłeś, że nie jestem najlepszym słowiarzem), miałem na myśli to, że chociaż może nie zostać jednoznacznie zidentyfikowany, nie oznacza to, że dane są bezużyteczne w mówiąc nam o . Moja odpowiedź daje (brzydką) demonstrację tego z algebraicznego punktu widzenia. ρρρ
prawdopodobieństwo prawdopodobieństwa
@Probability Wydaje się, że twoja analiza jest sprzeczna: jeśli rzeczywiście y jest modelowany z rozkładem normalnym, to próbka pięciu 2 pokazuje, że ten model jest nieodpowiedni. Ostatecznie nic nie dostajesz za nic: twoje wyniki zależą w dużym stopniu od założeń dotyczących priorów. Pierwotne problemy z identyfikacją nadal istnieją, ale zostały ukryte przez wszystkie te dodatkowe założenia. Wydaje się, że IMHO po prostu zasłania problemy, a nie je wyjaśnia. ρ
whuber

Odpowiedzi:

9

Ludzie z „teorii próbkowania” powiedzą ci, że nie ma takiej oceny. Ale możesz je zdobyć, musisz tylko rozsądnie podchodzić do swoich wcześniejszych informacji i wykonywać dużo cięższą pracę matematyczną.

Jeśli określiłeś bayesowską metodę szacowania, a tylna jest taka sama jak poprzednia, możesz powiedzieć, że dane nie mówią nic o parametrze. Ponieważ rzeczy mogą stać się dla nas „osobliwe”, nie możemy używać nieskończonych przestrzeni parametrów. Zakładam, że ponieważ używasz korelacji Pearsona, masz dwuwymiarowe normalne prawdopodobieństwo:

Qi=(xi-μx)2

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

Aby wskazać, że jeden zestaw danych może mieć tę samą wartość, napisz , a następnie otrzymamy:yi=y

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

A więc prawdopodobieństwo zależy od czterech liczb, . Więc chcesz oszacować , więc musisz pomnożyć przez a priori i zintegrować uciążliwe parametry . Aby przygotować się do integracji, „wypełniamy kwadrat” sx2,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]

Powinniśmy teraz zachować ostrożność i zapewnić odpowiednio znormalizowane prawdopodobieństwo. W ten sposób nie możemy wpaść w kłopoty. Jedną z takich opcji jest użycie słabo informacyjnego przeora, który po prostu ogranicza zasięg każdego z nich. Mamy więc dla średnich z płaską wcześniejszą i dla standardowych odchyleń z jeffreys wcześniejszy. Limity te są łatwe do ustalenia przy odrobinie „zdrowego rozsądku” w myśleniu o problemie. Wezmę nieokreślony przed , więc otrzymujemy (mundur powinien działać ok, jeśli nie obciąć osobliwości o ):Lμ<μx,μy<UμLσ<σx,σy<Uσρ±1

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

Gdzie . Daje to później: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

Teraz pierwszą integrację nad można wykonać, zmieniając zmienne a pierwsza całka nad staje się:μyz=Nμy[y(x¯μx)ρσyσx]σy1ρ2dz=Nσy1ρ2dμyμy

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

Widać stąd, że żadne rozwiązania analityczne nie są możliwe. Warto jednak zauważyć, że wartość nie spadła z równań. Oznacza to, że dane i wcześniejsze informacje wciąż mają coś do powiedzenia na temat prawdziwej korelacji. Jeśli dane nie mówiły nic o korelacji, wówczas po prostu zostalibyśmy z jako jedyną funkcją w tych równaniach.ρp(ρ)ρ

Pokazuje także, jak przejście do granicy nieskończonych granic dla "wyrzuca" część informacji o , które zawarte są w skomplikowanej wyglądającej normalnej funkcji CDF . Teraz, jeśli masz dużo danych, to przekroczenie limitu jest w porządku, nie tracisz dużo, ale jeśli masz bardzo rzadkie informacje, na przykład w twoim przypadku - ważne jest, aby zachować każdy posiadany złom. Oznacza to brzydkie matematyki, ale ten przykład nie jest zbyt trudny do zrobienia numerycznego. Możemy więc dość łatwo oszacować zintegrowane prawdopodobieństwo dla przy wartościach . Po prostu zamień całki na sumy w wystarczająco małych odstępach - aby uzyskać potrójne sumowanie ρ Φ ( . ) ρ - 0,99 , - 0,98 , , 0,98 , 0,99μyρΦ(.)ρ0.99,0.98,,0.98,0.99

prawdopodobieństwo prawdopodobieństwa
źródło
@probabilityislogic: Wow. Po prostu wow. Po obejrzeniu niektórych z twoich odpowiedzi naprawdę zastanawiam się: co takiego doofus powinien zrobić, aby osiągnąć tak elastyczny stan umysłu bayesowskiego?
steffen,
1
@steffen - lol. To nie jest takie trudne, wystarczy ćwiczyć. I zawsze zawsze pamiętaj, że jedyne reguły, których będziesz potrzebować, to reguły iloczynu prawdopodobieństwa i sumy . Wyodrębnią wszelkie dostępne informacje - bez względu na to, czy je zobaczysz, czy nie. Więc stosujesz reguły dotyczące produktów i sum, a następnie po prostu wykonuj matematykę. To wszystko, co tutaj zrobiłem.
prawdopodobieństwo prawdopodobieństwa
@steffen - i druga zasada - bardziej matematyczna niż statyczna - nie przekraczaj nieskończonego limitu zbyt wcześnie w twoich obliczeniach, twoje wyniki mogą stać się arbitralne lub mogą zostać wyrzucone małe szczegóły. Modele błędów pomiaru są tego doskonałym przykładem (jak to pytanie).
Prawdopodobieństwo
@probabilityislogic: Dziękuję, będę o tym pamiętać ... jak tylko skończę pracę nad moją kopią „analizy bayesowskiej”;).
steffen
@probabilityislogic: Jeśli mógłbyś żartować z nie-matematycznego statystyki / badacza ... czy można by streścić lub przetłumaczyć swoją odpowiedź na grupę dentystów lub dyrektorów szkół średnich lub studentów statystyki wprowadzającej?
rolando2
6

Zgadzam się z sesqu, że w tym przypadku korelacja jest niezdefiniowana. W zależności od rodzaju aplikacji można np. podobieństwo Gowera między dwoma wektorami, czyli: gdzie oznacza kroneckera , zastosowaną jako funkcję w wersjach . δv1,v2gower(v1,v2)=i=1nδ(v1i,v2i)nδv1,v2

Na przykład, jeśli wszystkie wartości są równe, gower (.,.) = 1. Jeśli natomiast różnią się tylko jednym wymiarem, gower (.,.) = 0,9. Jeśli różnią się w każdym wymiarze, gower (.,.) = 0 i tak dalej.

Oczywiście nie jest to miara korelacji, ale pozwala obliczyć, jak blisko wektor ze s> 0 jest do wektora ze s = 0. Oczywiście możesz również zastosować inne wskaźniki, jeśli lepiej służą Twojemu celowi.

steffen
źródło
+1 To kreatywny pomysł. Wygląda na to, że „podobieństwo Gowera” to skalowana odległość Hamminga .
whuber
@whuber: Rzeczywiście tak jest!
steffen,
0

W takim przypadku korelacja jest niezdefiniowana. Jeśli musisz to zdefiniować, zdefiniowałbym to jako 0, ale zamiast tego rozważ zwykłą różnicę absolutną.

sesqu
źródło
0

To pytanie pochodzi od programistów, więc sugeruję podłączenie do zera. Nie ma dowodów na korelację, a hipoteza zerowa wynosiłaby zero (brak korelacji). Może istnieć inna wiedza kontekstowa, która zapewniłaby „typową” korelację w jednym kontekście, ale kod może być ponownie użyty w innym kontekście.

zbicyclist
źródło
2
Nie ma też dowodów braku korelacji, więc dlaczego nie podłączyć 1? Czy -1? Czy coś pomiędzy? Wszystkie prowadzą do kodu wielokrotnego użytku!
whuber
@ whuber - wstawiasz zero, ponieważ dane są „mniej ograniczone”, gdy są niezależne - dlatego maksymalne rozkłady są niezależne, chyba że wyraźnie określisz korelacje w ograniczeniach. Niezależność może być postrzegana jako konserwatywne założenie, gdy nie znasz takich korelacji - w rzeczywistości uśredniasz wszystkie możliwe korelacje .
prawdopodobieństwo
1
@prob Pytam, dlaczego ma to sens jako ogólna procedura uśredniania wszystkich korelacji. W efekcie procedura ta zastępuje jednoznaczną i być może złą odpowiedź „zero!” dla poprawnej odpowiedzi „dane nam nie mówią”. Ta różnica może być ważna przy podejmowaniu decyzji.
whuber
To, że pytanie pochodzi od programisty, nie oznacza, że ​​powinieneś przekonwertować niezdefiniowaną wartość na zero. Zero oznacza coś konkretnego w obliczeniach korelacji. Rzuć wyjątek. Niech dzwoniący zdecyduje, co powinno się stać. Twoja funkcja powinna obliczyć korelację, a nie decydować, co zrobić, jeśli nie można jej obliczyć.
Jared Becksfort