购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第4讲
随机变量的相关性和重要性

数据之间存在着一定的相关性。如同图4-1所示:冰淇淋的销量和天气冷热具有相关性,化妆品的购买者和性别有相关性,冰淇淋和化妆品看起来没什么相关性。所以相关性具有正相关、负相关以及不相关三种。

在机器学习中,找到相关性以及衡量相关性为多少是一个很重要的任务和目标。

图 4-1

相关性可能是完全确定的(如函数关系),但是大多数是不确定的关系。这个不确定的关系不一定是直接的因果关系,但一定是有关联性的。也就是说,数据相关性技术是一种理解数据集中多个变量和属性之间关系的方法。

相关性的具体用途如下。

· 相关性用来进行特征的选择。

· 相关性可以帮助从一个变量(或特征)预测另一个变量(特征)。比如填补缺失值。

· 相关性有时可以表示因果关系的存在。

· 相关性被用作许多建模技术的基本量。

如果在数据集中具有完全正或负的属性,那么模型的性能很可能会受到一个称为“多重共线性”问题的影响。多重共线性发生在多元回归模型中的一个预测变量可以由其他预测变量线性预测,且预测精度较高的情况下。具体就是指一个变量的变化引起另一个变量的变化。原本自变量应该是各自独立的,根据回归分析结果,能得知哪些因素对因变量 Y 有显著影响,哪些没有影响。如果各个自变量 X 之间有很强的线性关系,就无法固定其他变量,也就找不到 X Y 之间真实的关系了(比如,同时将男、女两个变量都放入模型,此时必定出现共线性,称为完全共线性)。这可能会导致歪曲或误导的结果。

我们可以利用相关性去进行特征的选择,包括去掉冗余的特征等。如何找到并度量随机变量之间,也就是找到特征与特征之间、特征和目标之间的相关性呢?这就是本讲的主要内容。

至于为什么需要进行特征选择,是因为“维度的诅咒” 如果数据中的列数(特征)多于行数(目标),也意味着维度比样本数量维度更好,模型能够很好地匹配训练数据,但会导致过拟合,这对于训练数据以外的新样本使用模型是很不利的。

根据变量的类型,下面我们来介绍几种常用的相关性分析方法。

4.1 数值型变量之间的相关性

数值型变量意味着变量的数据是不可枚举的,这里介绍两种典型的方法。

4.1.1 协方差

协方差(Covariance)的英文名称其实很直观,就是变量之间的关系,用来快速判断两个变量数据或者两组不同数据是否具有线性正相关性或者负相关性,如果相关的话,相关程度如何。

先来看看公式:

其中, X i 表示 X 变量的 n 个取值, Y i 表示 Y 变量的 n 个取值, 表示 X 变量的平均值, 表示 Y 变量的平均值。 n -1主要是因为变量的值不是全部的,所以来表示是有一点偏差(“有偏”)的意思。每个变量减去平均值,也就是中心化的意思,这主要是为了计算时方便,同时也因为计算机对于大数的计算可能会存在溢出的问题。

公式毕竟比较抽象,我们把公式表示的意思用人比较明白的角度来进行一个描述。如图4-2所示是协方差的线性关系表示。把 X Y 变量的值对齐到各自的期望值附近,然后把区域分成A、B、C、D四个区域,分别就是:

区域A、C: ;区域B、D:

也就是说,当协方差的值为正时:

· 如果一方的取值大于期望值,另一方的取值大于期望值的 概率 也将更大;

· 如果一方的取值小于期望值,另一方的取值小于期望值的 概率 也将更大。

反之,如果协方差的值为负:

· 如果一方的取值大于期望值,另一方的取值小于期望值的 概率 将更大;

· 如果一方的取值小于期望值,另一方的取值大于期望值的 概率 将更大。

如果不存在上述相关性,协方差的值则为零。

图 4-2

通过简单地计算协方差,就可以大致知道两个变量之间的线性相关性(正负相关的程度),如果是正数,值越大就越正相关(值可能会超过1),如果是负数,值越大(值可能会小于-1)就越负相关,0表示不相关。

