*
第十三章 主成分分析和因子分析
在建立多元回归模型时,为了更准确地反映事物的特征,人们经常会在模型中包含较多相关解释变量,这不仅使得问题分析变得复杂,而且变量之间可能存在多重共线性,使得数据提供的信息发生重叠,甚至会抹杀事物的真正特征。为了解决这些问题,需要采用降维的思想,将所有指标的信息通过少数几个指标来反映,在低维空间将信息分解为互不相关的部分以获得更有意义的解释。本章介绍的主成分分析和因子分析可用于解决这类问题。
*
主成分分析(principal components analysis,简称PCA)是由霍特林(Hotelling)于1933年首先提出的。它通过投影的方法,实现数据的降维,在损失较少数据信息的基础上把多个指标转化为几个有代表意义的综合指标。
主成分分析
*
主成分分析的基本思想
假如对某一问题的研究涉及 p 个指标,记为X1,X2, …, Xp,由这 p 个随机变量构成的随机向量为X=(X1, X2, …, Xp),设 X 的均值向量为,协方差矩阵为。设Y=(Y1, Y2 , … , Yp)为对 X 进行线性变换得到的合成随机向量,即
()
设i=(i1, i2 , …, ip),( ), A=(1 , 2 ,…, p),则有
()
*
且
()
由式()和式()可以看出,可以对原始变量进行任意的线性变换,不同线性变换得到的合成变量Y的统计特征显然是不一样的。每个Yi 应尽可能多地反映 p 个原始变量的信息,通常用方差来度量“信息”,Yi 的方差越大表示它所包含的信息越多。由式()可以看出将系数向量i 扩大任意倍数会使Yi 的方差无限增大,为了消除这种不确定性,增加约束条件:
*
为了有效地反映原始变量的信息,Y的不同分量包含的信息不应重叠。综上所述,式()的线性变换需要满足下面的约束:
(1) ,即 ,i =1, 2, …, p。
(2) Y1在满足约束 (1) 即的情况下,方差最大;Y2是在满足约束(1) ,且与Y1不相关的条件下,其方差达到最大;……;Yp是在满足约束(1) ,且与Y1,Y2,…,Y p-1不相关的条件下,在各种线性组合中方差达到最大者。
满足上述约束得到的合成变量Y1, Y2, …, Yp分别称为原始变量的第一主成分、第二主成分、…、第 p 主成分,而且各成分方差在总方差中占的比重依次递减。在实际研究工作中,仅挑选前几个方差较大的主成分,以达到简化系统结构的目的。
*
总体主成分求解及其性质
节中提到主成分分析的基本思想是考虑合成变量的方差大小及其对原始变量波动(方差)的贡献大小,而对于原始随机变量X1,X2,…,Xp,其协方差矩阵或相关矩阵正是对各变量离散程度和相关程度的度量。在实际求解主成分时,一般从原始变量的协方差矩阵或相关矩阵的结构分析出发。
*
1.从协方差矩阵出发求解主成分
设1是任意 p1向量,求解主成份就是在约束条件 下,求 X 的线性函数 使其方差 达到最大,即达到最大,且 ,其中 是随机变量向量X =(X1, X2, …, Xp)的协方差矩阵。设1 ≥ 2 ≥ … ≥ p ≥ 0 为 的特征值,e1 , e2 ,…, ep为 矩阵各特征值对应的标准正交特征向量,则对于任意的ei 和 ej,有
()
且
()
*
因此
()
当1 = e1 时有
()
此时 达到最大值为1。同理有 并且
()
*
由上述推导得
()
可见Y1, Y2, …, Yp 即为原始变量的 p 个主成份。因此,主成分的求解转变为求 X1, X2, …, Xp 协方差矩阵 的特征值和特征向量的问题。
*
2.主成份的性质
性质1 Y的协方差矩阵为对角阵,即
()
性质2 设=(ij)p×p是随机变量向量 X 的协方差矩阵,可得
即
*
由此可见,主成分分析是把 p 个随机变量的总方差分解为 p 个不相关随机变量的方差之和1 + 2 +…+ P,则总方差中属于第 i 个主成分(被第 i 个主成分所解释)的比例为
()
称为第 i 个主成分的贡献度。定义
()
称为前 m 个主成分的累积贡献度,衡量了前 m 个主成份对原始变量的解释程度。
*
性质3 记第k个主成分 Yk 与原始变量 Xi 的相关系数为r(Yk,Xi),称为因子载荷,或者因子负荷量,则有
()
*
3.从相关矩阵出发求解主成分
在实际应用时,为了消除原始变量量纲的影响,通常将数据标准化。考虑下面的标准化变化,令
()
其中i,ii 分别表示随机变量 Xi 的期望与方差,则
*
原始变量的相关矩阵就是原始变量标准化后的协方差矩阵,因此,由相关矩阵求主成分的过程与由协方差矩阵求主成分的过程是一致的。如果仍然采用(λi ,ei)表示相关矩阵R对应的特征值和标准正交特征向量,根据式()有:
()
由相关矩阵求得的主成分仍然满足性质1~3。性质3可以进一步表示为:
()
*
样本的主成分
1.样本统计量
在实际工作中,我们通常无法获得总体的协方差矩阵和相关矩阵R。因此,需要采用样本数据来估计。设从均值向量为,协方差矩阵为 的 p 维总体中得到的 n 个样本,且样本数据矩阵为
()
*
则样本协方差矩阵为:
()
其中:
()
样本相关矩阵为:
()
样本协方差矩阵 S 是总体协方差矩阵 的无偏估计量,样本相关矩阵 是总体相关矩阵 R 的估计量。
*
2.样本主成份及其性质
由于采用相关矩阵和协方差矩阵求解主成分的过程基本一致,因此本节仅介绍基于样本相关矩阵求解主成分的过程。设样本相关矩阵 的特征值为 ,且
与特征值相对应的标准正交特征向量为 ,根据式()第 i 个样本主成分可表示为:
()
而且
()
()
*
且由式()和性质2可得
()
则第i个样本主成分的贡献度为 ,前m个样本主成份的累计贡献度为
另外
()
*
3.主成份个数的确定
主成分分析的目的之一是减少变量的个数,但是对于应保留多少个主成分没有确切的回答。通常需要综合考虑样本总方差的量、特征值的相对大小以及各成分对现实的阐述。一般所取 m 使得累积贡献率达到85%以上为宜。
另一个比较常用的可视的方法是碎石图,首先将特征值 按照从大到小的顺序进行排列,碎石图是特征值与相应序号i的(i, )图形,其中横轴表示序号,纵轴表示特征值 。为了确定主成分的合适个数,选择碎石图斜率变化较大的拐弯点,通常在此序号之后的特征值取值比较小,则此序号作为主成分的个数。例如,图所示的碎石图在 i=2 处拐弯,则 m 选择2。第三个经验的判断方法是只保留那些方差大于1的主成分。
*
例 宏观经济景气波动的主成分分析
本例从一批对景气变动敏感,有代表的指标中筛选出5个反应宏观经济波动的一致指标组:工业增加值增速(iva)、工业行业产品销售收入增速(sr)、固定资产投资增速(if)、发电量增速(elec)和货币供应量M1增速(m1),样本区间从1998年1月~2006年12月,为了消除季节性因素和不规则因素,采用X-12方法进行季节调整。常用的方法是美国商务部采用的计算合成指数CI的方法。特别的,本例利用主成分分析降维的思想,提取主成分(PCA),并与合成指数CI的结果进行比较。
*
EViews软件中主成分分析的计算
本节以例的数据为例,介绍EViews软件中主成分分析的实现过程。首先将所涉及的变量建成一个组(g1),选择组菜单的View/Principal Components...,出现如图所示的窗口。在窗口中有两个切换钮:第一个钮标着Components,第二个钮标着Calculation,控制着组中各序列离差矩阵的计算和估计。默认的,EViews完成主成分分析使用普通的(Pearson)相关矩阵,也可以在这个菜单下重新设定主成分的计算。
*
1.Components选择纽
Components按钮用于设定显示主成分和保存方差的特征值和特征向量。在Display对话框中可以以表的形式显示特征值和特征向量,或者按照特征值的大小以线性图的形式显示,或者是载荷、得分的散点图,或者两个都显示(biplot)。选择不同的显示方式,对话框中其余的内容也会发生相应的改变。
*
图 主成分估计对话框(1)
*
*
表头描述了观测值的样本区间、计算离差矩阵的方法以及保留成分的个数(在这个例子中显示了所有的5个主成分)。
表的第一部分概括了特征值(Value)、相应特征值与后一项的差(Difference)、对总方差的累积解释比例(Cumulative Proportion)等等。由于上述结果的计算采用相关矩阵,所以5个特征值之和等于5。第一个成分占总方差的%,第二个成分占总方差的%。前两个成分占总方差的%。
表的第二部分描述了线性组合的系数,第一个主成分(标为“PC1”)大约等于所有5个一致指标的线性组合,它可以解释为一般的经济景气指数。
输出的第三部分表示计算的相关矩阵。
*
第1主成分
第2主成分
第3主成分
第4主成分
第5主成分
特
征
向
量
固定资产投资增速(if)
工业增加值增速(iva)
货币供应量增速(m1r)
产品销售收入增速(sr)
发电量增速(elec)
特 征 值
贡 献 率
累积贡献率
表 一致指标组的主成分分析结果
*
由表可以看出,第1主成分的贡献率为%,已能较好地反映5个一致指标的总体变动情况,而且根据它们的特征值可以发现第2个特征值开始明显变小(小于1),碎石图出现明显的拐弯,同时为了讨论方便,仅选择m=1,提取第一个主成分反映经济变动。表中已经给出对应的特征向量,根据式()可以得到对应的主成分序列。
*
图 主成分估计对话框(2)
如果在主对话框的Display部分选择Eigenvalues plots,则显示按顺序排列的特征值的线性图(碎石图)。在对话框的下面将发生改变,可以选择显示特征值(碎石图)、特征值的差、方差累积贡献率其中之一,或是全部。如图所示可以选择任意的复选框。默认的EViews仅显示特征值排序的碎石图。
*
*
图 主成分估计对话框(3)
变量载荷图(Variable loadings plot)给出对应主成分的变量载荷系数,从图中可以看出如何根据原始变量合成新的主成分;成分得分图(Component scores plot)显示对应于样本区间内的观测值成分的得分值;biplot (Biplots (scores & loadings))则表示在一个图中同时显示载荷系数和得分值。
*
*
图 计算得分序列的设置对话框
2. Calculation选择钮
在Type下拉菜单中选择使用相关(Correlation)还是协方差(Covariance)矩阵。在Method下拉菜单中选择计算方法:Ordinary, Ordinary (uncentered), Spearman rank-order or Kendall’s tau-a, or Kendall’s tau-b。在该对话框中,还可以设定计算使用的观测值样本。
*
图 保存得分序列的对话框
3.保存得分序列
如果想保存主成分得分序列,直接从组(Group)菜单中选择Proc/Make Principal Components...,则出现图所示的对话框。
*
第一个选项是Scaling,用于选择得分序列和载荷计算的权重。有4个选项: Normalize loadings,Normalize scores,Symmetric weights和User loading weight,默认的Normalize loadings,表示标准化载荷,使得所有观测值得分对特征值有标准的比例;选择Normalize scores,所有变量标准化为1;选择Symmetric weights,将会有对称的权重;选择User loading weight,可以用户自己定义权重。
然后需要输入得分序列的名称,在例中,我们输入第一主成分的名字“PAC1”,用于保存第一个主成分。也可以根据需要保存对应得分的载荷、特征值和特征向量。
*
图中的实线给出了由主成分分析的第一主成分表示的一致景气指数(PCA),虚线给出的是由国际上常用的美国商务部计算合成指数的方法给出的一致合成指数(CI),可以发现二者的变化趋势和转折点几乎完全相同,只是波动的幅度略有差异。进一步表明:PCA指数不仅能够反映景气波动的变化趋势和峰谷的转折点,而且还能反映波动的幅度。
图 第一主成分 (PCA,左坐标), 一致合成指数(CI,右坐标)
*
因子分析
因子分析(factor analysis,简称FA)是主成分分析的推广,相对于主成分分析,因子分析更侧重于解释被观测变量之间的相关关系或协方差之间的结构。因子分析的思想源于1904年查尔斯·斯皮尔曼(Charles Spearman)对学生考试成绩的研究。研究多指标问题时常常会发现,这些指标相关性形成的背景原因是各种各样的,其中共同的原因称为公共因子;每一个变量也含有其特定的原因,成为特定(特殊)因子。因子分析的实质就是用几个潜在的但不能观察的互不相关的随机变量去描述许多变量之间的相关关系(或者协方差关系),这些随机变量被称为因子。为了使得这些因子能很好的替代原始数据,需要对这些因子给出合理的解释。同时为了使用这些因子,还需要对提取结果进行评价。
*
因此,可以简单将因子分析的目标概括为以下几方面:
(1)首先考虑是否存在较少的不相关的随机变量可用于描述原始变量之间的关系;
(2)如果存在公共因子,那么究竟应该选择几个;
(3)对提取的公共因子的含义进行解释;
(4)评价每一个原始变量与公共因子之间的关系;
(5)可以将这些公共因子用于其他的统计分析。
本节将从这几个角度给出详细的介绍。需要注意的是因子分析从一系列高度相关的原始变量矩阵X=(X1, X2 , …, Xp)中提取少数几个不相关的因子,所以如果原始变量之间不相关则没有必要进行因子分析。在实际研究和应用中,为了消除观察值之间由于量纲的差异而造成的影响,需要将观测值按照式()进行标准化处理。本节的讨论都是基于标准化后的序列,为了方便,把标准化后的随机变量矩阵仍记为Z = (Z1, Z 2, …, Zp)。
*
基本的因子分析模型
假如对某一问题的研究涉及 p 个指标,且这 p 个指标之间存在较强的相关性,则基本的因子模型可以表示为
()
称式()中F1, F2, …, Fm为公共因子,1, 2, …, p 表示特殊因子,其中包含了随机误差, i 只与第 i 个变量 Zi 有关, lij 称为第 i 个变量 Zi 在第 j 个因子 Fj 上的载荷(因子载荷),由其构成的矩阵 L 称为因子载荷矩阵。
*
式()进一步可以表示为下面的矩阵形式
()
其中,F = (F1, F2 , …, Fm); = (1, 2 , …, p)。注意式()中的F1, F2 , …, Fm 是不可观测的随机变量,因此,必须对随机变量 F 和 做一些假定,使得模型具有特定的且能验证的协方差结构。
*
假设
()
()
且 F 与 独立,即
()
满足式()~式()假定的模型()(或())称为正交因子模型。
*
正交因子模型的性质
1.正交因子模型的协方差结构
假定随机变量Z的协方差矩阵为Σ,则有
()
()
*
2.因子载荷 lij 的意义
由式()可得
()
由于假定 Zi 和 Fj 都是方差为1的随机变量,因此 lij 即为变量 Zi 与因子Fj 的相关系数。
*
3.共同度与公因子的方差贡献
由式()可得
令
则有
()
其中 hi2 反映了公共因子对 Zi 方差的贡献,称为共性方差,或者变量共同度。i 称为特殊方差,或者剩余方差。
*
式()表明, hi2 接近1时,i 接近 0,说明 Zi 包含的几乎全部信息都可以被公因子解释;当 hi2 接近 0 时,表明公共因子对 的影响不大,主要由特殊因子描述。因此, hi2 也反映了变量 Zi 对公共因子的依赖程度。与此类似,矩阵 L 的第 j 列元素反映了第 j 个因子 Fj 对所有变量 Z 的影响,记为
()
称为公共因子Fj 对原始变量向量 Z 的方差贡献,是衡量公共因子相对重要性的一个尺度,其值越大反映 Fj 对原始变量向量 Z 的方差贡献也越大。
*
因子载荷的估计方法
因子分析的首要步骤是先确定因子载荷,或估计得到因子载荷矩阵L,注意在式()和式()中的F1, F2, …, Fm是不可观测的随机变量,因此因子载荷矩阵L的估计方法都比较复杂,常用的方法有极大似然法、主成分法、迭代主成分方法、最小二乘法、 因子提取法等。
*
1.极大似然法
如果假设公共因子 F 和特殊因子 ε 服从正态分布,即F~ Nm(0, I), ~ Np(0, ),X1, X2, …, Xp 的均值为 = (1, 2 , …, p) ,则观测值 X1, X2, …, Xp 为来自正态总体 Np(, ) 的样本,可以采用极大似然法估计因子载荷矩阵和特殊方差,似然函数是 和 的函数 L( , )。
由于 ,因此似然函数可以更清楚地表示为L( , L, ),记( , L, )的估计量为 ,则有
()
*
2.主成分方法
用主成分法确定因子载荷,就是对随机变量进行主成分分析,把前面几个主成分作为原始公共因子。其具体过程如下,设有 p 个变量 Z = (Z1, Z2 , …, Zp),可以求得从大到小排序的 p 个主成分Y1,Y2,…,Yp,根据节的内容可知,原始变量与主成分之间存在如下的关系:
()
*
由于A =(1, , …, p)= (e1, e2, …, ep) 为正交矩阵,则有
()
如果在式()中仅取前m个主成分,把其余的 p-m 个主成分用特殊因子i 代替,则式()可以表示为
()
式()与式()的形式一致,Yi 表示主成分,因此相互独立。
*
为了使 Yi 符合式()假设的公共因子,需要将主成分Yi 的方差转变为1。由节的介绍可知,主成分方差为特征根 i,只需要将 Yi 除以标准差 即可,令
, ()
则式()转变为:
()
式()已与式()不仅在形式上一致,而且完全符合式()~式()的假设。由此就得到因子载荷矩阵和一组初始公共因子。
*
3.迭代主成分方法(Iterated Principal Factors)
迭代主成分方法也叫主因子法,或主轴因子方法,是对主成分法的一种修正。首先对原始变量进行标准化处理,其相关矩阵与协方差矩阵一致,使其因子模型满足式(),根据式()有
()
令
()
称R*为调整相关矩阵,或约相关矩阵。不妨设特殊因子i 的方差的初始估计为i*,则有hi*2 = 1- i* ,且相应的样本相关矩阵为 ,则对应的约相关矩阵为
()
*
设 的前m个特征值依次为1*≥ 2* ≥ … ≥ m* ≥0,相应的正交单位特征向量为e1* , e2*,…, em*,则对应的因子载荷矩阵 L 的解为
()
根据式()和式(),可以进一步得到特殊因子方差的最终估计量为
, ()
如果希望得到拟合程度更好的解,则可以采用迭代的方法,即利用式()得到的特殊因子方差估计量带入式()重复上述步骤,直到所求解比较稳定为止。
*
下面介绍几种求特殊因子方差和公共因子方差初始估计的几种常用方法:
(1)复合相关系数(squared multiple correlations,简称SMC)方法
SMC是比较常用的一种方法,令 ,其中rii是 的第i个对角元素,此时公共因子方差的估计值为
它表示 Xi 与其他 p-1 个解释变量之间的复相关系数。
(2)最大相关系数方法(max absolute correlation)
最大相关系数方法是用第 i 个变量 Xi 与其他变量相关系数绝对值的最大值来估计,即令 ,其中 rij 表示第 i 个变量 Xi 与第 j 个变量 Xj 的相关系数。
*
(3)对角线比例方法(fraction of diagonals)
该方法使用相关矩阵(或协方差矩阵)对角线元素的固定比例 。特殊的可以取 =1,此时结果等同于主成分求解得到的结果。
(4)分块的协方差矩阵估计方法(partitioned covariance,简称PACE)
由于第3种方法PACE的估计量是非迭代的,因此,比较适合为迭代估计方法提供初值。
(5)特殊的直接取 ,则 i*=0,此时得到的 也是一个主成分解。
*
因子数目的确定方法及检验
上述求解过程中重要的是如何确定公因子数目m,这是因子分析中最重要的一步。本小节将列出其中几种常用的方法
1.因子数目的确定方法
(1) 最小特征值(Kaiser-Guttman Minimum Eigenvalue)
Kaiser-Guttman规则也叫做“特征值大于1”方法,是最常用的一种方法。只需要计算离差矩阵(相关矩阵、协方差矩阵)的特征值,特征值超过平均值的个数作为因子个数。特别地,对于相关矩阵,特征值的均值为1,所以通常取特征值大于1的数作为公因子数。
*
(2) 总方差比例(Fraction of Total Variance)
选择公因子个数m使得前m个特征值的和超过公因子总方差的某一门限值。这种方法多用于主成分分析方法,比较典型的是这些成分构成总方差的95%(Jackson, 1993)。
(3) MAP方法(Minimum Average Partial)
Velicer (1976) 提出的最小平均偏相关(简称MAP)方法原理是:给定m个成分(m = 0,1,…,p-1),计算偏相关系数平方的平均值,应保留因子的个数是使得平均值最小化的个数
*
(4) 分割线段(Broken Stick)
分割线段模型的基本原理是:首先,计算离差矩阵中第j个最大特征值对方差的贡献度,然后计算从分割线段分布得到的相应的期望值 。当前者超过后者时,所对应的j即为应该保留的因子个数(Jackson, 1993)。
(5) 平行分析(Parallel Analysis)
平行分析模拟使用的数据与原始数据有着相同方差和观测值个数,是由随机生成器生成的独立随机变量数据集。计算模拟数据的Pearson协方差和相关矩阵及其特征值。只要原始数据的特征值超过模拟数据的对应值,相应的个数将作为保留因子数
*
2.公共因子个数的大样本检验
采用极大似然估计模型时,假设公共因子和特殊因子均服从正态分布,而正态分布的假定,可以帮助我们构造模型充分性的检验。设提取m个公共因子的模型成立,则检验m个公共因子的充分性等价于检验
()
对应的备择假设 H1 为 Σ 是任意其他的正定矩阵。
*
在原假设成立的条件下可以构造下面的似然比统计量
()
其中 Sn 表示协方差矩阵的极大似然估计; ,其中 和 分别表示 L 和 的极大似然估计量,而
是 的极大似然估计量。式()的统计量服从2分布。
特别的,Bartlett在1954年证明了-2ln抽样分布的 2近似可以用多重因子(n-1- (2p+4m+5)/6)代替式()中的n。
*
利用Bartlett修正,只要n和n- p大,若
()
则在显著性水平 下拒绝原假设 H0,认为 m 个因子是不充分的。式()表示的2统计量也称为Bartlett2统计量。由于式()中的自由度必须大于0,进一步化简可以得到
()
在选择 m 时,必须根据上述方法进行判断模型的充分性。
*
例 纽约股票交易所股票收益率的因子分析(1)
曾有学者研究了纽约票股交易所的5只股票(阿莱德化学(allied)、杜邦(dupont)、联合碳化物(union)、埃克森(exxon)和德士古(texaco))从1975年1月到1976年12月期间周回报率之间的关系(数据见本章附录)。周回报率定义为(本周五收盘价-上周五收盘价)/上周五收盘价,如有拆股或支付股息时进行相应调整。连续100周的观测值表现出独立同分布,但是各股之间的回报率受总体经济状况的影响,也存在相关关系。表给出各指标的相关矩阵。
*
表 各指标的相关矩阵
allied
dupont
union
exxon
texaco
allied
dupont
union
exxon
texaco
从表可以看出各股收益率之间存在一定的相关性,本例采用因子分析计算其因子载荷矩阵、公共方差、剩余方差以及相应的贡献度。
*
因子分析的实现
EViews中因子分析的实现是通过因子对象完成的。从工作文件的窗口选择Object/New Object,选中Factor;或者选中相应的序列,单击右键,选择Open/as Factor...;或者打开一个已经存在的组对象,选择Proc/Make Factor...;或者在命令窗口输入关键词factor,都会弹出图所示的因子分析设定对话框。从图中可以看出,因子设定对话框也包含两个切换钮:Data和Estimation。
*
图 因子设定对话框
*
1.Estimation 选择钮
Estimation标签用于控制主要的估计设置(图),其中主要包括估计方法、因子个数设定、初始贡献率以及其他属性4个方面的设置。
(1) 估计方法(Method)
在Method的下拉菜单中,EViews提供了多种估计方法:极大似然估计法、广义最小二乘法、不加权最小二乘法、主成分分析法、迭代主成分分析法以及非迭代的分区协方差估计方法(PACE)。选择不同的方法,在右边的属性部分将会显示不同的设置。
*
(2) 因子数(Number of factors)
EViews提供了很多的方法选择因子数,各种方法的简要概括可参考节的介绍。默认的,EViews使用Velicer的minimum average partial(MAP)方法。实证模拟结果表明:MAP和平行分析方法比起其他常用的方法来更精确。可以根据需要选择不同的方法,但是页面也会发生相应的改变。
(3) 公共方差的初值 (Initial Communalities)
大部分估计方法都需要公共方差的原始估计。例如,对主成分估计方法,初始的公共方差是构建估计的基础。在EViews中可以从Initial communalities的下拉菜单中选择不同的方法。
*
(4) 估计选项(Opition)
估计属性主要包括对迭代控制、scaling、随机数生成器以及Heywood情况的选择和设置。选中Scale estimates to match observed variances复选框,可控制剩余方差和公共方差之和等于离差矩阵的对角元素。
在迭代主因子估计的过程中,可能会遇到被估计公因子方差暗含至少一个剩余方差小于等于0,这种情况就是通常所说的Heywood情况。当EViews在计算中遇到Heywood情况时,有几种方法是可选择的。默认的,EViews将停止迭代,并给出最后的估计(Stop and report final),同时指出结果可能是不适合的;或者EViews报告前一次的迭代结果(Stop and report last);或者结果为0,继续(Set to zero, continue);或者忽略负的方差,继续(Ignore and continue)。
*
2.Data 选择钮
点击Data按钮,出现图所示的窗口,该窗口分为两部分——协方差设置和协方差属性。
图 因子分析的数据设定对话框
*
(1) 类型(Type)
协方差设置的第一项是Type下拉菜单,主要用于确定因子分析是基于协方差矩阵还是相关矩阵,或者采用用户已经根据相关测量方法定义的矩阵(User-matrix)
(2) 方法(Method)
可以用Method下拉菜单设定计算相关矩阵(或协方差矩阵)的方法:普通Pearson协方差、非中心协方差、斯皮尔曼秩协方差(Spearman rank-order covariances)和Kendall’s tau(肯德尔)相关测量。
*
(3) 变量(Variables)
在该框中应列出用于因子分析的序列名称,或包含这些序列的组名。
(4) 样本(Sample)
该项主要用于设定用于分析的观测值的样本,同时表明是否希望样本是均衡的。默认的,如果遇到缺失数据,EViews将删除相关变量中的缺失数据。
*
(5) 偏相关或偏协方差(Partialing)
偏相关和偏协方差可用于一对变量的分析,只需在相应的编辑框中列出变量名称。偏协方差或偏相关的分析不支持因子得分的计算,在这种选择下要计算因子得分,同样也需要使用用户设定矩阵估计模型。
(6) 权重(Weighting)
当选择使用加权方法时,将会提示需要输入权重序列的名称。有5种不同的权重选择:频率、方差、标准偏差、比例方差和比例标准偏差。
(7) 自由度修正
可以选择使用极大似然估计量或者自由度修正规则计算协方差。默认的,EViews计算(没有自由度修正的)ML估计的协方差。
*
(8) 用户设定矩阵
如果在Type下拉菜单中选择User-matrix,对话框将会发生改变。依次输入矩阵名称,这个矩阵应该是方阵,并且是对称的,但是对称不是必须的;然后输入一个标量表示观测值的数,或者一个矩阵,它包含表示观测值数目的一对数;最后,列名()主要是为结果提供标签,如果不填写此项,变量将以“V1”, “V2”…的形式显示,不需要为所有的列提供名字,默认地名字将按照提供的顺序被替代。
*
下面给出例采用主成分方法求解m=2时的结果,因子个数设置为2,其他选项都采用默认设置,其结果如下:
公共方差 ,剩余方差 = =。其它相对应的公共方差和剩余方差以此类推。从表中可以发现所有股票都高度依赖于F 1 ,且载荷都差不多相等,可称之为市场因子,代表总的经济条件。而在因子F 2上,化学类股票在此因子上均有负载荷,石油类股票在此因子上有正的载荷,表明因子F2 将不同行业股票加以区分,称为行业因子。
*
同时比较极大似然估计和主成分估计的结果可以发现:同样在因子F1上有大的正的载荷,称为市场因子;而因子F2的结果与主成分分析载荷的符号正好相反,同样也是区分了行业,因此也称为行业因子。我们需要进一步通过因子旋转才能发现有用的因子模式。
例 影响我国物价波动多因素的因子分析(1)
随着我国市场化程度的深化以及经济全球化进程的加快,我国物价的波动不仅反映了国内市场中总供给和总需求的矛盾,而且受国际经济的影响,尤其是国际市场价格的影响也越来越大。受国内经济波动、居民收入及财富变化、生产成本价格上涨、国际石油、粮食等原材料价格的影响使得我国物价的波动变得极其复杂。由于物价的波动不是取决于某一种因素,或某几个指标,而是受多方面因素的影响,此时简单的多元回归分析已经无法满足分析的需要。
本例选择15个经济变量,采用因子分析方法分析各因素对物价波动的影响,样本区间为2000年1季度~2008年3季度。采用主成分方法(Principal Factors)求解,按照特征根大于1的准则,选取因子数目 m=4,求解结果如表。
剩余
方差
累计贡献率(%)
贡献率(%)
特征值
上证收盘综合指数同比增速
股价指数
G7支出法GDP同比增速
G7工业品出厂价格指数
国际
因素
GDP增长率
M2增速
货币乘数
外汇储备同比增速
货币
因素
城镇家庭人均可支配收入增速
全部从业人员人均报酬增速
需求
因素
工业企业成本费用利润率
商品房销售价格指数
农副产品类购进价格指数
工业品出厂价格指数
原材料、燃料、动力购进价格指数
成本
因素
居民消费价格指数(CPI)
CPI
剩余方差
F4载荷li4
F3载荷li3
F2载荷li2
F1载荷li1
指标名称
表 影响物价波动多因素的因子分析结果
从表中可以看出:4个公因子对原始变量方差的累计贡献率为%,可见通过因子分析实现了将15维数据变量降至4维的目的。采用表的信息还可以得到各变量对应的公共方差和剩余方差,如对于第一个变量,
= =。其它变量相对应的公共方差和剩余方差以此类推。同时,通过表各公因子的载荷可以看出:代表成本因素的各上游价格指数在公因子F1上有较高的载荷,可称为成本因子;而代表居民需求增长的两个收入变量在公因子F3上有较高的载荷,可称为需求因子;而表示货币因素的3个变量在公因子F2上有较高的载荷,可称为货币因子;而代表财富变化的股票指数在公因子F4上有较高的载荷,称为财富因子。但还有一些变量的载荷并不是很明确,我们可以通过因子旋转得到实际意义更加明确的因子模式。
*
因子旋转
因子分析的目的不仅是求出公共因子,更重要的是知道每个公共因子的实际意义,以便对所研究的问题作出进一步的分析。公共因子是否容易解释,很大程度上取决于因子载荷矩阵 L 的元素结构。假设因子载荷矩阵 L 是基于相关矩阵得到的,则其所有元素均在 -1 到 1 之间,如果 L 的所有元素都接近 0 或±1,公共因子的含义就容易解释了,否则公因子含义将含糊不清。
*
设L是通过某种方法估计得到的因子载荷矩阵,令
且 ()
()
式()和式()表明因子载荷矩阵是不唯一的,对一任意正交阵 T, 也是一个因子载荷矩阵。因此,实际中求得一个载荷矩阵 之后,可通过右乘正交阵 T,使 更具有实际意义,这种变换载荷矩阵的方法称为因子轴旋转。因子的旋转方法有正交旋转和斜交旋转。正交旋转与斜交旋转区别就在于:正交旋转得到的新公共因子仍然是相互独立的,但斜交旋转则放宽了这一限制。
*
正交矩阵 T 的不同选取法构成了正交旋转的各种不同方法,如最大方差旋转法(Varimax)、全体旋转(变量和因子同时旋转,Equamax)、四分旋转(Quartimax)等。最常采用的是最大方差旋转法,其旋转目的是使得因子载荷矩阵的元素取值尽可能地向两极分化,部分元素取尽可能大的值,部分元素尽量接近零值。
本节主要介绍最大方差旋转法,其基本思想如下:
*
先考虑两个因子(m=2)的平面正交旋转,设因子载荷矩阵为
()
取正交矩阵为
其中 表示坐标平面上因子轴旋转的角度,则
()
*
当公共因子个数大于2时,可以逐次对每两个进行上述的旋转,如果存在m个公共因子,则需要进行 次变换,这样就完成一轮旋转。如果旋转完毕,并不能认为已经达到预期的效果,可以在第一轮所得结果基础上继续上述旋转过程,可得第二轮旋转结果。每一次旋转以后,所得载荷矩阵各列平方的相对方差之和总会比上一次有所增加,而另一方面由于载荷矩阵每一个元素的绝对值均不大于1,因此,其方差最终一定会收敛于某一个极限。实际中,通常经过若干次旋转以后,如果总方差改变不大,则可以停止旋转。
*
因子旋转的操作
为了使得因子具有实际的意义,可以对初始回归的结果进行因子旋转。在EViews中简单地点击因子对象工具条中的Rotate按钮,或者选择Proc/Rotate...,都可以调用Factor Rotation对话框,如图。
图 因子旋转设定对话框
*
Type和Method下拉菜单可用于设定基本的选转类型和方法,其中的一些方法,可能需要输入一些参数值。默认的,在旋转前,EViews不列出载荷权重。为了标准化数据,可以点击Row weight下拉菜单选择Kaiser或者Cureton-Mulaik。
另外,如果没有旋转载荷,EViews自动使用单位矩阵作为旋转迭代的初值。也可以在Starting values下拉菜单中选择合适的方式,如Random或User-specified。如果已经完成一次旋转,也可以使用已经存在的结果作为下一次旋转的初值。
设置完毕单击OK即可。EViews的估计结果将列出旋转的载荷、因子相关关系、因子旋转矩阵、旋转后的载荷矩阵和旋转目标函数值。EViews会把结果保存在因子对象中,从因子对象中选择View/Rotation Results,可以随时查看旋转结果的输出表。
*
例 纽约股票交易所股票收益率的因子分析(2)
从因子旋转后结果可以看出石油股票(德士古和埃克森)在因子F1有较高的载荷,而化学股票(阿莱德化学、杜邦、联合碳化物)在因子 F2有较高的载荷。进一步表明正交化的因子旋转将行业区分开,因子 F1 代表引起石油股票波动的独特的经济力量,因子F2 代表引起化学股票波动的独特的经济力量。在例中表示一般市场因子的 F1被破坏了。
例 影响我国物价波动多因素的因子分析(2)
本例对例的结果采用方差最大化的正交旋转方法进行因子旋转,希望得到更好的结果,本例进行了两次旋转以后,总方差变化不大,结束旋转。旋转后的公共因子记为 (i=1,2,…,4),相应的载荷记为 ,其结果如表所示。
上证收盘综合指数同比增速
股价指数
G7支出法GDP同比增速
G7工业品出厂价格指数
国际
因素
GDP增长率
M2增速
货币乘数
外汇储备同比增速
货币
因素
城镇家庭人均可支配收入增速
全部从业人员人均报酬增速
需求
因素
工业企业成本费用利润率
商品房销售价格指数
农副产品类购进价格指数
工业品出厂价格指数
原材料、燃料、动力购进价格指数
成本
因素
居民消费价格指数(CPI)
CPI
F4载荷li4
F3载荷li3
F2载荷li2
F1载荷li1
指标名称
表 影响物价波动多因素的因子分析旋转后的结果
从表旋转后的各公因子的载荷可以看出各因子所代表的意义更明确:代表成本因素的各上游价格指数和G7_ PPI的变化在公因子F1上有较高的载荷,可称 F1为成本因子,同时也表明我国价格的变化,尤其是原材料类价格的变化和国际PPI的变化有较高的相关性;而代表居民需求增长的两个收入变量在公因子F3上有最高的载荷,可称 F3为需求因子;而表示包括GDP增长率在内的货币因素在公因子F2上的载荷都是最大的,可称 F2为货币因子;而代表财富变化的股票指数和表示国际经济形势的G7_GDP指数同比增速在公因子F4上载荷最大,称为财富因子和国际经济因子。通过观察旋转后的因子载荷,可以发现各因子所代表实际意义更明确。
本例主要考察物价波动,通过观察可以发现CPI在各公因子的载荷分别为、、和,可见代表成本和需求变动的因子和对CPI变化的解释能力是最强。
*
因子得分
前面介绍了如何获得公共因子和估计因子载荷矩阵,但有时候需要把公共因子表示成原始变量的线性组合,对每个样本计算公共因子的估计值,也就是求因子得分,因子得分可以作为进一步分析的原始数据。例如:对学生的各科成绩进行分析,可发现依赖于两个因子——全面智力和适应开闭卷的能力,实际中我们不仅仅希望归纳出影响学生成绩的因子,而且希望知道每一个学生对这两种能力作出什么评价,或者说他在这两个公共因子上应打多少分。这就需要求解个体在公共因子上的得分。下面介绍两种常用的因子得分估计方法。
*
1.加权最小二乘法
对于因子模型
()
因子载荷矩阵L及特殊因子方差阵是已知的,可以假定特殊因子 是误差。如果 var(i) = i 对于i = 1, 2, …, p 不全相等,巴特莱特(Bartlett,1937)建议采用加权最小二乘法。采用误差方差的倒数作为权系数,则误差平方的加权和可以表示为:
()
*
选择F的估计值使得式()最小化,其解为:
()
当采用极大似然法求解因子载荷矩阵时,需要满足唯一性条件: L L是对角矩阵。若对原载荷矩阵改用旋转后的载荷矩阵L*=LT,则相应的因子得分可表示为 。
如果采用主成分分析方法估计因子载荷矩阵,习惯上采用未加权的最小二乘过程生成因子得分,则因子得分为
()
*
2.回归法
仍然考虑因子模型()
()
假设原始变量已标准化。在因子模型中也可以反过来将公共因子表示为变量的线性组合,建立公因子 F 对变量 Z 的回归方程:
()
令
则 B 是需要估计的回归系数,但是 Fj 是不可观测的。
*
由因子载荷的意义有:
()
即
则有 ,其中R为样本相关矩阵,于是公共因子的估计为:
()
由样本计算相关矩阵,并估计因子载荷矩阵即可求得因子得分的估计值。
*
3.因子得分的评价
由于因子的不确定性,使得大量学者关注模型估计结果评价的问题。Gorsuch (1983) 和 Grice(2001) 给出了关于下述测量方法的详细讨论。
(1)不确定性指标(Indeterminacy Indices)
度量不确定性的指标可以分为截然不同的两类。第一类指标测量每一个因子和被观测变量之间的多元相关系数r和它的平方r2。多元相关系数的平方是矩阵P = -1L的对角线元素,其中 可观测的离差矩阵。这些指标的取值在0和1之间,数值越大越好。
第二类不确定性指标给出可供选择的因子得分之间的最小相关系数r*,r* = 2r2-1。最小相关系数取值范围为-1 到1。较大的正值是比较满意,因为它表明不同的得分集合将会产生相似的结果。
*
(2)有效性、单一性和相关精确性指标
定义Rff 作为总体因子相关矩阵,Rss 作为因子得分相关矩阵,Rfs作为已知因子与被估计得分的相关矩阵。一般来说,希望这些矩阵是相似的。
Rfs 的对角元素被称为有效性系数,这些系数在-1到1之间,较高的正值是理想的。有效性系数和多元相关系数r存在差异,表明计算得到的因子得分的确定性较低。一般获得的有效性值至少为,如果希望使用得分序列作为替代变量,则有效系数需要大于。
Rfs 的非对角线元素称为单一性,用于测量被估计的因子得分与其他因子的相关程度。
*
1.显示形式
为了获得得分系数和得分序列,在因子对象的工具条中单击Score,或者从因子对象菜单选择View/Scores...,可得到因子得分设定对话框。
计算因子得分
图 因子得分设定对话框
*
在图中可以选择显示形式(Display):
(1)Table summary,以表的形式显示因子得分系数、不确定性指标、有效系数和单一性测量;
(2)Spreadsheet,因子得分值表;
(3)Line graph,得分线性图;
(4)Scatterplot,成对因子的得分散点图;
(5)Biplot graph,成对因子得分和载荷的双标图。
*
2.得分系数
估计得分,需要先设定一个计算得分系数的方法,确定是使用精确系数(Exact coefficients)、还是粗略系数(Coarse coefficients)、或者基于因子载荷计算的粗略系数(Coarse loadings)。默认的,EViews采用精确系数估计得分。根据相应的选择,还需要提供其他的信息:
(1)如果选择Exact coefficients或者Coarse coefficients,将提示选择估计方法(Coef Method),在其下拉菜单中可以选择:回归 (Thurst one’s regression)、Bartlett加权最小二乘 (Bartlett weighted least squares)等方法。
(2)如果选择Coarse coefficients或者Coarse loadings,EViews将提示coarse方法和中止值。
*
3.得分序列
在计算得分时,需要给定可观测变量的集合以及相应的样本,得分的计算将基于给定样本范围内标准化后观测值的线性组合得到。
EViews自动在Observables编辑框中填入用于计算的原始变量的名字,需要选择标准化时采用估计得到的矩还是原观测值的矩(均值)。特殊的,计算得分和估计时采用相同的数据,则两种情况的矩是相同的。因此,如果计算得分的观测值或变量不同于估计时,这个选择将是非常重要的。
4.图属性
当选择用图视图显示结果时,需要设定要显示的因子。默认的,EViews给出所有因子的图,与前面主成分分析中讨论的相似。
*
例 纽约股票交易所股票收益率的因子分析(3)
在例获得稳定的因子旋转结果之后,可以进一步计算因子得分序列,考察化学行业和石油行业独特因子的波动特征。本例采用回归法计算两个因子的因子得分。
两个因子的有效系数分别为和,具有较高的正值,因此结果比较理想。其单一性系数均为,其值较小,也满足要求。
*
图 因子F1的得分序列 图 因子F 2的得分序列
例 影响我国物价波动多因素的因子分析(3)
在例获得稳定的因子旋转结果之后,可以进一步计算因子得分序列,用于考察影响物价波动的各公共因子的波动特征。本例采用回归法计算4个公因子的因子得分,其对应的因子得分系数矩阵如表。
上证收盘综合指数同比增速(sz)
G7支出法GDP同比增速(gdp_G7)
G7工业品出厂价格指数(PPI_G7,上年同期=100)
GDP增长率(gdp)*
M2增速(m2)*
货币乘数(B)*
外汇储备同比增速(res )
城镇家庭人均可支配收入增速(incr_u)*
全部从业人员人均报酬增速( incr_a)*
工业企业成本费用利润率(cpm)
商品房销售价格指数(HPI,上年同期=100)*
农副产品类购进价格指数(API,上年同期=100)
工业品出厂价格指数(PPI,上年同期=100)
原材料、燃料、动力购进价格指数( RMPI,上年同期=100)
居民消费价格指数(CPI,上年同期=100)
指标名称
表 因子得分对应的系数矩阵
用表中各公因子对应的得分系数分别乘以各变量标准化后的序列即可得到各公因子对应的得分序列。
根据例的结论可知,第1公因子对CPI的说明能力最大,从图也可以看出:第1公因子与CPI具有非常相似的波动,即在物价波动的上升期,成本因子都具有较高的得分;而在物价波动的下降期,成本因子的得分都趋于下降。
同样,根据例的结论可知,第3公因子对CPI的说明能力第二大,从图也可以看出:从2006年3季度以来第3公因子具有较高的得分,可见2007年下半年到2008年上半年我国经历的通货膨胀,受需求拉动的影响也比较大。
*
5.保存得分
得分程序提供了将得分值以序列的形式保存在工作文件中的功能。使用Proc/Make Scores...可以保存得分,此时EViews将会打开一个与视图对话框有显微差别的对话框。EViews用Output specification部分代替Display部分,在这一部分编辑框中需要输入一系列需要保存的得分即可。
如果保存前两个因子作为“AA”和“BB”序列,需要在编辑框中输入“AA BB”。如果仅仅输入指数“1 2”, 而且事先没有用Proc/ Name Factors....为因子命名,EViews将会把前两个因子用默认的名字“F1”和“F2”保存。
*
因子视图
EViews提供了一系列的因子对象视图,可用于得到所估计模型的各种属性。
1.Specification 对估计及旋转设置体提供了详细的文本说明。
2.Estimation Output(估计结果)
3.Rotation Results(旋转结果)
4.Goodness-of-fit Summary(拟合度概览)
5.Matrix Views(矩阵视图)
可以显示各种协方差矩阵的表格视图。如可观测值的协方差矩阵、约化的协方差矩阵、拟合的协方差矩阵和残差协方差矩阵。
*
6.Factor Structure Matrix(因子结构矩阵)
7.Loadings Views(载荷视图)
通过该视图,可以使用图或表的形式列出旋转或未旋转的载荷。
8.Scores(得分视图)
9.Eigenvalues(特征值视图)
因子模型诊断的重要部分之一就是估计简化和非简化矩阵的特征值。
*
因子过程
点击因子对象工具条的Proc纽,可实现下面的功能:
(1)Specify/Estimate...是估计因子模型的主程序,与工具条中Estimate的功能相同,将会弹出图所示的因子分析设定对话框。
(2)Rotate...用于实现因子旋转,与工具条中Rotate的功能相同,可参考图。
(3)Make Scores... 用于将因子得分以序列的形式保存在工作文件中,与工具条中score的功能基本相同。
(4)Name Factors...可用于为因子命名。默认的,因子被命名为“F1”和“F2”,或者“Factor 1”和“Factor 2”等等。
(5)Clear Rotation可用于从对象中删除已经存在的旋转。
*
*
*