玩转Stata|巧用Stata进行主成分分析

会计学术联盟 2018-06-21 09:20:11



青年会计学者联合发起会计领域NO.1高端自媒体


点击:高层次会计人才招聘免费推送!


传播会计前辈思想,引领青年一代成长

因缘分相聚,因互助成长,因智慧光华




巧用Stata进行主成分分析


************************************************************

***********************主成分估计 ***********************

************************************************************

/*

主成分分析是利用降维的思想,在损失较少信息的前提下把多个指标转化为较少的综合指标。

转化生成的综合指标即称为主成分,其中每个主成分都是原始变量的线性组合,且各个主成

分互不相关。

*/


**降维

*如果把两个变量用一个变量来表示,同时这一个新的变量又尽可能包含原来的两个变量的信息



**步骤

*-对原来的p个指标进行标准化,以消除变量在水平和量纲上的影响

*-根据标准化后的数据矩阵求出相关系数矩阵

*-求出协方差矩阵的特征根和特征向量

*-确定主成分,并对各主成分所包含的信息给予适当的解释



*Stata可以通过变量进行主成分分析,也可以直接通过相关系数矩阵或协方差矩阵进行。


*-方法一:

sysuse auto, clear

pca trunk weight length headroom

pca trunk weight length headroom,comp(2) covariance


*方法二:

webuse bg2, clear

pca bg2cost*, vce(normal)

*estat给出了几个非常有用的工具,包括KMO、SMC等指标

estat anti

estat kmo?/*KMO检验,越高越好*/

estat loadings

estat residuals

estat smc?/*SMC检验,值越高越好*/

estat summarize


*预测

*-predict预测变量得分、拟合值和残差

predict score fit residual q

//q代表残差的平方和


*碎石图

*-判断保留多少个主成分的重要方法。命令为screeplot

screeplot??/* 碎石图(特征值等于1处的水平线标示保留主成分的分界点)*/?



*得分图、载荷图

*-得分图即不同主成分得分的散点图。命令为scoreplot

scoreplot


*-载荷图即不同主成分载荷的散点图。命令为loadingplot

loadingplot


*旋转

*-对载荷进行旋转的命令格式为rotate

rotate



****************案例1*******************


*-对中国30个省市自治区经济发展基本情况的八项指标主成分分析


use pca.dta, clear

*定义变量的标签

label var area ?"省份"

label var x1??"GDP ? (亿元)"

label var x2??"居民消费水平(元)"

label var x3??"固定资产投资(亿元)"

label var x4 ?"职工平均工资(元)"

label var x5 ?"货物周转量 (亿吨公里)"

label var x6??"居民消费价格指数 (上年100)" ?

label var x7??"商品零售价格指数 ?(上年100)"

label var x8 ?"工业总产值 ? (亿元)"


describe


pca x1-x8?/*主成分估计*/


