前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >商业决策中如何快速找到问题关键?变量降维算法详解

商业决策中如何快速找到问题关键?变量降维算法详解

作者头像
CDA数据分析师
发布2021-12-04 16:29:31
7650
发布2021-12-04 16:29:31
举报
文章被收录于专栏:CDA数据分析师CDA数据分析师

本周我们将告诉你如何快速找到矩阵分析中那2个关键维度——变量降维算法。下面介绍两种常用的降维方式:主成分分析法和因子分析法,并对比说明二者的联系与区别。

01

主成分分析的理论基础

在学习主成分分析的理论基础之前,首先来了解下两个连续变量的分布特征,两个连续变量的散点图的可能情况包括以下3种,如果散点图呈圆形,则代表两变量之间没有关系;如果呈向上的椭圆形,则代表两变量之间有正相关关系;如果呈向下的椭圆形,则代表两变量之间有负相关关系。

不同的散点图对应的抛物线图如下,所谓的抛物线图就是散点分布的概率密度的等高线。

从三维空间上来看,两个正态变量的联合密度函数的分布情况如下,如果两个变量之间没有关系,则对应的联合密度分布是一个等高线为圆形的山峰;如果两个变量存在线性关系,则对应的联合密度分布是一个等高线为椭圆形的山峰。

在实际工作中,变量之间很可能存在相关关系,此时就可以考虑对变量进行降维,比如某电信公司客户使用工具的情况如下,可以发现,发微信和上网这两个变量之间存在很强的相关性,所以在分析时要考虑使用降维技术。

这里需要说明变量之间的两种不同类型的依赖关系—函数关系和相关关系,函数关系即当一个或多个变量的数值确定以后,另一个变量的数值按照某种关系也随之被确定;相关关系即变量之间不存在确定的函数关系,只是存在某种非确定性的联系,这种依赖关系我们将用相关分析来研究。

简单相关分析是研究两个变量之间相关关系的常用方法。按照变量性质的不同,所采用的相关分析方法也不同。对于连续变量,通常使用Pearson相关系数来描述变量间的相关关系;对于有序变量,则常使用Spearman相关系数。换句话说,Pearson相关系数主要用来发现两个变量之间的线性关系,而Spearman相关系数主要用来发现两个变量之间的不带拐点的非线性关系。

总之,当发现变量之间存在相关关系时,首先需要对变量进行降维,然后再进行下一步的分析,降维的目标主要有两个:

1)使得原始数据变量的个数尽可能少;

2)要尽量保留原始数据较多的信息量,即要在尽量保留原始数据信息量的条件下减少变量的个数。

下图展示了两个连续变量之间的散点图分布情况,从图中可以看出,这两个变量之间存在明显的正相关关系,根据降维的思想,分析之前要对当前的两个变量进行降维处理,对于二维平面来讲,即是要找到一条直线,这条直线所包含的原始数据的信息量最大,那么,如何定义“信息量”这个概念呢?在不同的研究领域,有各自不同的常用的代表“信息量”的指标,比如在物理学界,经常使用“熵”来代表信息量,而统计学界,则经常使用“二阶统计量”来代表信息量。

其实,代表数据变化范围的量都可以用来代表信息量的多少,但我们经常使用方差来代表信息量,是因为在降维过程中涉及到空间的旋转,即会涉及到求导过程,所以在公式上并没有选择极差,但是在理论上仍然可以选择极差来衡量数据包含的信息量的大小。

这里,以方差来代表信息量,也就是要找到一条直线,使得原始数据在该直线上的投影的方差达到最大,这就得到了第一个主成分的方向,与第一个主成分垂直的方向即为第二主成分的方向。

其中,第一主成分包含了原始数据最多的信息量,第二主成分包含了原始数据最多的剩余信息量。以上过程就是整个信息分解的过程,但是,数据能否正真进行降维还需要对原始数据的特征做出判断,当第一主成分与第二主成分长度相同时,说明原始数据不适合降维,当二者长度相差很大时(比如5倍以上),说明原始数据可以进行降维,这就是降维的整体思路。

当维度扩展到多维,也可能存在变量相关的情况,以三维空间为例,如果变量之间存在相关性,那么数据在三维空间上的分布图就应该呈现压扁的橄榄球的形状,也只有这样的形状才可能进行降维,如下图所示。

