本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
相关系数是统计学与机器学习中常用的指标,用来检测变量之间有没有相关性
本文详细剖析为什么相关系数的本质,进一步了解为什么它可以用来评估相关性
通过本文,可以深入了解相关系数的本质与原理,更进一步运用相关系数来分析变量
本节讲解相关系数为什么能评估变量之间是否相关
相关系数评估相关性的本质原理
相关系数是统计学中用于度量变量与变量之间的相关程度的一个指标
相关系数r的计算公式为:
其中,
相关系数-原理分析
为什么相关系数能评估变量的相关性,下面不妨分析一下它的原理
相关系数公式为两变量对应相乘再相加:
其中,和都是标准化数据,它们代表了x、y相对均值的增加或减少量
如图所示,和是围绕0上下波动,标准差为1的数据
下面分为x与y不相关、x与y相关两种情况进行讨论
一、如果x和y不相关
如果x和y是独立的,不相关的
则x'*y'有可能是正的,也有可能是负的,正负的概率都是50%
那么在整体样本求和下,正负相互抵消,和的期望就会为0
二、如果x和y相关
如果x,y之间强烈正相关,则x'增加,y'也增加,x'减少y'也减少
即x'为正时y'也为正,x'为负y'也为负,因此x'*y'就是正数
整体样本求和不会抵消,越相关,则越不会抵消,总和会越大
在最极致的情况下,x与y一模一样,即x=y,此时,
同理,当y=-x时,r(x,y)=-1
相关系数-原理总结
经过上述分析,相关系数能评估变量是否相关,
主要是通过检测两个变量标准化后,它们是否"一直同增减/反增减"
另一方面,如果从几何上理解,相关系数也可以理解为:
检测两个变量标准化后,是否主要落在 (1,3)或(2,4)象限,如果是,则相关
相关系数的经典例子
先看一个例子,,问x与y的相关系数是多少?
是的,
有的同学可能已经想到了,有的同学可能会觉得反直觉,下面不妨剖析一下
如图所示,y和x是抛物线关系,它先减后增,相互抵消,所以相关系数为0
在实际中有些同学往往会把"相关性强弱"与"关系强弱"两者混淆,混为一谈
相关系数只能代表变量之间是否"一直同增减或反增减",而不是"有没关系"
因此,即使两个变量之间的相关系数为0,它们之间也是可能存在强关系的
# 计算y=x*x的相关系数
import numpy as np
x = np.arange(-5,6) # 生成x
y = x*x # y = x*x
r = np.corrcoef(x,y) # 计算x,y相关系数
print('x与y=x*x的相关系数:',r[0,1]) # 打印相关系数
好了,以上就是相关系数为什么可以评估相关性的原理与分析了~
End