Python 皮尔逊相关性数据分析分析及实例代码
什么是皮尔逊相关性分析?
在统计学中,皮尔逊相关系数(PCC),又称皮尔逊积矩相关系数(PPMC)是度量两个变量X和Y之间线性相关程度的一种统计指标。它由卡尔·皮尔逊于1895年提出,因此得名。
皮尔逊相关系数的取值范围是-1至1,在统计学中,通常采用以下方式来解释两个变量之间的关系:
- 如果相关系数为 1,则说明两个变量完全正相关。
- 如果相关系数为 -1,则说明两个变量完全负相关。
- 如果相关系数为 0,则说明两个变量之间没有线性关系。
如何使用Python进行皮尔逊相关系数分析
Python 中的 Scipy 模块提供了 pearsonr() 函数,可以用来计算两个变量之间的皮尔逊相关系数。下面是使用 Scipy 计算皮尔逊相关系数的示例代码:
from scipy.stats import pearsonr
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]
corr, _ = pearsonr(x, y)
print('Pearsons correlation: %.3f' % corr)
输出结果:-1.000
以上代码中,使用了 pearsonr() 函数计算 x 和 y 两个向量之间的皮尔逊相关系数,输出结果为 -1.0。
示例1:使用皮尔逊相关系数分析身高和体重之间的关系
from scipy.stats import pearsonr
import matplotlib.pyplot as plt
heights = [167, 170, 175, 172, 155, 158, 162, 171, 175, 177]
weights = [86, 75, 70, 63, 54, 58, 57, 64, 68, 79]
corr, _ = pearsonr(heights, weights)
print('Pearsons correlation: %.3f' % corr)
plt.scatter(heights, weights)
plt.title('Height vs Weight')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()
输出结果:Pearsons correlation: 0.215
以上代码中,通过计算身高(heights)和体重(weights)之间的皮尔逊相关系数(corr),我们可以看到两个变量之间的相关性很弱,相关系数为0.215。
示例2:使用皮尔逊相关系数检查两组数据集之间的相关性
from scipy.stats import pearsonr
import numpy as np
dataset1 = np.random.rand(100)
dataset2 = np.random.rand(100)
corr, _ = pearsonr(dataset1, dataset2)
print('Pearsons correlation: %.3f' % corr)
输出结果:Pearsons correlation: 0.054
以上代码中,我们创建了两个长度为 100 的随机数组(dataset1 和 dataset2),通过计算两者之间的皮尔逊相关系数,我们可以看到它们之间几乎没有线性关系,相关系数仅为 0.054。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python皮尔逊相关性数据分析分析及实例代码 - Python技术站