一、写在前面
在介绍这篇的文章主题——相关系数和特征选择之前,先来区别两个概念,一个是属性,一个是特征。一般,把数据集中的各列称为属性,而对算法模型表现有益的属性称为特征。举个例子,在预测泰坦尼克乘客的存活情况时,乘客姓名这个属性对我们的预测可能没有帮助,甚至会干扰模型表现;而乘客年龄、性别或许与存活情况有很强的关系,这时,可以称它们为特征。特征选择其实是区分属性与特征的一个过程。特征选择有多种方式,比如基于统计的特征选择和基于模型的特征选择,而基于统计的特征选择又可以细分为基于相关系数和基于假设检验这两种方式。这篇文章将介绍基于相关系数的特征选择。
二、相关系数介绍
相关系数是变量间相关程度的度量,取值范围介于-1到1之间。正值表示正相关,即变量变化方向是一致的,比如Y随着X的变大而变大;负值表示负相关,变量的变化方向相反,比如Y随着X的变大而变小。绝对值越接近1,表示两个变量之间关系越密切;越接近0,表示两个变量之间关系越不密切。相关系数对应的相关强度如下:
- 0.8-1.0 极强相关
- 0.6-0.8 强相关
- 0.4-0.6 中等程度相关
- 0.2-0.4 弱相关
- 0.0-0.2 极弱相关或无相关
相关系数也称为线性相关系数,这是因为,相关系数并不是刻画了X,Y之间一般关系的程度,而只是线性关系的程度。当相关系数为1或-1时,两者有严格的线性关系;当相关系数为0时,则称X与Y不相关。不相关是指X和Y之间没有线性关系,但X与Y之间可能有其他的函数关系,比如平方关系,对数关系(可以通过查看散点图来确定这一点)。
相关系数有多种定义方式,最为常见的是皮尔逊相关系数,除此之外,还有斯皮尔曼秩相关系数和肯德尔秩相关系数。我们通常所说的相关系数是指皮尔逊相关系数。
下面会依次介绍这三种相关系数。
三、皮尔逊相关系数
皮尔逊相关系数适用场景是呈正态分布的连续变量,当数据集的数量超过500时,可以近似认为数据呈正态分布,因为按照中心极限定理,当数据量足够大时,可以认为数据是近似正态分布的。
设(X,Y)是一个二维随机变量,且Var(X)>0,Var(Y)>0,则称$Corr(X,Y) = frac{Cov(X,Y)}{sqrt{Var(X)Var(Y)}}$ 为相关系数。$Cov$为协方差。
先来看一下协方差。$Cov(X,Y) = E((X-E(X))(Y-E(Y)))$。协方差为$X-E(X)$与$Y-E(Y)$乘积的期望。
根据协方差的定义,可以知道协方差可以为正、为负,也可以为零。
- 当Cov(X,Y)>0时,称X与Y正相关。这时两个偏差(X-E(X))与(Y-E(Y))同时增加或同时减少。由于E(X)、E(Y)都是常数,故等价于X与Y同时增加或同时减少,这就是正相关的含义。
- 当Cov(X,Y)<0时,称X与Y负相关,这时X增加而Y减少,或Y增加而X减少,这就是负相关的含义。
- 当Cov(X,Y) = 0时,称X与Y不相关。
下图展示了相关系数与变量分布的关系: