特别推荐丨老姚专栏:还拎不清主成分分析与因子分析?进来看看
全文共3122个字,细读大约需要13分钟
一、主成分分析
程序员小明每天“忙成狗”,完全顾不上自己的终身大事,只能靠老妈经常到公园相亲角转悠,替他物色对象。老妈对宝贝儿子的事情自然很上心。作为退休的小学数学老师,老妈办事挺专业,一个月下来,就把一叠数据整理好交给了小明。根据7项指标,老妈对很多姑娘进行了评分,见下表:
潜在对象各项指标得分表
面容 | 身材 | 健康状况 | 性格 | 家庭条件 | 工作性质 | 学历 | |
小红 | 85 | 78 | 92 | 91 | 83 | 71 | 67 |
小芳 | 75 | 80 | 85 | 90 | 90 | 74 | 80 |
小燕 | 90 | 85 | 80 | 85 | 60 | 75 | 83 |
... | ... | ... | ... | ... | ... | ... | ... |
一见到老妈的辛勤成果,小明就懵了——潜在对象们在7项指标上的表现参差不齐,那么到底该和谁优先交往呢?对此,老爸的意见很简单,那就是首先对7项指标进行简单平均,然后再看综合排名。但老妈不同意,她认为性格、家庭条件这两项指标相对于其他指标更重要,应赋予较大的权重。小明自己的意见是,面容、学历这两项指标最重要。多次家庭会议开下来,均无果而终。
小明最后冷静下来,决定采用一种对各分项指标进行客观赋权进而形成综合评价指标的方法,来解决争议。那么,有什么样的好方法呢?小明想到了统计学中的主成分分析方法(Principal Component Analysis,PCA)。在PCA方法下,指标权重来自数据本身,并且基于这些权重所构成的综合指标(即所谓的主成分)能尽量将评价对象分成“三六九等”,以凸显其差异。从数学原理上看,这是一个关于综合指标方差极大化的最优化问题,而权重就是这个最优化问题的解。
小明把数据输入电脑,让统计软件帮忙把这些权重计算出来。假设通过软件所获得的第一个最能反映评价对象差异的综合指标如下:
综合指标1=0.43面容+0.52身材+0.39健康状况+0.56性格+0.47家庭条件+0.61工作性质+0.48学历
综合指标1与简单平均指标大同小异,主要衡量了每个评价对象在各个维度上的平均表现。
假设第二个最能反映评价对象差异的综合指标如下:
综合指标2=0.72面容+0.58身材+0.29健康状况+0.12性格+0.26家庭条件-0.09工作性质+0.21学历
综合指标2主要衡量的是外在形象,因为面容与身材占据了较大的权重。在本例中,PCA方法最多可以获得7个综合指标,但既然该方法旨在通过形成综合指标以简化决策,亦即对原始指标体系进行降维,那么在实践中一般并不需要把7个综合指标全部拿来进行决策判断。在本例中,或许基于前两个最能反映评价对象差异的综合指标,就足以形成有效的区分——综合指标就是所谓的主成分。一般而言,选择主成分的标准通常是:所选主成分的累积方差占全部方差的80%以上。
PCA方法在综合评价中获得广泛的应用。不过要指出的是,这种方法完全属于数据挖掘,不具有理论性。在本例中,我们对两个主成分的含义进行了描述,但在很多情况下,主成分的含义也许并不清晰。另外,在PCA方法下基于某个综合指标进行排名还面临着一个不太理想的性质,即新增加观测单元将导致原来观测单元的相对排名发生改变。例如,在本例中,根据第一个主成分排名,假设顺序是小燕、小芳、小红......。现在新增加一个观测单元小霞,并重新利用PCA方法根据第一个主成分排名。由于数据集的变化会导致权重发生改变,新的排名可能是:小芳、小霞、小燕、小红......。显然,小燕与小芳的相对排名发生了逆转。
二、因子分析
小明利用PCA方法,基于第一个主成分进行了排名。但他还有点迟疑,就想起自己还有一个在某大学当统计学教授的叔叔,于是就把老妈整理的表格交给叔叔,希望他能给自己提点参考意见。叔叔对侄子的婚姻大事并不上心,但对这份数据却比较感兴趣。原来,这份数据为因子分析(Factor analysis)提供了很好的教学案例。
叔叔发现数据集中的某些分项指标具有较高的相关度。为什么会相关呢?他猜想相关的分项指标应该包含公共因子,而首先被想到的一个公共因子就是基因。于是,他建立了如下这个所谓的单因子模型:
面容= a1基因因子+面容特殊因子
身材= a2基因因子+身材特殊因子
健康状况= a3基因因子+健康状况特殊因子
性格= a4基因因子+性格特殊因子
家庭条件= a5基因因子+家庭条件特殊因子
工作性质= a6基因因子+工作性质特殊因子
学历= a7基因因子+学历特殊因子
在上述模型中,系数a1-a7就是所谓的因子载荷(Factor loading)。这个单因子模型从形式上看,很像一系列不带截距的回归模型——解释变量就是基因因子,而那些特殊因子相当于误差项。但问题是,基因因子属于所谓的潜变量(Latent variable),其取值是无法直接被观测到的。
因子分析的神奇之处出现了——虽然基因因子属于潜变量,但因子载荷确实可以通过数学方法求出来。但不幸的是,利用的不同数学方法可以求出不同的因子载荷,其根源当然是:基因这个公共因子原本就是想象出来的,而不同的“脑洞”自然会想出不同的结果。
假设根据不同的“脑洞”或者说数学方法获得不同的几套因子载荷,那么究竟应该选择那一套呢?选择标准当然是,因子载荷的取值应该使得模型是合理、可解释的。例如在本例中,基于常识判断,基因因子或许与面容、身材、健康状况、性格具有较大的相关性,与学历、家庭条件具有中等强度的相关性,与工作性质具有较弱的相关性——从数学形式看,在分项指标预先都进行了标准化处理的情况下,因子载荷的数值大小反映了各分项指标与公共因子的相关性程度小,而其符号反映了相关性的方向。如果某一套因子载荷的取值恰好满足这一标准,那么不妨选择此套因子载荷。
但若没有哪一套因子载荷满足这一标准呢?是的,很有可能出现这种情况,不过坚持公共因子就是基因这一想法的叔叔会尽力利用很多数学方法,来寻找满足标准的因子载荷,这就是所谓的因子载荷旋转。
借助统计软件,叔叔终于成功,为上述单因子模型找到一套理想的因子载荷。然后呢?小明对叔叔的“神操作”感到莫名其妙。叔叔解释道,通过各项指标识别出基因因子的作用,具有重要的学术意义。小明不关心学术,只关心自己的终身大事,于是问叔叔:“那么根据你的研究结果,给我提点‘政策建议’吧。”
叔叔得意地对小明说,作为本研究的副产品,这很简单。原因是,既然因子载荷已经被估计出,而各分项指标的取值也是知道的,那么由此可反推出基因这一公共因子的取值,这就是所谓的因子得分(Factor score)。将不同评价对象根据因子得分进行排序,然后就可以从基因层面上,将评价对象们分成“三六九等了”。小明一听觉得挺有道理,毕竟配偶具有良好的基因是非常重要的事呀。
在实践应用中,单一因子模型往往要拓展为多因子模型,但基本的道理是一样的。
三、主成分分析与因子分析的区别
根据前文的介绍,主成分分析与因子分析的区别其实非常明显:
不幸的是,虽然主成分分析与因子分析的区别很大,但不少人仍然会混淆两者,其中的可能原因是,在估计因子载荷时,有一种数学方法名叫主成分法(Principal component method)。之所以取这样一个令人混淆的名称,是因为在数学原理上,主成分法与主成分分析很相似。
_____________________________________
企研学术顾问 · 姚耀军
姚耀军,1976年出生,湖北利川人,浙江工商大学金融学院教授、博士生导师,浙江省高校中青年学科带头人,浙江省首期之江青年社科学者,浙江省“151人才工程”第三层次培养人员,杭州市“十三五”哲学社会科学应用经济学学科组评审专家,企研数据学术顾问。长期从事金融发展理论与实证研究,在《China & World Economy》《Frontiers of Economics in China》《金融研究》《数量经济技术经济研究》《财贸经济》《中国农村经济》等学术期刊上发表论文多篇,部分成果被《新华文摘》《中国法经济学研究》《中国经济的转型升级:新结构经济学方法与应用》《高等学校文科学术文摘》《人大复印资料》收录或者转载。主持教育部人文社科项目、浙江社会科学基金重点项目、浙江省自然科学基金项目等纵向课题多项。荣获中国制度经济学年会优秀论文奖、全国金融硕士教学案例大赛优秀案例奖、浙江省高校优秀科研成果一等奖、《金融研究》优秀论文奖、《财经研究》创刊60周年优秀论文一等奖等荣誉。担任《金融研究》《财经研究》等多个学术期刊的审稿专家。
►往期推荐
回复【Python】👉简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
工具&方法丨关于交互项的那些事(四):非线性模型中的交互效应
数据呈现 | Stata+R绘图:小提琴图,展示不同地区婚姻市场状况
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
欢迎扫描👇二维码添加关注