深入理解皮尔逊积差(Pearson Product Moment Correlation)
深入理解皮尔逊积差(Pearson Product Moment Correlation)
皮尔逊积差相关系数(Pearson Product Moment Correlation Coefficient,简称皮尔逊相关系数)是统计学和数据分析中最常用的一种度量方法,用于衡量两个变量之间的线性相关性。
本文将详细讲解皮尔逊积差的定义、计算方法、意义,并通过代码示例和图解帮助你更好地理解和应用。
1. 什么是皮尔逊积差相关系数?
定义
皮尔逊积差相关系数是一个介于 (-1) 和 (1) 之间的值,表示两个变量 (X) 和 (Y) 的线性相关程度:
- 1 表示完全正相关(X 增大,Y 也增大)。
- -1 表示完全负相关(X 增大,Y 减小)。
- 0 表示无线性相关。
数学公式
\[
r = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^n (x_i - \bar{x})^2 \cdot \sum_{i=1}^n (y_i - \bar{y})^2}}
\]
- (x_i, y_i):样本点 (i) 的值;
- (\bar{x}, \bar{y}):变量 (X, Y) 的均值;
- (n):样本数量。
直观理解
皮尔逊系数度量了数据点围绕最佳线性拟合直线的散布程度。
2. 皮尔逊相关系数的特点
- 范围限定:( r \in [-1, 1] )。
- 无量纲性:单位和量纲不会影响结果。
- 对线性关系敏感:只能度量线性相关性,无法衡量非线性关系。
3. 皮尔逊相关系数的计算步骤
- 计算 (X) 和 (Y) 的均值 (\bar{x}) 和 (\bar{y})。
- 计算 (X, Y) 的偏差 ((x_i - \bar{x})) 和 ((y_i - \bar{y}))。
- 计算协方差 (\sum (x_i - \bar{x})(y_i - \bar{y}))。
- 计算 (X, Y) 的标准差 (\sqrt{\sum (x_i - \bar{x})^2}) 和 (\sqrt{\sum (y_i - \bar{y})^2})。
- 将协方差除以标准差的乘积,得到 (r)。
4. 代码实现
以下是一个计算皮尔逊相关系数的 Python 示例。
4.1 使用 NumPy 手动计算
import numpy as np
# 样本数据
x = np.array([10, 20, 30, 40, 50])
y = np.array([15, 25, 35, 45, 55])
# 均值
x_mean = np.mean(x)
y_mean = np.mean(y)
# 偏差
x_diff = x - x_mean
y_diff = y - y_mean
# 协方差
covariance = np.sum(x_diff * y_diff)
# 标准差
x_std = np.sqrt(np.sum(x_diff ** 2))
y_std = np.sqrt(np.sum(y_diff ** 2))
# 皮尔逊相关系数
pearson_corr = covariance / (x_std * y_std)
print(f"皮尔逊相关系数: {pearson_corr}")
输出
皮尔逊相关系数: 1.0
由于 (X) 和 (Y) 完全线性相关,系数为 1。
4.2 使用 SciPy 计算
from scipy.stats import pearsonr
# 使用 scipy 计算
corr, _ = pearsonr(x, y)
print(f"皮尔逊相关系数: {corr}")
4.3 可视化相关性
import matplotlib.pyplot as plt
# 数据可视化
plt.scatter(x, y, color='blue', alpha=0.7, label='Data Points')
plt.plot(x, y, color='red', label='Perfect Linear Fit')
plt.xlabel('X Values')
plt.ylabel('Y Values')
plt.title('Scatter Plot with Linear Fit')
plt.legend()
plt.show()
5. 图解皮尔逊相关系数
5.1 正相关(r = 1)
数据点完美排列成一条从左下到右上的直线。
5.2 负相关(r = -1)
数据点完美排列成一条从左上到右下的直线。
5.3 无相关(r = 0)
数据点分布完全随机,没有线性关系。
以下是对应的示意图:
+1: 完美正相关 -1: 完美负相关 0: 无相关
| * * *
| * * *
| * * *
| * * *
| * * *
------------------ ------------------ ------------------
6. 皮尔逊相关系数的局限性
- 只衡量线性关系:无法表示非线性相关性。
- 对异常值敏感:异常值可能显著影响结果。
- 仅适用于连续变量:分类变量需要其他方法(如卡方检验)。
7. 应用场景
- 金融:分析股票收益之间的线性相关性。
- 医学:评估生理指标之间的关系(如血压和体重)。
- 机器学习:特征工程中筛选线性相关性较强的变量。
8. 总结
皮尔逊积差相关系数是分析变量之间线性关系的重要工具,理解其计算原理和适用场景是数据分析中的基础能力。通过本文的代码示例和图解,希望你能掌握皮尔逊相关系数的核心概念,并能够熟练应用到实际问题中。
评论已关闭