当前位置:文档之家› SAS主成分分析

SAS主成分分析


主成分分析在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中),表示对每行数据加入一列,变量名_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 ;
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
-.200400 -.143202 0.328625 -.181124 -.199650 -.269807 -.192150 0.370267 -.067472 0.174246 0.347850 0.017665 -.111914 0.371353 0.271225 0.362824
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
主成分分析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
Options ps=32 ls=85表示输出屏 幕定义为一页32行,每行85字符
plot过程已经很熟悉了。 href=-1表示在横坐标z1=-1处画一 条垂线,vref=0表示在纵坐标z2=0 处画一条垂线。 $number=‘*’表示每个点在图上用* 表示,并且在*后显示该样本点的 number变量的值。
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
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 ; 注意输入数据使用了@@,这表示 不同的样本点可以在同一行输入。
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
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
下面是算出的前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
-.543213 0.210246 0.724621 -.368294
主成分分析princomp过程的结果(第一、二主成 分为坐标的散布图):
相关主题