图 4-3

换一个角度来看协方差。如果把两个变量换成是 n 维的向量,那么从几何的角度来看,两个向量的点积表示一个向量在另外一个向量上的映射,如图4-3所示。

向量 a 表示为: a =[ a 1 a 2 ,…, a n ];向量 b 表示为: b =[ b 1 b 2 ,…, b n ]。

根据余弦定理:

其中,分子表示两个向量的点乘(点积),分母是两个向量的模(长度)的乘积。

可以看到,如果 a b 方向越一致,越靠拢,那么 a 0 部分就越大,也就是两者的点积就是正值并且数值越接近 a 。如果 a b 是垂直的,也就是两者是不相关的,那么值就是0。而如果两者是方向相反的,假设 a 方向是正的,那么投影方向就是负方向。

这里要强调的是非线性相关性用协方差是很难得出结论的。 同时作为分类的目标变量一般只有0/1或者几个多分类的值,不适合用协方差来计算,所以针对目标变量基本不使用协方差进行相关性分析,而是用在其他变量间的相关性分析。

4.1.2 皮尔逊相关系数

上面的协方差能反映两个随机变量的线性相关程度(协方差大于0时表示两者正相关,协方差小于0时表示两者负相关),但是如果我们要度量的是两个变量数据之间的“距离”的话,也就是要求在[-1,1]之间的值时,那协方差就无能为力了。不过这个也难不倒数学家们,在协方差基础上稍微加一点东西就可以了:

上面公式表示的就是 X Y 两个随机变量的皮尔逊相关系数(Pearson Correlation Coefficient),其实就是协方差作为分子,加上一个 X Y 的标准差的乘积作为分母。这样整个系数就在[-1,1]范围内,并且也体现了相关性程度。

大家有没有发现,这个公式其实和余弦相似度公式挺像的。 结合上面那张点积的图形以及余弦相似度公式:

余弦相似度(余弦距离)就是两个向量的点积除以模的乘积。和皮尔逊公式唯一的差别就是其分子的数据被“中心化”了,也就是每个数据要减去一个均值。

这里中心化了的另外一个好处是,当数据中存在0时,如果直接使用余弦距离来计算,就会把其中那项乘积变成0,影响了数据的精确性。而通过“中心化”,哪怕这个值是0,减去均值的话,也很大概率就不是0了(除非均值也是0),这样就可以更加精确地计算两者的距离。不过 本质上,皮尔逊系数和余弦相似度是一样的,前者多了一个中心化的过程, 实质不变!

如果两个变量本身就是线性的关系,那么皮尔逊相关系数没问题,绝对值大的就是相关性强,绝对值小的就是相关性弱。但在不知道这两个变量是什么关系的情况下,即使算出皮尔逊相关系数,哪怕结果值很大,也不能说明两个变量线性相关,甚至不能说它们相关。 故而一定要把数据通过图形展示出来看才行,这就是为什么说眼见为实和数据可视化的重要性。

最后,当两个变量的标准差都不为0时,相关系数才有定义,皮尔逊相关系数适用于数据具有以下条件时:

(1)两个变量之间是线性关系,都是连续数据;

(2)两个变量的总体是正态分布,或接近正态的单峰分布;

(3)两个变量的观测值是成对的,每对观测值之间相互独立。

比如符合上面条件的可能数据是:天气温度和冰淇淋的销量数据。

再补充一点,有时即便皮尔逊相关系数是0,我们也不能断定这两个变量是独立的(有可能是非线性相关);但如果距离相关系数是0,那么就可以说这两个变量是独立的。关于距离相关系数比较复杂,而且用的地方也不是太多,这里就不再讲述了。

4.2 类别型变量之间的相关性

类别型变量相比数值型变量而言,具有数值可枚举及离散性特点。因此采用的相关性判断方法和数值型变量不同。

4.2.1 互信息

