Python数据分析学习笔记:计算相关系数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/howard2005/article/details/102683700

Python数据分析学习笔记:计算相关系数

1、相关系数概念

相关系数,或称线性相关系数、皮氏积矩相关系数(Pearson product-moment correlation coefficient, PPCC)等,是衡量两个随机变量之间线性相关程度的指标。它由卡尔·皮尔森(Karl Pearson)在1880年代提出,现已广泛地应用于科学的各个领域。
 

2、相关系数(r)公式

如下图所示,取值范围为[-1,1],r>0表示正相关,r<0表示负相关,|r|表示了变量之间相关程度的高低。特殊地,r=1称为完全正相关,r=-1称为完全负相关,r=0称为不相关。通常|r|大于0.8时,认为两个变量有很强的线性相关性。

3、案例演示——计算年广告费投入与月销售额的相关系数

# 计算向量相关系数

import numpy as np

def r(x, y):
    xm = x.mean()
    ym = y.mean()
    numerator = np.sum(((x - xm) * (y - ym)))
    denominator = np.sqrt(np.sum((x - xm) ** 2)) * np.sqrt(np.sum((y - ym) ** 2))
    return numerator / denominator  

x = np.array([12.5, 15.3, 23.2, 26.4, 33.5, 34.4, 39.4, 45.2, 55.4, 60.9])
y = np.array([21.2, 23.9, 32.9, 34.1, 42.5, 43.2, 49.0, 52.8, 59.4, 63.5])

print('x = ', x)
print('y = ', y)
print('x与y的相关系数:', r(x, y))

运行结果如下:

相关系数为0.9941983762371885,说明广告投入费与月平均销售额之间有高度的线性正相关关系。

其实,程序可以稍微简化一点:

猜你喜欢

转载自blog.csdn.net/howard2005/article/details/102683700