此时,肯定可以找到一条最长的轴,该轴包含了原始数据最多的信息,即原始数据在该轴上的投影的方差是最大的,也可以称为主轴。找到主轴后,就可以找到一个与主轴垂直的平面,将原始数据投影到这个平面即将三维空间的数据降到了二维,接着在二维平面上再找到最长的轴,即第二长轴,与第一长轴和第二长轴构成的平面相垂直的方向即第三长轴的方向,这样就达到了信息分解的目的,接下来就可以根据信息分解的情况进行维度的选取,具体的选取原则将在后续内容学习。

了解了主成分分析的理论基础,接下来从数字化实现的角度来学习主成分分析。

02

主成分分析的计算过程

主成分分析可以通过建模的方式,确定输入变量的主要成分。从二维的角度来讲,寻找主成分就是寻找该平面上的两条直线

,满足以下条件:

1) 原始数据在直线

上的投影的方差最大

2) 直线

与直线

互相垂直

扩展到多维,用

表示随机向量,它的方差-协方差矩阵为∑,则有以下结论:

其中,

就是需要寻找的主成分,且两两主成分之间是正交的。根据主成分分析模型可以看出,原始数据有多少个变量就会得到多少个正交的主成分。

这里只是对原始数据进行了信息转换,并没有进行信息压缩,可以看出,每一个主成分都是原始变量的线性组合,

为组合的权重,满足式子

,使用主成分的方差对

求偏导即可找到使得主成分方差最大对应的权重矩阵。

经验证,以上求得的权重矩阵即方差-协方差矩阵对应的特征向量所构成的矩阵,所以,以上求解过程就转换为了求解∑的特征根方程

=0,将得到的特征根按照从大到小排序

分别为对应特征根的特征向量,则第i主成分为:

主成分的方差-协方差为:

其中,特征向量

代表各主成分的方向,特征根

代表对应主成分方差的大小,且各主成分之间互不相关。

表示原始变量的方差序列,

之和等于主成分方差

之和,即主成分的变异(方差)之和等于原始变量的所有变异,前若干个主成分的变异(方差)解释了原始数据绝大多数的变异(方差)。

每个主成分解释的变异为:

由于主成分是通过最大化线性组合的方差来得到的,所以它对变量的测量尺度非常敏感,当原始变量量纲不一致时,得到的主成分分析的结果也是不准确的,为了避免数据量纲对最终结果产生影响,在进行主成分分析之前默认都要对数据进行学生标准化处理,使得所有原始变量的方差为1。当保留所有主成分时,没有任何信息丢失,如果要进行信息压缩,就涉及到以下两个主成分的保留原则:

1)单个主成分解释的变异不应该小于1,通俗理解就是单个主成分解释的变异应该至少大于原始数据中的一个变量所解释的变异;

2)选取的主成分累积的解释变异达到80%-90%。

对于得到的主成分,可以从两个方面来进行解释。

1)考察第i 个主成分对应的系数(即根据系数绝对值较大的输入变量来解释第i 个主成分)。值得注意的是,系数的正负本身没有意义,这是因为∑ 或R 的任意特征向量e取负之后,仍然是特征向量。但是系数之间的正负对比是有意义的;

2)计算第i 个主成分与各输入变量的相关系数,根据那些对应相关系数的绝对值较大的输入变量来解释第i 个主成分。

03

主成分分析的应用

主成分常用的应用场景主要包括以下3种:

1)综合排名场景:考试总排名、员工绩效排名

2)确定分析因素场景(往往需要因子分析) :波士顿矩阵分析、聚类分析

3)为后续预测模型进行降维场景(往往需要变量聚类) :精准营销模型

场景1:综合排名场景

某金融服务公司为了了解贷款客户的信用程度,评价客户的信用等级,采用信用评级常用的5C方法,说明客户违约的可能性。其中,每个单项都是由专家打分给出。

  • 品格:指客户的名誉;
  • 能力:指客户的偿还能力;
  • 资本:指客户的财务实力和财务状况;
  • 担保:指对申请贷款项担保的覆盖程度;
  • 环境:指外部经济、政策环境对客户的影响。

首先,根据以上的应用场景,给出3种打分方式:

