皮尔逊相关系数( Pearson correlation coefficient),用来验证两个变量之间的相关性,范围在-1到1之间。
计算公式:
相关系数的性质:
1. r的取值范围是[-1, 1]:
a. 若0<r<=1, 表明x与y之间存在正线性相关关系;
b. 若-1<=r<0, 表明x与y之间存在负线性相关关系;
c. 若r=+1, 表明x与y之间为完全正线性相关关系
d. 若r=-1, 表明x与y之间为完全负线性相关关系
e. 若r=0, y的取值与x无关,二者不存在线性相关关系
2. r具有对称性,x与y之间的相关系数与y与x之间的相关系数相等
3. r仅仅是x与y之间线性关系的度量,不能用于描述非线性关系
4. 对于一个具体的r值,根据经验可将相关程度分为以下几种情况(必须建立在对相关系数的显著性进行检验的基础之上):
a . 当|r|>=0.8时,可视为高度相关;
b. 当0.5<=|r|<0.8时, 可视为中度相关;
c. 当0.3<=|r|<0.5时, 可视为低度相关;
d. 当|r|<0.3时,说明两个变量之间的相关程度极弱,可视为不相关
参考内容:《统计学(第7版)》
Python实现方法
方法一:使用numpy包中函数 np.corrcoef(x, y)
import numpy as np
x = [1, 2, 3, 4]
y = [3, 4, 5, 7]
Pearson = np.corrcoef(x, y)
结果为:
方法二:使用公式计算
def get_pearson(x, y):
avg_x = np.mean(x)
avg_y = np.mean(y)
numerator = 0
denominator_x = 0
denominator_y = 0
for i in range(0, len(x)):
numerator += (x[i] - avg_x) * (y[i]-avg_y)
denominator_x += (x[i] - avg_x) ** 2
denominator_y += (y[i] - avg_y) ** 2
denominator = (denominator_x**0.5) *(denominator_y**0.5)
return numerator/denominator
结果为: