📅  最后修改于: 2023-12-03 15:41:40.913000             🧑  作者: Mango
本文介绍如何使用 Python 计算两个变量之间的皮尔逊相关系数 r,以及如何通过 r 判断两个变量之间的线性关系。
皮尔逊相关系数是一种用于衡量两个变量之间线性关系紧密程度的统计量。它的值在 -1 到 1 之间,值越接近 -1 或 1,表示两个变量之间的线性关系越强。若 r = 0,则表示两个变量之间无线性相关关系。这个值的正负号表示两个变量之间的线性关系是正相关还是负相关。
计算 r 的步骤如下:
下面的代码演示了如何用 Python 计算两个变量之间的皮尔逊相关系数 r。
import numpy as np
# 例子数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
# 计算均值
mean_x = np.mean(x)
mean_y = np.mean(y)
# 计算标准差
std_x = np.std(x, ddof=1) # 使用样本标准差,需将 ddof 设为 1
std_y = np.std(y, ddof=1)
# 标准化变量数据
x_std = (x - mean_x) / std_x
y_std = (y - mean_y) / std_y
# 计算 r
r = np.sum(x_std * y_std) / (len(x) - 1)
print('r =', r)
输出:
r = 1.0
由于例子中的变量 y 是变量 x 的两倍,因此它们之间的线性关系是完全正相关的,r = 1.0。若 x 和 y 之间的线性关系不完全正相关,则 r 将会是 [-1,1] 之间的某个值。