对于非线性关系,互信息(Mutual Information)就显得比较重要了。在进行特征选择时,我们不该把焦点放在数据关系的类型(线性关系)上,而是要考虑在已经给定另一个特征的情况下,一个特征可以提供多少信息量。 互信息会通过计算两个特征所共有的信息,与相关性不同,它依赖的不是数据序列,而是数据的分布。

互信息的一个较好的性质在于,跟相关性不同,它并不只关注线性关系。

互信息我们在第3讲信息增益部分已经提到过,再来回顾一下:

I Y X )= H Y H Y | X

其中, X Y 表示两个随机变量( X 一般表示特征, Y 表示目标标签), H Y )表示单独根据 Y 的分布来计算的信息熵, H Y | X )是在以随机变量 X 作为条件的基础下,对应的 Y 的分布下的信息熵。

从图4-4所示互信息和熵之间的关系可以清晰地看到几个熵的关系。

小圆圈表示的是 H X ),大圆圈表示的是 H Y ),两者的并集是 H X Y ),斜线部分是 H X | Y ),中间交集部分是 I X Y ),右边反斜线部分是 H Y | X )。

如果两个熵没有变化,那么说明 X Y 没有能够提供有效地减小不确定性的信息,反之就表示可以提供有效的信息。回顾第3讲列举的打高尔夫球的例子,天气(Weather)相比别的特征,和“是否打高尔夫球”更加相关。

图 4-4

那么提供的这个信息量对于减少不确定性到底有多少呢?这就需要互信息来衡量,值越大,表示越相关,如果为0,表示没有啥关系,如果是1就代表通过 X 基本就能确定 Y ,完全相关。

在上面的公式中, X Y 是可以调换顺序的,两者计算出来的值一样:

I X Y )= H X H X | Y )= I Y X

所以从英文的意思来看,互信息就是指的两个随机变量之间相互关系的信息。 它的计算方式和信息熵一样(某种意思上来说,两者等同),具体方法大家可以回顾第3讲的信息增益部分计算, 这里就不重复了。如果随机变量是连续型的,就用积分来计算。

通过互信息可以来确定特征和目标变量之间的关联程度,可以进行特征冗余的辨别。如果是用在特征和目标变量之间,那么可以根据需要取关联度大的特征。如果用于特征对之间,对于具有较高互信息量的特征对,我们会把其中一个特征去掉。在进行回归时,可以把互信息量非常低的特征去掉。

基于互信息的相关分析计算方法有很多变种,比如,最大互信息(Mutual Information Maximization,MIM)、选择特征下的互信息(Mutual Information Feature Selection,MIFS)、联合互信息(Joint Mutual Information,JMI)、最小冗余最大相关(Min Redundancy Max Relevance,MRMR)等。

4.2.2 卡方值

卡方值(Chi-Square)也可以表示为 χ 2 ,来自统计中的卡方检验。 其基本思想是计算统 计样本的实际观测值与理论推断值之间的偏离程度,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合。

图 4-5

例如,现在需要研究学历和收入超过万元之间是否存在相关性,如图4-5所示。虽然常识告诉我们应该是相关性的,那么数学上如何来确定这个相关性呢?

首先可以通过问卷调查的方式得到如表4-1所示的学历和收入之间的观察数据,展示了本科和研究生收入是否超过万元的人数,这个就是观察值。

表 4-1

接下来,先计算收入超过万元和不到万元人数的分布,作为理论值:

收入不到万元人数比例 1 62% 38%

现在假设学历和收入超过万元是独立不相关的,也就是说本科生、研究生在收入超过万元的比例应该和上面的理论值相近。所以就按照相同的比例来计算本科生收入超过万元和研究生收入超过万元人数的理论值,即本科生和研究生收入超过万元的人数都是总计×62%,收入不到万元的比例是38%。所以:

本科生收入超过万元理论值=581×62%≈360

研究生收入超过万元理论值=232×62%≈143

得到学历和收入的理论值数据,如表4-2所示。

表 4-2

现在看一下卡方值的定义:

