查看原文
其他

主成分分析PCA理论讲解与程序实现指南

欢迎投稿(荐稿)计量经济圈,计量相关都行

箱:econometrics666@sina.cn

Edited by@计量经济圈(ID:econometrics666), 感谢贝拿 推荐。欢迎到社群交流,大咖云集的圈子。来源: unknown sources

计量经济圈曾经发过文章:主成分分析和因子分析 PC, FA 及运行结果


主成分分分析也称作主分量分析,是霍特林(Hotelling)在1933年首先提出。主成分分析是利用降维的思想,在损失较少信息的前提下把多个指标转化为较少的综合指标。转化生成的综合指标即称为主成分,其中每个主成分都是原始变量的线性组合,且各个主成分互不相关。Stata对主成分分析的主要内容包括:主成分估计、主成分分析的恰当性(包括负偏协方差矩阵和负偏相关系数矩阵、KMO(Kaiser-Meyer-Olkin)抽样充分性、复相关系数、共同度等指标测度)、主成分的旋转、预测、各种检验、碎石图、得分图、载荷图等。    

主成分的模型表达式为:


其中,a称为得分,b称为载荷。主成分分析主要的分析方法是对相关系数矩阵(或协方差矩阵)进行特征值分析。


Stata中可以通过负偏相关系数矩阵、负相关系数平方和KMO值对主成分分析的恰当性进行分析。负偏相关系数矩阵即变量之间两两偏相关系数的负数。非对角线元素则为负的偏相关系数。如果变量之间存在较强的共性,则偏相关系数比较低。因此,如果矩阵中偏相关系数较高的个数比较多,说明某一些变量与另外一些变量的相关性比较低,主成分模型可能不适用。这时,主成分分析不能得到很好的数据约化效果。


Kaiser-Meyer-Olkin抽样充分性测度也是用于测量变量之间相关关系的强弱的重要指标,是通过比较两个变量的相关系数与偏相关系数得到的。KMO介于0于1之间。KMO越高,表明变量的共性越强。如果偏相关系数相对于相关系数比较高,则KMO比较低,主成分分析不能起到很好的数据约化效果。根据Kaiser(1974),一般的判断标准如下:0.00-0.49,不能接受(unacceptable);0.50-0.59,非常差(miserable);0.60-0.69,勉强接受(mediocre);0.70-0.79,可以接受(middling);0.80-0.89,比较好(meritorious);0.90-1.00,非常好(marvelous)。


SMC即一个变量与其他所有变量的复相关系数的平方,也就是复回归方程的可决系数。SMC比较高表明变量的线性关系越强,共性越强,主成分分析就越合适。


成分载荷、KMO、SMC等指标都可以通过extat命令进行分析。

多元方差分析是方差分析在多元中的扩展,即模型含有多个响应变量。本章介绍多元(协)方差分析以及霍特林(Hotelling)均值向量T检验。


12.1 主成分估计

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

(1)sysuse auto,clear

pca trunk weight length headroom

pca trunk weight length headroom, comp(2) covariance

 

(2)webuse bg2,clear

pca bg2cost*, vce(normal)

 

12.2 Estat

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

webuse bg2,clear

pca bg2cost*, vce(normal)

estat anti

estat kmo

estat loadings

estat residuals

estat smc

estat summarize


12.3 预测

Stata可以通过predict预测变量得分、拟合值和残差等。

webuse bg2,clear

pca bg2cost*, vce(normal)

predict score fit residual q   (备注:q代表残差的平方和)


12.4 碎石图

碎石图是判断保留多少个主成分的重要方法。命令为screeplot。

webuse bg2,clear

pca bg2cost*, vce(normal)

screeplot


12.5 得分图、载荷图

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

webuse bg2,clear

pca bg2cost*, vce(normal)

scoreplot


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

webuse bg2,clear

pca bg2cost*, vce(normal)

loadingplot


12.6 旋转

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

webuse bg2,clear

