SAS主成分分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主成分分析princomp过程的结果(相关系数矩阵 的特征值、特征向量):
Eigenvalues of the Correlation Matrix Eigenvalue 1 2 3 4 3.54109800 0.31338316 0.07940895 0.06610989 Difference Proportion 0.8853 0.0783 0.0199 0.0165 Cumulative 0.8853 0.9636 0.9835 1.0000
x14 0.25 0.17 0.64 0.27 0.27 0.14 0.16 0.51
x15 0.51 0.35 0.58 0.57 0.51 0.26 0.38 0.51
x16 0.21 0.16 0.51 0.26 0.23 0 0.12 0.38
x9
x10 x11 x12 x13 x14 x15 x16
38
68
70
73
78
输入资料:
data d721; input number x1-x4 @@ ; cards; 1 148 41 72 78 2 139 34 71 76 3 160 49 77 86 4 149 36 67 79 5 159 45 80 86 6 142 31 66 76 7 153 43 76 83 8 150 43 77 79 9 151 42 77 80 10 139 31 68 74 11 140 29 64 74 12 161 47 78 84 13 158 49 78 83 14 140 33 67 77 15 137 31 66 73 16 152 35 73 79 17 149 47 82 79 18 145 35 70 77 19 160 47 74 87 20 156 44 78 85 21 151 42 73 82 22 147 38 73 78 23 157 39 68 80 24 147 30 65 75 25 157 48 80 88 26 151 36 74 80 27 144 36 68 76 28 141 30 67 76 29 139 32 68 73 30 148 38 70 78 ; 注意输入数据使用了@@,这表示 不同的样本点可以在同一行输入。
下面是算出的前3个特征值:
Eigenvalues of the Correlation Matrix Eigenvalue 1 2 3 7.03647744 2.61403272 1.63210486 Difference Proportion 0.4398 0.1634 0.1020 Cumulative 0.4398 0.6032 0.7052
1
-0.34
1
-0.16
0.23 1
-0.05
0.5 0.24 1
0.23
0.31 0.1 0.62 1
0.21
0.15 0.31 0.17 0.26 1
0.15
0.29 0.28 0.41 0.5 0.63 1
0.18
0.14 0.31 0.18 0.24 0.5 0.65 1
type=corr表示数据集是记录的是协方差矩阵
x4 0.96 0.74 0.38 1
x5 0.89 0.58 0.31 0.9 1
x6 0.79 0.58 0.3 0.78 0.79 1
x7 0.76 0.55 0.35 0.75 0.74 0.73 1
x8 0.26 0.19 0.58 0.25 0.25 0.18 0.24 1
x9 0.21 0.07 0.28 0.2 0.18 0.18 0.29 -0.04
主成分分析在SAS中用princomp过程:
proc print; run; proc princomp data=d731(type=corr) n=3 ; n=3表示只计算前3个主成分。 var x1-x16; run; Var x1-x16表示x1-x16是参与计算主成分 的变量。 type=corr表示数据集是一个协方差矩阵。 我们知道,主成分也可以从相关系数矩阵 进行计算。
输入资料:
_type_=‘corr’表示对每行数据加入一列,变量名_type_, 值为’corr’。
data d731(type=corr); 比如一行,_type_=‘mean’,表示这一行是各变量均值 input _name_$ x1-x16; _type_=‘std’表示这行是标准差, _type_='corr'; cards; x1 1.0 0.79 0.36 0.96 0.89 0.79 0.76 0.26 0.21 0.26 0.07 0.52 0.77 0.25 0.51 0.21 x2 . 1.00 0.31 0.74 0.58 0.58 0.55 0.19 0.07 0.16 0.21 0.41 0.47 0.17 0.35 0.16 x3 . . 1.00 0.38 0.31 0.30 0.35 0.58 0.28 0.33 0.38 0.35 0.41 0.64 0.58 0.51 x4 . . . 1.00 0.90 0.78 0.75 0.25 0.20 0.22 0.08 0.53 0.79 0.27 0.57 0.26 x5 . . . . 1.0 0.79 0.74 0.25 0.18 0.23 -.02 0.48 0.79 .27 .51 .23 x6 . . . . . 1 .73 .18 .18 .23 .00 .38 .69 .14 .26 .00 x7 . . . . . . 1 .24 .29 .25 .10 .44 .67 .16 .38 .12 _type_=‘corr’表示这一行数据是协 x8 . . . . . . . 1 -.04 .49 .44 .30 .32 .51 .51 .38 方差。可是协方差必须指出,这是 x9 . . . . . . . . 1 -.34 -.16 -.05 .23 .21 .15 .18 该变量和哪个变量之间的协方差, x10 . . . . . . . . . 1 .23 .50 .31 .15 .29 .14 这由_name_变量指出。 x11 . . . . . . . . . . 1 .24 .10 .31 .28 .31 所以,x1与x2的协方差在x1变量列 x12 . . . . . . . . . . . 1 .62 .17 .41 .18 的_type_=‘corr’并且_name_=‘x2’的 x13 . . . . . . . . . . . . 1 .26 .50 .24 行,或者位于x2变量列的 x14 . . . . . . . . . . . . . 1 .63 .50 _type_=‘corr’并且_name_=‘x1’的行 x15 . . . . . . . . . . . . . . 1 .65 x16 . . . . . . . . . . . . . . . 1 ;
3.22771484 0.23397420 0.01329906
Eigenvectors z1 x1 x2 x3 x4 0.496966 0.514571 0.480901 0.506928 z2 z3 z4 -.449627 -.462330 0.175177 0.743908 0.505747 -.690844 0.461488 -.232343
用SAS进行主成分分析
书p277,表7.4,中学生四项身体指标的主成分分析
number 1 x1 148 x2 41 x3 72 x4 78 number 16 x1 152 x2 35 x3 73 x4 79
2
3 4 5
139
160 149 159
34
49 36 45
71
77 67 80
76
86 79 86
主成分分析在SAS中用princomp过程:
proc princomp data=d721 prefix=z out=o721 ; var x1-x4; run; options ps=32 ls=85; proc plot data=o721; plot z2*z1 $ number='*'/href=-1 href=2 vref=0; run; proc sort data=o721; by z1; run; proc print data=o721; var number z1 z2 x1-x4; run; quit; 主成分分析有一个princomp过程就足够 了。prefix=z表示,在输出数据集中 (o721中),主成分变量是z1、z2、…
-.200400 -.143202 0.328625 -.181124 -.199650 -.269807 -.192150 0.370267 -.067472 0.174246 0.347850 0.017665 -.111914 0.371353 0.271225 0.362824
x10 0.26 0.16 0.33 0.22 0.23 0.23 0.25 0.49
x11 0.07 0.21 0.38 0.08 -0.02 0 0.1 0.44
x12 0.52 0.41 0.35 0.53 0.48 0.38 0.44 0.3
x13 0.77 0.47 0.41 0.79 0.79 0.69 0.67 0.32
17
18 19 20
149
145 160 156
47
35 47 44
82
70 74 78
79
77 87 85
6
7 8 9
142
153 150 151
31
43 43 42
66
76 77 77
76
83 79 80
21
22 23 24
151
147 157 147
42
38 39 30
73
73 68 65
82
78 80 75
10
11 12 13
139
140 161 158
31
29 47 49
68
64 78 78
74
74 84 83
25
26 27 28
157
151 144 141
48
36 36 30
80
74 68 67
88
80 76 76
14
15
140Biblioteka Baidu
137
33
31
67
66
77
73
29
30
139
148
32
Options ps=32 ls=85表示输出屏 幕定义为一页32行,每行85字符
plot过程已经很熟悉了。 href=-1表示在横坐标z1=-1处画一 条垂线,vref=0表示在纵坐标z2=0 处画一条垂线。 $number=‘*’表示每个点在图上用* 表示,并且在*后显示该样本点的 number变量的值。
4.42244473 0.98192786
前3个特征值所对应的特征向量,也就是前3个主 成分:
Eigenvectors Prin1 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 0.341771 0.264992 0.234152 0.344233 0.326118 0.285914 0.295261 0.189273 0.084793 0.154295 0.098355 0.242546 0.317158 0.180113 0.266359 0.158333 Prin2 Prin3 0.005720 -.056565 0.139937 0.032229 0.032945 -.029540 0.019608 -.150284 0.625563 -.527507 -.202115 -.314796 -.018841 0.252416 0.135449 0.243441
sort和print过程也是很熟悉的过程了。
主成分分析princomp过程的结果(变量的相关系 数矩阵):
Correlation Matrix
x1
x1 x2 x3 x4 1.0000 0.8632 0.7321 0.9205
x2
0.8632 1.0000 0.8965 0.8827
x3
x4
0.7321 0.8965 1.0000 0.7829 0.9205 0.8827 0.7829 1.0000
-.543213 0.210246 0.724621 -.368294
主成分分析princomp过程的结果(第一、二主成 分为坐标的散布图):
书p282,表7.5,16项身体指标的相关阵
_name_ x1 x2 x3 x4 x5 x6 x7 x8
x1 1
x2 0.79 1
x3 0.36 0.31 1
相关文档
最新文档