其中, A 是变量的观察值,即真实统计值; E 是理论值(期望数),即在假设两个变量不相关情况下的期望值。

结合上面的两个数据,我们来计算其卡方值:

如果我们有很多特征变量,每个特征变量都按照这种方式来计算卡方值,然后进行倒排序,那么卡方值越大的,就说明特征变量越和目标变量相关。在实际运用中,一般综合使用信息增益(IG)、信息值(IV)、卡方值等进行综合排名来确定特征的重要程度。

其他分析非线性相关的较常用的方法还有Spearman、Kendall等,这里就不讲解了。在实际运用中,可以多种方法进行组合使用,从不同角度去分析数据之间的相关性,然后要么进行变量缩减,要么通过降维手段来消除相关性等。

在本书第3部分的实例展示中,大家可以看到对于特征相关性的分析和处理。

4.3 证据权重和信息值

下面着重讲解两个证据权重(Weight Of Evidence,WOE)以及信息值(Information Value,IV),包括两者的实际含义、相互之间的渊源以及实际用途。

4.3.1 证据权重

证据权重出自银行金融中的评分卡。对于银行来说,需要针对信贷客户进行一个评分,从而来确定是否能够进行信贷活动以及信贷的数量等。针对这个问题,不能只通过模型算出一个分数来解决,而是需要能够解释这个分数的构成。

比如有一个随机变量是年龄,目标变量是好人(Good)和坏人(Bad)两种,我们需要知道以下几点。

(1)年龄这个随机变量整体上与好人或坏人的相关程度是多少?

(2)年龄中哪个年龄段对于是好人或坏人的相关程度是多少?

(3)如果需要有一个评分范围,那么对应的相关程度的评分应该是多少?

第一个问题,可以通过信息值(IV)来回答,它是针对整个随机变量而言的。

第二个问题,就是需要证据权重来回答的。

第三个问题,需要评分卡来回答的,这个问题将在第3部分的信用评分卡的例子中来回答。

一般来说,先回答第二个问题,然后在此基础上就可以回答第一个问题,也就是先看小群体,再组合起来看大群体。有点第3讲中自信息和信息熵的味道。

现在假设有收集到的如表4-3所示的年龄分箱后的好坏人群数量数据。

表 4-3

年龄是一个连续型的随机变量而不是类型变量,所以需要将其进行分箱(bin),至于用什么原则来分箱,将在第3部分的评分卡实例中详细介绍。

表4-3中的数据已经进行了分箱,所以年龄段的具体范围在实际计算中已经没有太大用处,当然在最后解释时还是需要的。

现在的目的是,如果把这些分箱后的特征作为“证据”来说,能否对样本有一个更为全面的了解,也就是说“实际中样本会受到哪种因素(自变量)的影响而导致变坏”。

要衡量这个证据对结果影响的程度,也就是“证据权重”, 就需要用到贝叶斯公式了( 可见贝叶斯公式在机器学习中的作用有多大 )。

在贝叶斯公式中,首先需要有一个先验知识。这里的先验知识是不考虑证据情况下的坏人和好人的几率,表示如下:

现在有了新的年龄数据(证据),比如上面的年龄特征( X ),那么需要来看看基于新特征的条件下坏人和好人的几率情况是否有变化。

根据贝叶斯公式:

继续写成几率(Odd)的方式:

通过取自然对数转换成和的方式:

上面的公式实际上是在先验知识基础上结合证据的情况下,对先验知识进行调整后的后验知识。继续对上面的公式进行变形,然后对应到每一个分箱中去:

最终证据权重得到正式的定义:

也就是说:后验知识减去先验知识就是代表这个证据起的作用大小——证据权重。实际上,上面的公式和逻辑回归的原理是一样的,这也是为什么在实际评分卡中更多地采用逻辑回归的方法来进行计算,然后对应到业务需要的分值范围的缘故。

根据公式,我们来看看上面具体例子年龄分箱对应的WOE i 值,如表4-4所示。

表 4-4