方法一:直接等权重加总

该方法是直接将单个分数相加的总和作为最终的评分,缺点包括1)在实际应用场景中,各变量的重要程度即权重可能不相同;2)只有分数是标准分的时候才可以相加,当分数不是标准分时,是不可以相加的。

方法二:层次分析法(德尔菲法)

该方法反应专家对变量的重要性排序,是一种常用的综合打分法,缺点是专家无法直接准确的分析出各变量之间的相关性。

方法三:

主成分分析法

该方法也是一种综合打分法,可以帮助确定各变量的权重,进而得到一个综合打分,和专家打分法的重要区别是主成分分析法是依据变量之间的相关性进行信息压缩的方法,具体步骤如下:

1)计算各变量之间的相关系数矩阵,查看变量之间的相关性,如果各变量之间互不相关,则说明没必要进行主成分分析,反之,当变量之间存在相关性时才可以进行主成分分析。

通过上述相关系数矩阵可以看出,能力与资本、附带担保品有着较强的相关性,表明客户的偿还能力与其财务实力、财务状况和抵押资产有着重要的关系。即原始数据变量之间存在较高的相关性,可以对其进行降维处理。

2)对数据进行中心标准化,消除数据量纲的影响。

3)进行主成分分析,开始时可以尝试保留较多的主成分个数(与原始变量相同数量),然后根据主成分个数的保留原则进行主成分的保留。

可以看出第一主成分解释的变异约为4.2,且解释了约84.2%的变异,根据主成分个数保留原则,说明使用第一个主成分作为每家贷款企业的信用打分是适宜的。

4)保留合适的主成分个数,并根据相应的权重向量(特征向量)进行综合打分。

特征向量提供了由原始变量到每个主成分的转换系数(权重)。所以,第一主成分的计算公式为:P1=0.413*品格+0.473*能力+0.465*资本+0.454*担保品+0.426*环境条件,利用特征向量的取值也可以对主成分进行解释,对第一主成分而言,各变量所占比重大致相等,且均为正数,说明第一主成分是对所有指标的一个综合测度,可以作为综合的信用等级指标,根据综合信用得分的排序情况进行贷款发放。

以上介绍了三种综合打分的方法,相对于前两种,主成分打分法最明显的区别就是丢失了原始数据的部分信息,即只保留原始数据主流的方向,与主流方向不一致的方向将被剔除。

场景2:确定哪些因素可以纳入到后续的分析模型中,比如后续要进行波士顿矩阵分、聚类分析,那么应该保留哪些变量呢?

CITIES_10”记录了十个沿海省份的经济指标,希望根据现有的数据指标分析评价每个省的经济状况,那么应该保留哪些变量放入模型中呢?

1)计算相关系数矩阵,判断当前的数据是否适合进行主成分分析。

2)对数据进行中心标准化。

3)尝试保留较多的主成分个数,最后根据主成分个数保留原则进行主成分的保留,如下图所示:

4)保留合适的主成分个数,并根据相应的权重进行综合打分

由于主成分本身是个综合的信息,所以并没有实际意义,只有分析人员赋予了它含义,那么,如何探究主成分的含义呢?以下是探究分析的过程。

分析每个主成分在各原始变量上的权重大小,发现第一个主成分在除人均GDP之外的其他变量上的权重较高;而第二主成分在人均GDP上的权重最高,在其他变量上面的权重都比较低,根据上述分析,可以归纳得第一主成分代表经济总量,第二主成分代表人均经济,需要注意的是,以上只是在猜测每个主成分的含义,并非确定性结论。如果想要得到更加明确的主成分的含义,就涉及到了因子分析,所以在确定分析因素的使用场景时,做到主成分分析是不充分的,需要进一步进行因子分析。

04

因子分析

继续主成分分析的思路,从前面的例子中可以看出,一般得到的第一个主成分是综合指标,第二个主成分是调和指标,绘制每个变量在这两个主成分上的权重的散点图如下图所示。

