如何在python中计算二进制变量之间的相关性?

时间:2018-09-14 06:34:30

标签: python pandas statistics correlation

两个二进制变量(x和y)在熊猫数据框中形成两列以表示多个日期。我想计算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
    

说明:这是两个分类。例如,x =早餐吃鸡蛋(0或1),y =头痛(0或1)。而且有几天和几天的数据,我想看看吃鸡蛋和头痛是多么“紧密相关”。我了解Pearson的相关性不适用于此处。可以使用什么?。

2 个答案:

答案 0 :(得分:0)

我想这就是你想要的,对吧?

df.corr()

可视化

import seaborn as sns
sns.heatmap(df.corr)

答案 1 :(得分:0)

在这种情况下使用的相关度量是Pearson的rho。为两个二进制变量定义,也称为Pearson相关系数。

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