Czy sensowne jest obliczenie korelacji Pearsona lub Spearmana między dwoma wektorami boolowskimi?


42

Istnieją dwa wektory logiczne, które zawierają tylko 0 i 1. Jeśli obliczę korelację Pearsona lub Spearmana, czy są one sensowne czy rozsądne?


2
Jeśli obie zmienne są dychotomiczne, Pearson = Włócznik = tau Kendalla. Tak, może mieć sence. Przy prawdziwie binarnych (boolowskich) danych można również wyliczyć „Pearson” na danych bez centrowania, co byłoby cosinus
ttnphns

1
... i = Phi (standaryzowany chi-kwadrat), który przenosi nas ze skali do tabeli awaryjności.
ttnphns,

Odpowiedzi:


34

Korelacja Pearsona i Spearmana jest zdefiniowana, o ile masz jakieś i s dla obu dwóch zmiennych binarnych, powiedzmy i . Łatwo jest uzyskać dobre jakościowe wyobrażenie o ich znaczeniu, myśląc o wykresie rozproszenia dwóch zmiennych. Oczywiście są tylko cztery możliwości (więc dobrym pomysłem jest drżenie, aby rozdzielić identyczne punkty w celu wizualizacji). Na przykład w każdej sytuacji, w której dwa wektory są identyczne, z zastrzeżeniem posiadania w każdym zera kilku zer i jedności 1, wówczas z definicji a korelacja wynosi koniecznie . Podobnie możliwe jest, że01yx(0,0),(0,1),(1,0),(1,1)y=x1y=1xa następnie korelacja wynosi .1

W przypadku tego zestawu nie ma miejsca na relacje monotoniczne, które nie są liniowe. Przy rangach s i s zgodnie ze zwykłą konwencją o średniej częstotliwości, szeregi są po prostu liniową transformacją oryginalnych s i s, a korelacja Spearmana jest koniecznie identyczna z korelacją Pearsona. Dlatego nie ma powodu, aby rozważać tutaj korelację Spearmana osobno lub w ogóle.0101

Korelacje powstają naturalnie dla niektórych problemów obejmujących si s, np. W badaniu procesów binarnych w czasie lub przestrzeni. Ogólnie rzecz biorąc, będą lepsze sposoby myślenia o takich danych, w zależności w dużej mierze od głównego motywu takiego badania. Na przykład fakt, że korelacje mają duży sens, nie oznacza, że ​​regresja liniowa jest dobrym sposobem na modelowanie odpowiedzi binarnej. Jeśli jedna ze zmiennych binarnych jest odpowiedzią, większość statystycznych osób zaczyna od rozważenia modelu logit.01


1
Czy to oznacza, że ​​w tej sytuacji współczynnik korelacji Pearsona lub Spearmana nie jest dobrą miarą podobieństwa dla tych dwóch wektorów binarnych?
Zhilong Jia

Tak w tym sensie, że nie mierzy podobieństwa i jest niezdefiniowany dla wszystkich zer lub wszystkich zer dla dowolnego wektora.
Nick Cox

Przypadek 2 identycznych lub „przeciwnych” wektorów nie jest dla mnie jasny. Jeśli x = c (1,1,1,1,1) iy = (0,0,0,0,0,0), wtedy y = 1-x i brzmi to tak, jakbyś powiedział, że tak musi być z definicji , co sugeruje korelację -1. Równie y = x-1 implikuje korelację +1. Na wykresie rozrzutu jest tylko 1 punkt (5 powtórzeń), więc można przez niego narysować dowolną linię prostą. Wydaje się, że w tym przypadku korelacja jest niezdefiniowana. Przepraszam, jeśli źle zrozumiałem, co miałeś na myśli. @NickCox
PM.

2
Nie; Nie mówię tego, jak wskazałem w moim pierwszym zdaniu, że aby zdefiniować korelację, musisz mieć kombinację zer i jedynek. W przeciwnym razie, jeśli SD którejkolwiek zmiennej wynosi 0, korelacja jest niezdefiniowana. Ale zredagowałem swoją odpowiedź, aby wspomnieć o tym dwukrotnie.
Nick Cox

15

Istnieją specjalne mierniki podobieństwa dla wektorów binarnych, takie jak:

  • Jaccard-Needham
  • Kostka do gry
  • Święta Bożego Narodzenia
  • Russell-Rao
  • Sokal-Michener
  • Rogers-Tanimoto
  • Kulzinsky

itp.

Aby uzyskać szczegółowe informacje, zobacz tutaj .


5
Z pewnością istnieje wiele bardziej wiarygodnych i kompleksowych referencji. Zwróć uwagę na Kulczyńskiego i Tanimoto, nawet jeśli chodzi o prawidłowe ustalanie nazwisk autorów. Patrz np. Hubálek, Z. 1982. Współczynniki asocjacji i podobieństwa na podstawie danych binarnych (obecność-brak): ocena. Recenzje biologiczne 57: 669–689.
Nick Cox

5
Oczywiście błędnie napisali „Tanimoto”, ale „Kulzinsky” został celowo uproszczony. Twoje referencje są bez wątpienia bardziej wiarygodne, ale nie są dostępne dla wszystkich.
Digio,

0

Nie radziłbym używać współczynnika korelacji Pearsona dla danych binarnych, zobacz następujący kontrprzykład:

set.seed(10) 
a = rbinom(n=100, size=1, prob=0.9) 
b = rbinom(n=100, size=1, prob=0.9)

w większości przypadków oba dają 1

table(a,b)

> table(a,b)
   b
a    0  1
  0  0  3
  1  9 88

ale korelacja tego nie pokazuje

cor(a, b, method="pearson")

> cor(a, b, method="pearson")
[1] -0.05530639

Binarna miara podobieństwa, taka jak indeks Jaccard, pokazuje jednak znacznie wyższe powiązanie:

install.packages("clusteval")
library('clusteval')
cluster_similarity(a,b, similarity="jaccard", method="independence")

> cluster_similarity(a,b, similarity="jaccard", method="independence")
[1] 0.7854966

Dlaczego to? Zobacz tutaj prostą regresję dwuwymiarową

plot(jitter(a, factor = .25), jitter(b, factor = .25), xlab="a", ylab="b", pch=15, col="blue", ylim=c(-0.05,1.05), xlim=c(-0.05,1.05))
abline(lm(a~b), lwd=2, col="blue")
text(.5,.9,expression(paste(rho, " = -0.055")))

wykres poniżej (dodano niewielki hałas, aby liczba punktów była wyraźniejsza) Dwuwymiarowa linia regresji

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.