Чи є сенс обчислювати співвідношення Пірсона чи Спірмена між двома булевими векторами?


42

Є два булеві вектори, які містять лише 0 і 1. Якщо я обчислюю співвідношення Пірсона чи Спірмена, вони є осмисленими чи розумними?


2
Якщо обидві змінні дихотомічні, Пірсон = Спірмен = тау Кендалла. Так, це може мати сенс. З істинно бінарними (булевими) даними він також має сенс для обчислення "Пірсона" на даних без центрування, що було б косинусом.
ttnphns

1
... і = Phi (стандартизований Chi-квадрат), який переводить нас від шкали до таблиці непередбачених ситуацій.
ttnphns

Відповіді:


34

Кореляція Пірсона та Спірмена визначається до тих пір, поки у вас є і деякі s для обох двох бінарних змінних, скажімо, і . Легко отримати хороше якісне уявлення про те, що вони означають, роздумуючи про розкидану ділянку двох змінних. Зрозуміло, що існує лише чотири можливості (так що тремтіння струшувати однакові точки для візуалізації є гарною ідеєю). Наприклад, у будь-якій ситуації, коли два вектори однакові, за умови, що у кожному є 0s та 1s, то за визначенням і кореляція обов'язково дорівнює . Аналогічно можливо, що01yx(0,0),(0,1),(1,0),(1,1)y=x1y=1xі тоді кореляція дорівнює .1

Для цієї установки не існує можливості для монотонних відносин, які не є лінійними. При прийнятті рангів с і с за звичайною умовою середнього рівня, ранги є лише лінійною трансформацією вихідних с і с, а кореляція Спірмена обов'язково ідентична кореляції Пірсона. Отже, немає підстав розглядати кореляцію Спірмена окремо тут, або взагалі взагалі.0101

Кореляції виникають закономірно для деяких проблем, пов’язаних з і с, наприклад, при вивченні бінарних процесів у часі чи просторі. В цілому, однак, існуватимуть кращі способи мислення щодо таких даних, багато в чому залежать від головного мотиву такого дослідження. Наприклад, те, що кореляції мають багато сенсу, не означає, що лінійна регресія є хорошим способом моделювання бінарної відповіді. Якщо одна з бінарних змінних є відповіддю, то більшість статистичних людей починають з розгляду моделі logit.01


1
Чи означає це, що в цій ситуації коефіцієнт кореляції Пірсона чи Спірмена не є хорошою метрикою подібності для цих двох бінарних векторів?
Zhilong Jia

Так, в тому сенсі, що він не вимірює подібність і не визначений для всіх 0 або всіх 1 для будь-якого вектора.
Нік Кокс

Випадок 2 однакових або «протилежних» векторів мені незрозумілий. Якщо x = c (1,1,1,1,1) і y = (0,0,0,0,0), то y = 1-x, і це звучить так, як ви говорите, це має бути так, за визначенням , маючи на увазі кореляцію -1. Так само y = x-1, що означає кореляцію +1. На розсипці є лише 1 точка (5 повторень), тому будь-яка пряма лінія може провести через неї. Схоже, що кореляція не визначена в цьому випадку. Вибачте, якщо я неправильно зрозумів, що ви мали на увазі. @NickCox
PM.

2
Немає; Я не кажу про це, як я зазначаю в своєму першому реченні, що для визначення кореляції ви повинні мати суміш 0 і 1. В іншому випадку, якщо SD будь-якої змінної дорівнює 0, то кореляція не визначена. Але я відредагував свою відповідь, щоб згадати про це двічі.
Нік Кокс

15

Існують спеціалізовані показники подібності для бінарних векторів, такі як:

  • Жакард-Нудхем
  • Кістки
  • Юле
  • Рассел-Рао
  • Сокаль-Мішер
  • Роджерс-Танімото
  • Кульзінський

тощо.

Детальніше дивіться тут .


5
Звичайно, існує багато більш надійних та вичерпних посилань. Навіть на рівні правильних прізвищ авторів, зауважте, Кульчинський та Танімото. Див., Наприклад, Hubálek, Z. 1982. Коефіцієнти асоціації та подібності, засновані на бінарних даних (наявність-відсутність): Оцінка. Біологічні огляди 57: 669–689.
Нік Кокс

5
Вони, очевидно, неправильно написали "Танімото", але "Кульзінський" було навмисно спрощено. Ваша довідка, без сумніву, є більш достовірною, але доступна не для всіх.
Дігіо

0

Я б не радив використовувати коефіцієнт кореляції Пірсона для двійкових даних, див. Наступний зустрічний приклад:

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

в більшості випадків обидва дають 1

table(a,b)

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

але кореляція цього не показує

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

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

Бінарний показник подібності, такий як індекс Жакарда, виявляє, однак, набагато вищу асоціацію:

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

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

Чому це? Дивіться тут просту двовимірну регресію

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")))

графік нижче (додається невеликий шум, щоб зробити кількість балів більш чіткими) Лінія двовимірної регресії

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.