主成分分析(Principal Component Analysis,简记PCA)其实是一种古老的多元统计方法,早在1901年即由Karl Pearson提出。它的主要功能是将包含很多变量的高维数据 “降维”(dimension reduction),变成仅有少数几个变量的低维数据,并尽量使信息不损失或少损失。随着机器学习(Machine Learning)的兴起,主成分分析作为一种主要的无监督学习方法(unsupervised learning),其重要性日益凸显。在计量经济学的实证分析中,主成分分析也不时出现。
虽然市面上已有不少对于主成分分析的通俗解释,但似乎仍有不少人觉得主成分分析很玄奥。其实,主成分分析的思想并不难理解。但要彻底理解它,则需将其思想表述为数学问题,而求解所得结果,即为主成分。在这篇文章,我们就来直面主成分分析的数学问题。考虑 维随机向量 ,其维度 可能很大,故我们希望将其降维。是否可以将这 个变量作一个线性组合,比如:使得其所包含随机向量 的信息量最大?但何为 “信息量” 呢?不妨来看一个二维的示意图(二维降为一维)。
在上图中,如何找到两个随机变量 与 的线性组合 ,使得其包含向量 的信息量最大?从几何上,不难直观地看出,上图中实线方向所对应的线性组合,其波动幅度最大,故信息量最大。在数学上,这意味着,该线性组合的方差 达到最大。
更一般地,对于 维随机向量 ,希望找到以下 个线性组合(即主成分,Principal Components):其中,第一个主成分 包含的信息最多,第二个主成分 包含的信息第二多,以此类推;而且各主成分 之间均不相关(正交),即我们不希望这些主成分之间的信息有重合。
如果记随机向量 的协方差矩阵为 ,则主成分分析的数学问题可表述为:其中,根据夹心估计量(sandwich estimator)的公式,将 写为
意味着,将线性组合 的长度(向量内积)标准化为1;否则,只要增加 的长度,则方差 可无限增大,找不到最大值。由于上述最大化问题的目标函数为二次(型)函数,而约束条件为线性,故可引入拉格朗日乘子函数求解:从最后一个表达式不难看出,最优的 与 正是协方差矩阵的特征值(eigenvalue)与特征向量(eigenvector)!因为这就是线性代数对于矩阵的特征值与特征向量的定义……
进一步,将方程 的两边同时左乘 可知,主成分 的方差正好就是特征值 :而且,由于协方差矩阵 必然为半正定(positive semi-definite),故其所有特征值满足:
最后,我们只需验证,不同主成分之间是不相关的,即对于 :
其中, 最后一个等号是基于线性代数的一个结论,即不同特征值所对应的特征向量是正交的(故内积为 0)。
另外,通过使用矩阵的迹(trace)与对角化(diagonalization),还可证明一个奇妙的结论,即 的方差之和正好等于 的方差之和,即:因此,可定义第 个主成分对于总方差的贡献比例(Proportion of Variance Explained,简记 PVE):
在实践中,有时只需要提取前面的几个主成分,即可解释全部方差的80%甚至90%以上,而这正是 “降维” 的目的。
当然,在实证研究中,我们一般并不知道总体的协方差矩阵 。但如果有样本数据,则可计算样本协方差矩阵 ,然后基于 进行主成分分析即可。(1)一般将构成主成分的线性组合 ,称为“主成分载荷向量”(Principal Component Loading Vector)。显然, 也是一个合格的主成分载荷向量。因此,主成分载荷向量的符号并不确定;但除此以外,主成分载荷向量是唯一的。(2)由于变量的不同单位会影响其方差,故变量单位也会影响主成分分析的结果。一般的处理方法为先将变量标准化(即减去均值除以标准差),然后再进行主成分分析;或者以相关系数矩阵(Correlation Matrix)作为上文的 矩阵(相关系数不受变量单位的影响)。 (3)对于 的高维数据(即样本容量小于变量个数),最多只有 个主成分。其中,X1 X2 … Xp 为需要进行主成分分析的 个变量。也可以从相关系数矩阵出发,进行主成分分析,其命令为:其中,“matname” 为相关系数矩阵的名字,而必选项 “n(#)” 用于指定样本容量 。在计量经济学的实证研究中,可将主成分分析用于以下方面。(1)有时对于某个现象有多个不同的度量方式(比如,某地区不同交通方式的发达程度),但在回归方程中仅希望放入一个指标(表示交通的整体发达程度)。此时,为了便于解释,并避免多重共线性,可将这些变量的第一个主成分作为解释变量,放入回归方程。
(2)对于 的高维数据,可提取其前面若干个主成分作为解释变量,进行回归,以避免 “过拟合”(overfit)。此时,可将放入回归的主成分个数视为 “微调参数”(tuning parameter),并通过交叉验证(Cross Validation)来确定。(3)主成分分析也是进行因子分析(factor analysis)的方法之一。关于因子分析,在计量经济学的作用也日益重要,留待下期推文继续介绍。
__________________________________________陈强,《高级计量经济学及Stata应用》,第2版,高等教育出版社,2014年。
陈强,《计量经济学及Stata应用》,高等教育出版社,2015年。
►往期推荐
回复【Python】👉简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
工具&方法丨使用R语言的正确姿势,R包干货奉献
特别推荐丨老姚专栏:漫谈科学三则
学术前沿 | 机器学习如何改变劳动力市场?
工具&方法丨关于交互项的那些事(四):非线性模型中的交互效应
数据呈现 | Stata+R绘图:小提琴图,展示不同地区婚姻市场状况
这里是大数据、分析技术与学术研究的三叉路口
作者:陈强出处:计量经济学及Stata应用推荐:杨奇明编辑:青酱