Как рассчитать корреляцию между двоичными переменными в python? - PullRequest
0 голосов
/ 14 сентября 2018

Две двоичные переменные (x и y) образуют два столбца для количества дат в панде Dataframe.Я хочу вычислить показатель корреляции между x и y, который количественно определяет, насколько коррелирован x = 1 с y = 1 (x = 0 с y = 0).

  1. Какое определение корреляции подходит?
  2. Есть ли встроенная функция?


    |день |_x |_ y |

    0  | 1 | 1
    
    1  | 1 | 0
    
    2  | 0 | 0
    
    3  | 1 | 1
    

Объяснение: Это две категории.скажем, у х = были яйца на завтрак (0 или 1), а у = болела голова (0 или 1).И есть данные за несколько дней как для x, так и для y, я пытаюсь понять, насколько сильно коррелируют наличие яиц и головная боль.Я понимаю, что корреляция Пирсона здесь не применима.Что можно было бы использовать?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Метрика корреляции для использования в этом случае - ро Пирсона.Определенный для двух двоичных переменных, он также известен как коэффициент корреляции Пирсона.

rho = (n11*n00 -  n10*n01)/sqrt(n11.n10.n01.n00)
where 
n11 (n00) = number of rows with x=1(0) and y=1(0) etc. 

https://en.wikipedia.org/wiki/Phi_coefficient

0 голосов
/ 14 сентября 2018

Я думаю, это то, что вы хотите, верно?

df.corr()

Визуализация

import seaborn as sns
sns.heatmap(df.corr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...