Pandas数据的相关性分析

本文的主要内容是基于中国大学mooc(慕课)中的“Python数据分析与可视化”课程进行整理和总结。
两个事物,表示成X和Y,如何判断他们之间的相关性?
X增大,Y也增大,两个变量正相关;
X增大,Y减小,两个变量负相关;
X增大,Y没有明显变化,两个变量不相关;
度量两个数据的相关性有以下方法:

  • 协方差,如下所示,如果协方差大于0,则表明正相关,若协方差小于0,则为负相关,协方差为0时,X和Y不相关;
    c o v ( X , Y ) = ∑ i = 1 n ( X i − X ˉ ) ( Y i − Y ˉ ) n − 1 cov(X, Y) = \frac{\sum_{i=1}^{n}(X^{i}-\bar{X})(Y^{i}-\bar{Y})}{n - 1} cov(X,Y)=n1i=1n(XiXˉ)(YiYˉ)
  • pearson相关系数,取值范围为[-1,1],其绝对值在0.8-1之间极强相关,0.6-0.8强相关,0.4-0.6中等强度相关,0.2-0.4弱相关,0-0.2极弱相关或无关。
    r = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 r = \frac{\sum_{i=1}^{n}(x^{i}-\bar{x})(y^{i}-\bar{y})}{\sqrt{\sum_{i=1}^{n}(x^{i}-\bar{x})^{2}}\sqrt{\sum_{i=1}^{n}(y^{i}-\bar{y})^{2}}} r=i=1n(xixˉ)2 i=1n(yiyˉ)2 i=1n(xixˉ)(yiyˉ)
    pandas提供了适用于相关分析函数。
方法 说明
.cov() 计算协方差矩阵
.corr() 计算相关系数矩阵,Pearson,Spearman,Kendall等系数
hprie = pd.Series([3,22,12,22,12],index=['2008','2009','2010','2011','2012'])
m2 = pd.Series([8,15,10,23,10],index=['2008','2009','2010','2011','2012'])
hprie.corr(m2)
0.8384822301002933

你可能感兴趣的:(Pandas数据的相关性分析)