9利用Matlab和SPSS实现主成分分析

9利用Matlab和SPSS实现主成分分析
9利用Matlab和SPSS实现主成分分析

§9.利用Matlab 和SPSS 实现主成分分析

1.直接调用Matlab 软件实现

在软件Matlab 中实现主成分分析可以采取两种方式实现:一是通过编程来 实现;二是直接调用Matlab 中自带程序实现。 通过直接调用Matlab 中的程序可以实现主成分分析:

[pc,score, variance,t2] = princomp (X)

式中:X 为输入数据矩阵

_x

i

x 1m x

2m

Xnm

-(一般要求 n>m ) ① pc 主分量f i 的系数,也叫因子系数;注意:pc T

pc=单位阵 ② score 是主分量下的得分值;得分矩阵与数据矩阵 X 的阶数是一致的; ③ v arianee 是score 对应列的方差向量,即 A 的特征值;容易计算方差所占 的百分比 1 X 12

X 21 X 22

_Xni

X n2

输出变量: perce nt-v = 100*varia nce/sum(varia

nee);

④t2表示检验的t2-统计量(方差分析要用)

计算过程中应用到计算模型

例:表1为某地区农业生态经济系统各区域单元相关指标数据,

运用主成分

分析方法可以用更少的指标信息较为精确地描述该地区农业生态经济的发展状 况。

表1某农业生态经济系统各区域单元的有关数据

样本 序号 X 1:人口密度 2 (人/km )

X 2:人均耕 地面积(ha) X 3:森林覆

盖率(%) X 4:农民人 均纯收入(元 /人) X 5:人均粮

食产量(kg/ 人)

X 6:经济作

物占农作物 播面比例 (%) X 7:耕地占 土地面积比 率(% ) X 8:果园与 林地面积之 比(%) X 9:灌溉田 占耕地面积 之比(%) 1 363.912 0.352 16.101 192.11 295.34 26.724 18.492 2.231 26.262 2 141.503 1.684 24.301 1 752.35 452.26 32.314 14.464 1.455 27.066 3 100.695 1.067 65.601 1 181.54 270.12 18.266 0.162 7.474 12.489 4 143.739 1.336 33.205 1 436.12 354.26 17.486 11.805 1.892 17.534 5 131.412 1.623 16.607 1 405.09 586.59 40.683 14.401 0.303 22.932 6 68.337 2.032 76.204 1 540.29 216.39 8.128 4.065 0.011 4.861 7 95.416 0.801 71.106 926.35 291.52 8.135 4.063 0.012 4.862 8 62.901 1.652 73.307 1 501.24 225.25 18.352 2.645 0.034 3.201 9 86.624 0.841 68.904 897.36 196.37 16.861 5.176 0.055 6.167 10 91.394 0.812 66.502 911.24 226.51 18.279 5.643 0.076 4.477 11 76.912 0.858 50.302 103.52 217.09 19.793 4.881 0.001 6.165 12 51.274 1.041 64.609 968.33 181.38 4.005 4.066 0.015 5.402 13 68.831 0.836 62.804 957.14 194.04 9.110 4.484 0.002 5.790 14 77.301 0.623 60.102 824.37 188.09 19.409 5.721 5.055 8.413 15 76.948 1.022 68.001 1 255.42 211.55 11.102 3.133 0.010 3.425 16 99.265 0.654 60.702 1 251.03 220.91 4.383 4.615 0.011 5.593 17 118.505 0.661 63.304 1 246.47 242.16 10.706 6.053 0.154 8.701 18 141.473 0.737 54.206 814.21 193.46 11.419 6.442 0.012 12.945 19 137.761 0.598 55.901 1 124.05 228.44 9.521 7.881 0.069 12.654 20 117.612 1.245 54.503 805.67 175.23 18.106 5.789 0.048 8.461 21

122.781

0.731

49.102

1 313.11

236.29

26.724

7.162

0.092

10.078

对于上述例子,Matlab 进行主成分分析,可以得到如下结果

①以及每一个主成分的贡献率和累计贡献率,如表 2和图1

表2.特征根及主成分贡献率

■f j