再来看WOE i 的一些性质。 证据权重描述了变量的当前分组(表4-4中的每一栏)对 判断个体是否会响应(或者说属于哪一类)所起到的作用的方向和大小, 当证据权重为正时,变量当前取值对判断个体是否会响应起到正向的影响(在以好人、坏人为分类中,表示越能对判断坏人进行响应),当证据权重为负时,起到了负向的影响。而证据权重值的大小,则是这个影响大小的体现。

4.3.2 信息值

知道了随机变量分箱后的每个箱的证据权重的计算方法,也就回答了4.3.1节三个问题中的第二个问题。那么对于这个随机变量而言,其整体信息的值也就是信息值该如何表示呢(第一个问题)?

第一个问题,是否可以直接把各个分箱的证据权重累加起来,不过从上面的例子中可以看到,WOE i 值有正有负,最终累加起来的数字也可能会是负的。这样的话,这个变量的预测能力是负数,从感觉上或者表达上都会比较别扭。

那有没有办法都转换为正数的方式,并且仅仅依赖每个分箱的数据,要怎么做呢?

如表4-5所示是分箱几率值及WOE i 值。

表 4-5

从表4-5中可以看到,Odd i -Odd total 这一列表示的是一个分箱中的Odd i 和整体Odd的差距。可以发现一个规律,如果这个值是正数,那么对应的WOE i 值也就是正数,如果这个值是负数,那么对应的WOE i 值也就是负数,两者值的绝对值同时大或者同时小。这样的两个值相乘,一个性质是不为负数,另一个性质是不改变单调性。所以信息值(IV)的定义就是:

从形式上来说,它和第3讲的相对熵也有点类似,其实这两者确实也有一定的关系。

这样来表示信息值的另外一个好处是:考虑到了群体稳定性,说到群体稳定性就对应的有一个指标,也就是PSI(Population Stability Index)指标。 事实上,稳定性指标的定义和信息值的定义是一样的。 为什么说信息值的好处是考虑了群体稳定性呢?群体稳定性的目的是为了减少各分区因为样本数量的悬殊而造成对模型稳定性的影响。

举例说明。如表4-6所示是不同数量级的样本信息表示的变量 A 和对应好人、坏人的数据。

表 4-6

A 取值是1时,其响应比例高达90%,那么我们是否能够说 A 整体对目标的预测能力强呢?看到 A =1时的数量只有100个,占总体数量的比例非常小,也就是 A 取1的可能性本身就比较低,不能代表整体。再通过表4-7所示的不同数量级的证据权重和信息值来看一下。

表 4-7

可以看到信息值总体并不高,这是因为信息值中考虑到了分组样本占总样本数的比例,综合起来就可以反映整体变量的信息值。

如果再进一步去研究信息值(IV)和群体稳定性指标(PSI)的含义,PSI反映的是数据的预期分布和实际分布的差异,而信息值的计算是把这两个分布具体化为好人分布和坏人分布的相对熵,如图4-6所示。信息值是通过信息熵来比较好人分布和坏人分布之间的差异性。而这种分布的差异性也可以通过前面章节中提到的相对熵(KL散度)来表示,因此可以发现数学的很多理论是统一的。

图 4-6

另外,根据经验,信息值和变量代表的预测能力如表4-8所示。

表 4-8

4.4 本讲小结

特征的选择是机器学习数据处理过程中很重要的一环,通过分析随机变量数据之间的相关性,可以完成这方面的部分工作。虽然现在深度学习模型可以把很多原始的数据直接导入模型进行计算,但是对于很多非图像等高粒度的数据而言,特征的选择依然是必需的。

进行特征信息度量的方法的理论很多是以第3讲的内容作为基础的,不同的科学家用不同的方法来进行了处理,因此需要了解其背后的原理。 z5xdUkMUbx8tX/4JyB9+c17FjkGs9dsG8GWKadtGfD8B4fdHSjdXbBLAte1yTE5Q

点击中间区域
呼出菜单
上一章
目录
下一章
×