pca bg2cost*, vce(normal)

rotate

 

:对中国30个省市自治区经济发展基本情况的八项指标主成分分析,原始数据如下表:

省份

GDP   (亿元)

居民消费水平(元)       

固定资产投资(亿元)  

职工平均工资(元)

货物周转量 (亿吨公里)    

居民消费价格指数 (上年100)  

商品零售价格指数  (上年100)    

工业总产值   (亿元)

area

x1

x2

x3

x4

x5

x6

x7

x8

 北  京

10488.03

20346

3814.7

56328

758.9

105.1

104.4

10413

 天  津

6354.38

14000

3389.8

41748

2703.4

105.4

105.1

12503

 河  北

16188.61

6570

8866.6

24756

5925.5

106.2

106.7

23031

 山  西

6938.73

6187

3531.2

25828

2562.2

107.2

107.2

10024

 内蒙古

7761.8

8108

5475.4

26114

3658.7

105.7

104.7

8740.2

 辽  宁

13461.57

9625

10019.1

27729

7033.9

104.6

105.3

24769

 吉  林

6424.06

7591

5038.9

23486

1157.8

105.1

106.2

8406.9

 黑龙江

8310

7039

3656

23046

1690.9

105.6

105.8

7624.5

 上  海

13698.15

27343

4823.1

56565

16029.8

105.8

105.3

25121

 江  苏

30312.61

11013

15300.6

31667

4300.9

105.4

104.9

67799

 浙  江

21486.92

13893

9323

34146

4974.9

105

106.3

40832

 安  徽

8874.17

6377

6747

26363

5843.2

106.2

106.3

11162

 福  建

10823.11

10361

5207.7

25702

2396.2

104.6

105.7

15213

 江  西

6480.33

5753

4745.4

21000

2285.5

106

106.1

8499.6

 山  东

31072.06

9573

15435.9

26404

10107.8

105.3

104.9

62959

 河  南

18407.78

5877

10490.6

24816

5165.1

107

107.5

26028

 湖  北

11330.38

7406

5647

22739

2526.4

106.3

106.3

13455

 湖  南

11156.64

7145

5534

24870

2349.8

106

105.6

11553

 广  东

35696.46

14390

10868.7

33110

4428.4

105.6

106

65425

 广  西

7171.58

6103

3756.4

25660

2079

107.8

107.6

6072

 海  南

1459.23

6550

705.4

21864

597.7

106.9

106.7

1103.1

 重  庆

5096.66

9835

3979.6

26985

1490.3

105.6

105

5755.9

 四  川

12506.25

6072

7127.8

25038

1578.7

105.1

105.3

14762

 贵  州

3333.4

4426

1864.5

24602

805.3

107.6

107.2

3111.1

 云  南

5700.1

4553

3435.9

24030

821.3

105.7

106.1

5144.6

 西  藏

395.91

3504

309.9

47280

35.5

105.7

103.9

48.19

 陕  西

6851.32

6290

4614.4

25942

2027

106.4

106.9

7480.8

 甘  肃

3176.11

4869

1712.8

24017

1594.9

108.2

107.9

3667.5

 青  海

961.53

5830

583.2

30983

335.7

110.1

110.6

1103.1

 宁  夏

1098.51

7193

828.9

30719

703.6

108.5

108.5

1366.5

 新  疆

4203.41

5542

2260

24687

1273

108.1

108.5

4276.1

数据 :来源于2009年《中国统计年鉴》

 

程序

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 /*主成分估计*/

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

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

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

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

predict f1 f2 f3

predict q1 q2 q3

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  /*旋转*/

  

分析:

先对数据进行标准化处理后,接着进行主成分分析,可以得到:

表:R的特征值和特征向量

主成分

特征值

方差贡献率

累计贡献率

1

4.25488

2.50258

0.5319

2

1.75229

.537538

0.7509

3

1.21475

.760916

0.9027

4

.453839

