python学习笔记(22)——皮尔逊相关系数运用(SciPy库)

皮尔逊相关系数:pearson correlation coefficient,也称皮尔逊积矩相关系数:pearson product-moment correlation coefficient,用来反映两个变量之间线型相关程度强弱的统计量,r的绝对值越大,相关性越强

r=\frac{COV(X,Y)}{\sqrt{D(X)}\sqrt{D(Y)}}

(D(x)和D(y)分别为变量X和Y的方差,COV(X,Y)为变量X和Y的协方差)

python中所用到的库是SciPy库


pip 安装scipy库scipy · PyPI和pearsonrSearch results · PyPI

(先下载后安装,选择适合的版本)

python学习笔记(22)——皮尔逊相关系数运用(SciPy库)_第1张图片

python学习笔记(22)——皮尔逊相关系数运用(SciPy库)_第2张图片


 代码练习:基础运用

import random
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearsonr

x=np.arange(0,10,0.2)
y1=3*x+5
y2=[]
for i in y1:
    y2.append(i+random.uniform(-5,5))

plt.plot(x,y1,color='r',label='y1')
plt.plot(x,y2,linestyle='--',label='y2')
plt.legend(loc='upper left')
plt.show()#输出图像

corr=pearsonr(y1,y2)#函数y1和y2引用scipy库计算皮尔逊相关系数,得出r和p
print('相关系数r值为'+str(corr[0])+',显著水平p值为'+str(corr[1]))#写出p<=0.05,所以具有相关性,r约为0.956(强相关)

运行结果:

python学习笔记(22)——皮尔逊相关系数运用(SciPy库)_第3张图片

 


概念补充:

方差D(X):描述随机变量对于数学期望的偏离程度

标准差\sigma=\sqrt{\frac{D(X)^{2}}{N}}标准差是方差的平方根,方差与我们要处理的数据的量纲不一致,标准差的出现能更直观地反映组内个体间的离散程度

协方差COV(X,Y):协方差在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。

皮尔逊相关系数结论:显著性水平p值<0.05为相关显著(即非偶然),相关系数r绝对值越大,相关性越强。

你可能感兴趣的:(python,机器学习,数据挖掘)