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?
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?
Odpowiedzi:
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, żea następnie korelacja wynosi .
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.
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.
Istnieją specjalne mierniki podobieństwa dla wektorów binarnych, takie jak:
itp.
Aby uzyskać szczegółowe informacje, zobacz tutaj .
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)