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

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时,认为两个变量有很强的线性相关性。

Python数据分析学习笔记:计算相关系数_第1张图片

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

Python数据分析学习笔记:计算相关系数_第2张图片

Python数据分析学习笔记:计算相关系数_第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))

运行结果如下:

Python数据分析学习笔记:计算相关系数_第4张图片

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

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

Python数据分析学习笔记:计算相关系数_第5张图片

你可能感兴趣的:(Python编程,数据分析入门)