/*

先对数据进行标准化处理后,接着进行主成分分析,可以得到:R的特征值和特征向量。


--------------------------------------------------------------------------

? ? ? 主成分 | ? ? ?特征值 ? ? ? ? Difference ? ?方差贡献率 ? ?累计贡献率

-------------+------------------------------------------------------------

? ? ? ?Comp1 | ? ? ?4.25488 ? ? ?2.50258 ? ? ? ? ? ? 0.5319 ? ? ? 0.5319

? ? ? ?Comp2 | ? ? ?1.75229 ? ? ?.537539 ? ? ? ? ? ? 0.2190 ? ? ? 0.7509

? ? ? ?Comp3 | ? ? ?1.21475 ? ? ?.760915 ? ? ? ? ? ? 0.1518 ? ? ? 0.9027

? ? ? ?Comp4 | ? ? ?.453839 ? ? ?.260701 ? ? ? ? ? ? 0.0567 ? ? ? 0.9595

? ? ? ?Comp5 | ? ? ?.193137 ? ? ?.124141 ? ? ? ? ? ? 0.0241 ? ? ? 0.9836

? ? ? ?Comp6 | ? ? ?.068996 ? ? .0273463 ? ? ? ? ? ? 0.0086 ? ? ? 0.9922

? ? ? ?Comp7 | ? ? .0416498 ? ? .0211944 ? ? ? ? ? ? 0.0052 ? ? ? 0.9974

? ? ? ?Comp8 | ? ? .0204553 ? ? ? ? ? ?. ? ? ? ? ? ? 0.0026 ? ? ? 1.0000

--------------------------------------------------------------------------

注:

-该表是选则主成分的主要依据

-特征值又叫方差,某个特征值占总特征值的比例称为主成分方差贡献率

-根据主成分贡献率,一般来说,主成分的累计方差贡献率达到80%以上的前几个主成分,都可以选作最后的主成分

-根据特特征根的大小 ///

一般情况下,当特征值小于1时,就不再选作主成分了,因为该主成分的解释力度还不如直接用原始变量解的释力度大



从表中看到,前3个特征值累计贡献率已达90.27%,说明前3个主成分基本包含了全部指标

具有的信息,我们取前3个特征值。通过对载荷矩阵进行旋转,可得到,相应的特征向量,

见下表:


------------------------------------------------------------------------------------------------------------

? ? Variable | ? ?Comp1 ? ? Comp2 ? ? Comp3 ? ? Comp4 ? ? Comp5 ? ? Comp6 ? ? Comp7 ? ? Comp8 | Unexplained?

-------------+--------------------------------------------------------------------------------+-------------

? ? ? ? ? x1 | ? 0.4249 ? ?0.3064 ? ?0.1079 ? ?0.2872 ? -0.0702 ? -0.1676 ? -0.1953 ? ?0.7486 | ? ? ? ? ? 0?

? ? ? ? ? x2 | ? 0.3217 ? -0.4467 ? ?0.3101 ? ?0.0303 ? -0.6652 ? -0.1678 ? ?0.3537 ? -0.0637 | ? ? ? ? ? 0?

? ? ? ? ? x3 | ? 0.4057 ? ?0.3855 ? -0.0181 ? -0.0027 ? ?0.1315 ? ?0.5303 ? ?0.6159 ? -0.0927 | ? ? ? ? ? 0?

? ? ? ? ? x4 | ? 0.1856 ? -0.6100 ? ?0.2536 ? ?0.3966 ? ?0.4649 ? ?0.3664 ? -0.1392 ? ?0.0450 | ? ? ? ? ? 0?

? ? ? ? ? x5 | ? 0.3520 ? -0.0510 ? ?0.3714 ? -0.7953 ? ?0.2467 ? -0.0511 ? -0.1963 ? ?0.0331 | ? ? ? ? ? 0?

? ? ? ? ? x6 | ?-0.3444 ? ?0.1427 ? ?0.5784 ? ?0.1364 ? ?0.3535 ? -0.4205 ? ?0.4504 ? ?0.0579 | ? ? ? ? ? 0?

? ? ? ? ? x7 | ?-0.3118 ? ?0.2767 ? ?0.5769 ? ?0.0463 ? -0.3594 ? ?0.5092 ? -0.3183 ? -0.0400 | ? ? ? ? ? 0?

? ? ? ? ? x8 | ? 0.4209 ? ?0.2938 ? ?0.1495 ? ?0.3258 ? ?0.0642 ? -0.2995 ? -0.3087 ? -0.6472 | ? ? ? ? ? 0?

------------------------------------------------------------------------------------------------------------

注:

-每一列表示一个主成分作为原来变量线性组合的系数,也就是主成分分析模型中的系数

-这个系数越大,说明主成分对该变量的代表性就越大



因而前三个主成分为:

第一主成分: ? F1=0.4249x1+0.3217x2+0.4057x3+0.1856x4

+0.3520x5-0.3444x6-0.3118x7+0.4209x8

第二主成分: ? F2=0.3064x1-0.4467x2+0.3855x3-0.6100x4

-0.0510x5+0.1427x6+0.2767x7+0.2938x8

第三主成分: ? F3=0.1079x1+0.3101x2-0.0181x3+0.2536x4

+0.3714x5-0.5784x6+0.5769x7+0.1495x8


在第一主成分的表达式中第一、第三、第八项指标的系数较大,这三项指标起主要作用,

我们可以把第一主成分看成是由国内生产总值、固定资产投资、工业总产值所刻划的反

映经济社会总量的综合指标;


在第二主成分中,第二、第三、第四项指标的影响大,且第二、第四项的影响较大,因此

可以把第二主成分看成是由居民消费水平、职工平均工资表示的反映人民生活水平的综合

指标;


在第三主成分中,第六、第七项指标大于其余的指标,可看成是受居民消费价格指数、商

品零售价格指数的影响,反映物价水平的综合指标。

*/


*----------相关性检验----------------

estat kmo?/*KMO检验,越高越好*/

estat smc?/*SMC检验,值越高越好*/


/*

在这次的主成分分析里面,我们可以进行些检验以验证我们分析的效果,通过KMO检验和SMC

检验,得到了下面的检验值:


变量 KMO值 SMC值

x1_s 0.7423 0.9656

x2_s 0.5361 0.8366

x3_s 0.7706 0.9276

x4_s 0.4737 0.7647

x5_s 0.6794 0.6515

x6_s 0.5467 0.8837

x7_s 0.5482 0.8627

x8_s 0.7692 0.9591

合计 0.6447 ---


Kaiser-Meyer-Olkin抽样充分性测度也是用于测量变量之间相关关系的强弱的重要指标,

是通过比较两个变量的相关系数与偏相关系数得到的。KMO介于0于1之间。KMO越高,表

明变量的共性越强。如果偏相关系数相对于相关系数比较高,则KMO比较低,主成分分析

不能起到很好的数据约化效果。根据Kaiser(1974),一般的判断标准如下:0.00-0.49,

不能接受(unacceptable);0.50-0.59,非常差(miserable);0.60-0.69,勉强接受;

0.70-0.79,可以接受(middling);0.80-0.89,比较好(meritorious);

0.90-1.00,非常好(marvelous)。


SMC即一个变量与其他所有变量的复相关系数的平方,也就是复回归方程的可决系数。SMC

比较高表明变量的线性关系越强,共性越强,主成分分析就越合适。

根据KMO越高,表明变量的共性越强和SMC比较高表明变量的线性关系越强,共性越强,主

成分分析就越合适。从上表可以看出,在该例中,各变量基本符合要求。


*/