可以发现,权重在第一主成分上都比较高,在第二主成分上有正有负,这其实是一种常态,此时,经常会说第一主成分代表综合指标,第二主成分代表调和指标,但是这其实是没有实际的业务含义的,那么,如何来探究主成分的含义呢?科学家就提出在保证主成分正交的前提下对其进行旋转,使得第一主成分穿过一部分权重,第二主成分垂直于第一主成分并穿过另一部分权重,使得权重呈现“两极分化”,进而对其含义进行解读,如左下图所示,这就是因子旋转法中的正交旋转法,当然也有斜交旋转法,如右下图所示,但是在实际工作中并不常用。

因子分析的理念是数据只是表象,而表象受到一些基本因素的影响,因子分析最早使用在学生智力的评估中,众所周知,考试中会分为语文、英语、数学、物理、化学等,这些成绩就是我们看到的变量(即表象),影响这些变量的本质因素被科学家称为因子,那么,影响成绩的关于人的因子有哪些呢?

通俗来讲,就是影响人的智力的因素有哪些呢?这里列举了记忆、逻辑、计算等,而这些因子对各变量的影响程度是不同的,比如记忆力对英语和化学的影响程度比较大,逻辑思考对语文、数学的影响程度比较大,计算能力对数学、物理、化学的影响程度比较大,那么,能否通过表象来发掘他们内部的逻辑呢?这就是因子分析法的基本思路。

根据以上思路,就得到了因子分析的公式化表述,即可以将各变量表达成不同因子的线性组合,假设

是一个p维随机向量。

X的均值向量为:

X的协方差矩阵为∑,其对角线上的

值给出了Xk的方差

表示q个公共因子,

表示特殊因子,则有:

写成矩阵的形式是:

其中,

p维随机向量,

p维随机向量;L称为因子载荷矩阵,其第k行第i列的值

表示

在因子

上的荷载。

所以,因子分析的核心之一就是估计因子载荷矩阵L,其计算方法有多种,最常用的估计方法就是主成分法,另外还有极大似然法,但是该方法得到的结果一般都不可解释。主成分法的基本思路就是在主成分分析的基础上再进行一个旋转,使得主成分对于某些变量更具代表性,具体来讲,令ψ表示对角元素为

p维对角矩阵,将前面的结论写成矩阵形式:

其中,

中能被公共因子解释的部分;ψ中不能被公共因子解释而归结于特殊因子的部分。令

表示的特征值,

表示对应的特征向量,统计理论证明可以拆分为:

对任意

令因子载荷矩阵

的第i列为

,则有:

对任意

为对角元素,为

p维对角矩阵。

就是L

的估计值。

因子分析的目的并不是寻找公共因子,而是探究并解释公共因子的业务含义,即通过因子旋转使得载荷矩阵的各列元素绝对值呈0-1两极分化状态,其中,应用最广泛的因子旋转方法是最大方差旋转(varimax rotation)法,它是一种正交旋转,目的是使载荷平方的方差最大化,即最大化。

得到旋转后的因子载荷矩阵,即可对因子F代表的含义进行解释,同时得到因子得分。

05

因子分析的应用

因子分析的用处在于使得因子分析后得到的主成分比过去原始的主成分更加便于找到变量的含义,以下是主成分分析和因子分析得到的权重的对比:

因子旋转前

因子旋转后

可以发现,因子分析可以帮助我们更好的分离主成分的权重,即原始主成分权重高的变量旋转后对应的权重更高了,原始主成分权重低的变量旋转后对应的权重更低了,分离后使得每个主成分代表的变量更加清晰,进行权重的旋转后仍然是进行打分:

最后,为因子进行命名,因子1命名为经济总量水平,因子2命名为人均经济水平,后续可以进行聚类分析、矩阵分析等。

06

因子分析与主成分分析的关系

1)因子分析是主成分方法的拓展,可以很好地满足维度分析的需求;

2)对于没有业务经验的数据分析人员来讲,是通过观察每个原始变量在因子上的权重绝对值来给因子取名称的。而对于业务知识丰富的数据分析人员,已经对变量的分类有一个预判,并通过进行不同的变量转换(标准化)方式和旋转方式使得预判别为同一组的原始变量在共同的因子上权重绝对值最大化。所以因子分析的要点在于选择变量转换方式。

3)因子分析作为维度分析的手段,是构造合理的聚类模型和稳健的分类模型的必然步骤。在这方面,主成分分析、脊回归、LASSO算法回归只是在建模时间紧张和缺乏业务经验情况下的替代办法

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CDA数据分析师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档