.260701

0.9595

5

.193137

.124141

0.9836

6

.0689962

.0273464

0.9922

7

.0416498

.0211945

0.9974

8

.0204553

.

1.0000 


从表中看到,前3个特征值累计贡献率已达90.27%,说明前3个主成分基本包含了全部指标具有的信息,我们取前3个特征值。通过对载荷矩阵进行旋转,可得到相应的特征向量,见下表:


第一、第二、第三特征值向量


第一特征向量

第二特征向量

第三特征向量

x1_s

0.4249

0.3064

0.1079

x2_s

0.3217

-0.4467

0.3101

x3_s

0.4057

0.3855

-0.0181

x4_s

0.1856

-0.6100

0.2536

x5_s

0.3520

-0.0510

0.3714

x6_s

-0.3444

0.1427

0.5784

x7_s

-0.3118

0.2767

0.5769

x8_s

0.4209

0.2938

0.1495


因而前三个主成分为:

第一主成分:   F1=0.4249x1+0.3217x2_s+0.4057x3_s+0.1856x4_s

+0.3520x5_s-0.3444x6_s-0.3118x7_s+0.4209x8_s

第二主成分:   F2=0.3064x1-0.4467x2_s+0.3855x3_s-0.6100x4_s

-0.0510x5_s+0.1427x6_s+0.2767x7_s+0.2938x8_s

第三主成分:   F3=0.1079x1+0.3101x2_s-0.0181x3_s+0.2536x4_s

+0.3714x5_s-0.5784x6_s+0.5769x7_s+0.1495x8_s


在第一主成分的表达式中第一、第三、第八项指标的系数较大,这三项指标起主要作用,我们可以把第一主成分看成是由国内生产总值、固定资产投资、工业总产值所刻划的反映经济社会总量的综合指标;


在第二主成分中,第二、第三、第四项指标的影响大,且第二、第四项的影响较大,因此可以把第二主成分看成是由居民消费水平、职工平均工资表示的反映人民生活水平的综合指标;


在第三主成分中,第六、第七项指标大于其余的指标,可看成是受居民消费价格指数、商品零售价格指数的影响,反映物价水平的综合指标。

 

在这次的主成分分析里面,我们可以进行些检验以验证我们分析的效果,通过KMO检验和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,勉强接受(mediocre);0.70-0.79,可以接受(middling);0.80-0.89,比较好(meritorious);0.90-1.00,非常好(marvelous)。


SMC即一个变量与其他所有变量的复相关系数的平方,也就是复回归方程的可决系数。SMC比较高表明变量的线性关系越强,共性越强,主成分分析就越合适。


根据KMO越高,表明变量的共性越强和SMC比较高表明变量的线性关系越强,共性越强,主成分分析就越合适。从上表可以看出,在该例中,各变量基本符合要求。

 

通过碎石图,我们可以很直观的看出各个特征值的大小。在该图中,特征值等于1处的水平线标示了保留主成分分析的分界点,同时再次强调了本例中的成分4到8并不重要。

碎石图

 

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


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


得分图


通过载荷图,我们可以直观看出各个变量对主成分影响的大小。


载荷图


运行rotate进行旋转后,我们将旋转后的结果和旋转前的结果进行比较,可以发现每一个观察变量独自构成一个主成分,方差贡献相等,都为12%。


计量经济圈是中国计量第一大社区,我们致力于推动中国计量理论和实证技能的提升,圈子以海内外高校研究生和教师为主。计量经济圈六多精神:计量资料多,社会科学数据多,科研牛人多,名校人物多,热情互助多,前沿趋势多。如果你热爱计量并希望长见识,那欢迎你加入到咱们这个大家庭戳这里,要不然你只能去其他那些Open access圈子了。注意:进去之后一定要看小鹅“群公告”,不然接收不了咱们的群信息,也不知道怎么进入咱们的微信群。


帮点击一下下面的小广告,谢谢支持!


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存