screeplot ?/* 碎石图(特征值等于1处的水平线标示保留主成分的分界点)*/


/*

实践中,通常结合具体情况,选择碎石图中变化趋势出现拐点的前几个主成分作为原先变量

的代表,该例中选择前3个主成分即可。


通过碎石图,我们可以很直观的看出各个特征值的大小。在该图中,特征值等于1处的水

平线标示了保留主成分分析的分界点,同时再次强调了本例中的成分4到8并不重要。

*/


predict score fit residual q /*预测变量得分、拟合值和残差以及残差的平方和*/

predict f1 f2 f3

predict q1 q2 q3

/*

通过predict我们可以得出各个观察变量的所对应的各个主成分的线性组合(即得分)。

*/



scoreplot,mlabel(area) yline(0) xline(0) /*得分图1*/

scoreplot,xtitle("经济社会总量") ytitle("人民生活水平") ///

mlabel(area) yline(0) xline(0) /*得分图*/

scatter f2 f3,xtitle("人民生活水平") ytitle("物价水平") ///

mlabel(area) yline(0) xline(0) ?/*得分图*/

scoreplot, factors(3) mlabel(area) ?/*得分图*/

scoreplot,combined factors(3) mlabel(area) yline(0) xline(0) ?/*得分图*/


/*

在得分图里,我们可以看到不同地区在第一、第二主成分里各自的得分情况。

*/



loadingplot , yline(0) xline(0)?/*载荷图 */

loadingplot , combined factors(3) yline(0) xline(0)?/*载荷图 */

/*

通过载荷图,我们可以直观看出各个变量对主成分的解释情况。

图中横轴表示第一个主成分与原始变量间的相关系数;

纵轴表示第二个主成分与原始变量之间的相关系数。

每一个变量对应的主成分载荷就对应坐标系中的一个点

*/


rotate??/*旋转*/

/*

运行rotate进行旋转后,我们将旋转后的结果和旋转前的结果进行比较,可以发现每一个

观察变量独自构成一个主成分,方差贡献相等,都为12%。

*/



*************因子分析**************


*因子分析可以看作是主成分分析的推广和扩展,但它对问题的研究更深入、更细致一些。

*实际上,主成分分析可以看作是因子分析的一个特例


/*

因子分析是通过对变量之间关系的研究,找出能综合原始变量的少数几个因子,使得少数

因子能够反映原始变量的绝大部分信息,然后根据相关性的大小将原始变量分组,使得组

内的变量之间相关性较高,而不同组的变量之间相关性较低。因此,因子分析属于多元统

计中处理降维的一种统计方法,其目的就是要减少变量的个数,用少数因子代表多个原始

变量

*/


点击查看更多精彩

玩转stata:分组回归的秘密武器-statsby


转自:田田说公众号

欢迎分享转发朋友圈



1

学习试听(原速播放版)



2

学习试听(1.5倍加速播放版)


更多stata学习资料

欢迎点击左下方阅读原文


“会计学术联盟”旗下优质社群推荐

“中国高校会计教师联盟(697人)”欢迎加入!


欢迎诸位加入会计学术联盟旗下的“中国高校会计教师联盟微信2群”,希望大家积极贯彻联盟发展理念:传播会计前辈思想,引领青年一代成长;发扬联盟发展文化:传正能量,广交朋友,整合资源,服务成长~


感谢大家一直以来的各种捧场支持!


为便于大家认识,切磋会计教学手艺,请及时修改群名:“称呼+单位简称+学历+职称”


高校老师相加群,请联系微信610997158申请好友主题:“称呼+单位简称+学历+职称”(本群仅限高校或科研机构同仁加群!)


欢迎邀请与本群文化相匹配的正能量,积极向上的,又好玩的同仁入群!


中国高校会计教师联盟


20171220



点击查看更多精彩

王开田:会计情商及其培养

陈艳:会计舞弊研究之路及对未来的思考

张新民:财务分析的战略视角

王化成:基于能力提升的财务管理教学思考

谢志华:会计教授演讲金句及精妙逻辑推演选摘

姜国华:关于会计学术研究的点滴心得

陆铭:如何把实证研究进行到底?

辛清泉:一江春水向东流

叶康涛:我的会计研究之路:从代理观到认知观

2017年全国会计领军人才(学术类)入选人员|简介汇编


学习充电推荐

高级会计人才网络招聘报名

Stata培训及实证会计论文学习|12月特惠营


近50000本硕博关注

会计领域NO.1高端自媒体

汇聚会计学子、学者、学师


投稿及战略合作,请联系微信:610997158,自我介绍下,注明事由

投稿:Accounting_AU@yeah.net