[

x j

f2 a T X2

I-

=A

Jp 一

1

x

m

(要求

p

主成分 1

4.661

特征值 贡献率% 51.791

累积贡献率% 51.791

Scree Plot

Comp onent Number

特征根

②前3几个主成分的载荷系数如表3所示

X1

0.158 -0.255 -0.059 X2 0.026 0.424 -0.027 X3 -0.207 0.046 0.091 X4 0.009 0.415 0.036 X5 0.174 0.212 -0.011 X6

0.176

0.086

0.120

3 4 5 6 7 8 9

2.089 2

3.216

75.007 1.043 11.589 86.596 0.507 5.638 92.234 0.315 3.502 95.736 0.193 2.140 97.876 0.114 1.271 99.147 4.533E-02 0.504 99.650 3.147E-02 0.350

100.000

e^avneoi

表3前三个主成分在原变量上的载荷

X7 0.200 -0.064 -0.241

X8 0.042 -0.048 0.930

X9 0.207 -0.012 0.088

2.直接调用SPSS软件实现

多元分析处理的是多指标的问题。由于指标太多,使得分析的复杂性增加。观察指标的增加本来是为了使研究过程趋于完整,但反过来说,为使研究结果清晰明了而一味增加观察指标又让人陷入混乱不清。由于在实际工作中,指标间经常具备一定的相关性,故人们希望用较少的指标代替原来较多的指标,但依然能反映原有的全部信息,于是就产生了主成分分析、对应分析、典型相关分析和因子分析等方法。

调用Data Reduction菜单的Factor过程命令项,可对多指标或多因素资料进行因子分析。因子分析的基本目的就是用少数几个因子去描述许多指标或因素之间的联系,即将相关比较密切的几个变量归在同一类中,每一类变量就成为一个因子(之所以称其为因子,是因为它是不可观测的,即不是具体的变量,这与上一章的聚类分析不同),以较少的几个因子反映原资料的大部分信息。

基本操作

以以上例子来说明在SPSS中进行因子分析的整个过程。

将以上数据导入到数据窗口中,先定义各变量为numberic型。

①激活Analysis 菜单选Data Reduction 的Factor...命令项,弹出Factor Anal ysis对话框(图1)。在对话框左侧的变量列表中选变量X1至X9,点击钮使之进入Variables框。

图1 因子分析对话框

点击Descriptives..钮,弹出Factor Analysis:Descriptives 对话框(图2),在Statistics中选Uni variate descriptives项要求输出各变量的均数与标准差,在Cor relation Matrix栏内选Coefficients项要求计算相关系数矩阵,并选KMO and B artlett's test of sphericity项,要求对相关系数矩阵进行统计学检验。点击Conti nue钮返回Factor Analysis对话框。

图2描述性指标选择对话框

点击Extraction...钮,弹出Factor Analysis:Extraction 对话框(图3),系统提

供如下因子提取方法:

Factor Analysis: Extraction

Unweighted least squares Generalized least squares

Maximum likelihood Principal axis factoring 為Iph 刘

factoiing Extract

金 Eigenvalues over

: 1

|_ Number of factors

Maximum Iterations for Convergence : 25

图3因子提取方法选择对话框

Principal components :主成分分析法;

Un weighted least squares 未加权最小平方法; Generalized least squares 综合最小平方法; Maximum likelihood :极大似然估计法; Prin cipal axis factori ng :主轴因子法; Alpha factoring : a 因子法; Image factori ng :多元回归法。

本例选用 Principal components 方法,之后点击 Continue 钮返回 Factor Ana

lysis 对话框。

点击Rotation...钮,弹出Factor Analysis:Rotation 对话框,系统有 5种因子 旋转方法可选:

Method : Analyze (* Correh 厂 Covarl Principal components

2£1

y-

otated iactor solution

None:不作因子旋转;

Varimax :正交旋转;

Equamax:全体旋转,对变量和因子均作旋转;

Quartimax :四分旋转,对变量作旋转;

Direct Oblimin :斜交旋转。

旋转的目的是为了获得简单结构,以帮助我们解释因子。本例选正交旋转法,之后点击Continue 钮返回Factor Analysis 对话框。

点击Scores..钮,弹出弹出Factor Analysis:Scores对话框,系统提供3种估计因子得分系数的方法,本例选Regression(回归因子得分),之后点击Continue 钮返回Factor Analysis对话框,再点击OK钮即完成分析。

结果解释

在输出结果窗口中将看到如下统计数据:

系统首先输出各变量的均数(Mean)与标准差(Std Dev),并显示共有21 例观察单位进入分析;接着输出相关系数矩阵(Correlation Matrix),经Bartlett 检验表明:Bartlett值=159.767, P<0.0001,即相关矩阵不是一个单位矩阵,故考虑进行因子分析。

Correlation Matrix

人口密度人均耕

地面积

森林覆

盖率

农民人均

纯收入

人均粮

食产量

经济作物占农

作物播面比例

耕地占土地果园与林地灌溉田占耕

地面积之比

面积比率面积之比

人口密度 1.000 -.327 -.714 -.336 .309 .408 .790 .156 .744 人均耕地面

-.327 1.000 -.035 .644 .420 .255 .009 -.078 .094 森林覆盖率-.714 -.035 1.000 .070 -.740 -.755 -.930 -.109 -.924 农民人均纯

收入

-.336 .644 .070 1.000 .383 .069 -.046 -.031 .073 人均粮食产

量.309 .420 -.740 .383 1.000 .734 .672 .098 .747 经济作物占

农作物播面.408 .255 -.755 .069 .734 1.000 .658 .222 .707 比例耕地占

土地面积比

率.790 .009 -.930 -.046 .672 .658 1.000 -.030 .890 果园与林地

面积之比.156 -.078 -.109 -.031 .098 .222 -.030 1.000 .290 灌溉田占耕

地面积之比

.744 .094 -.924 .073 .747 .707 .890 .290 1.000

使用主成分分析法得到3个因子,因子矩阵(Factor Matrix )如下,变量与 某一因子的联系系数绝对值越大,则该因子与变量关系越近。如本例变量

X3与

第一因子的值为-0.964,与第二因子的值为0.009 56,可见其与第一因子更近, 与第二因子更远。或者因子矩阵也可以作为因子贡献大小的度量,其绝对值越大, 贡献也越大。

Total Variance Explained

Extractio n Method: Pr in cipal Comp onent An alysis.

Component

Total % of Variance Cumulative % Total % of Variance Cumulative % Total % of

Variance

Cumulative %

1

4.661 51.790 51.790 4.661 51.790 51.790 4.605 51.172 51.172 2 2.089 23.217 7

5.007 2.089 23.217 75.007 2.100 23.329 74.500 3 1.043 11.589 8

6.596 1.043 11.589 86.596 1.089 12.095 86.596 4 .507 5.638 92.234 5 .315 3.502 95.736 6 .193 2.140 9

7.876 7 .114 1.271 99.147 8 4.533E-02 .504 99.650 9 3.147E-02 .350 100.000

Extraction Sums of Squared Rotation Sums of Squared

Initial Eigenvalues

Loadings Loadings

% of % of % of

Comp onent a

Extractio n Method: Prin cipal Comp onent An

alysis.

a. 3 comp onents extracted.

下面显示经正交旋转后的因子负荷矩阵(Rotated Factor Matrix)和因子转换

矩阵(Factor Transformation Matrix )。旋转的目的是使复杂的矩阵变得简洁,即第一因子替代了X1、X3、X7、X9作用,第二因子替代了X2、X4的作用,第三因子替代了X8的作用。

Rotated Comp onent a

Extractio n Method: Prin cipal Comp onent An alysis. Rotati on Method: Varimax with

Kaiser Normalizati on.

a. Rotati on con verged in 4 iterati ons.

最后将第一因子的因子分用变量名fac1_1、第二因子的因子分用变量名

fac2_1、第三因子的因子分用变量名fac3_1存入原始数据库中。这些值既可用于模型诊断,又可用于进一步分析。

序号fac1 1 fac2 1 fac3 1

1 2.440 59 -2.529 7 0.224 88

2 1.831 84 1.708 32 0.208 6

3 -0.603 61 0.3

4 3.570 4

4 0.929 87 0.696 27 0.239 49

5 2.194 1

6 1.713 31 -0.316 45

6 -0.86

7 59 1.546 92 -0.489 55

7 -0.584 2 -0.229 85 -0.426 51

8 -0.780 14 1.300 71 -0.259 39

9 -0.496 36 -0.322 59 -0.321 65

10 -0.404 01 -0.283 93 -0.346 77

11 -0.186 05 -1.037 07 -0.391 39

12 -0.861 94 -0.088 65 -0.501 59

13 -0.652 98 -0.291 51 -0.443 09

14 -0.448 42 -0.615 78 2.114 87

15 -0.779 51 0.252 68 -0.371 01

16 -0.593 5 -0.281 71 -0.507 73

17 -0.277 47 -0.248 32 -0.369 76

18 -0.007 8 -0.825 86 -0.452 26

19 0.033 39 -0.588 2 -0.491 1

20 -0.146 61 -0.208 95 -0.412 45

相关主题
相关文档
最新文档