量化两个变量之间关系的一种方法是使用皮尔逊相关系数,该系数衡量两个变量之间的线性关联*。*
它总是在-1和1之间取值,其中:
- -1表示完全负线性相关
- 0表示没有线性相关关系
- 1表示完全正的线性相关
为了确定一个相关系数是否具有统计学意义,你可以计算出相应的t分数和p值。
计算相关系数(r)的t分数的公式是。
t= r * √n-2 / √1-r2
然后,p值被计算为具有n-2个自由度的t分布的相应双侧p值。
例子:Python中的相关测试
为了确定两个变量之间的相关系数是否有统计学意义,你可以使用SciPy库中的pearsonr函数在Python中进行相关检验。
这个函数返回两个变量之间的相关系数以及双尾P值。
例如,假设我们在Python中有以下两个数组:
#create two arrays
x = [3, 4, 4, 5, 7, 8, 10, 12, 13, 15]
y = [2, 4, 4, 5, 4, 7, 8, 19, 14, 10]
我们可以导入pearsonr函数并计算这两个数组之间的Pearson相关系数:
from scipy.stats.stats import pearsonr
#calculation correlation coefficient and p-value between x and y
pearsonr(x, y)
(0.8076177030748631, 0.004717255828132089)
下面是如何解释输出的:
- 皮尔逊相关系数(r):0.8076
- 双尾P值:0.0047
由于相关系数接近于1,这告诉我们这两个变量之间存在着强烈的正相关。
而由于相应的P值小于0.05,我们得出结论,两个变量之间存在着统计学上的显著关联。
请注意,我们也可以从pearsonr函数中提取单个相关系数和p值:
#extract correlation coefficient (rounded to 4 decimal places)
r = round(pearsonr(x, y)[0], 4)
print(r)
0.8076
#extract p-value (rounded to 4 decimal places)
p = round(pearsonr(x, y)[1], 4)
print(p)
0.0047
与原始pearsonr函数的输出相比,这些值更容易阅读。
额外的资源
下面的教程提供了关于相关系数的额外信息: