いくつか(p個)の変量の値を情報の損失をできるだけ少なくして、
少数変量(m個、m>p)の総合的指標(主成分)で代表させる方法である。
いくつかのテストの成績を総合した総合的成績、
いろいろな症状を総合した総合的な重症度、
種々の財務指標に基づく企業の評価...
を求めたいといった場合に用いられる。
p変量(p次元)の観測値をm個(m次元)の主成分に縮約させるという意味で、
次元を減少させる方法と言うこともでき、
多変量データを要約する一つの有力な方法である。
/* Lesson 18-1 */ /* File Name = les1801.sas 11/01/01 */ data gakusei; infile 'all01.prn'; input seibetsu $ height weight chest jitaku $ kodukai; proc print data=gakusei(obs=10); run; proc plot data=gakusei; : 散布図 plot height*weight; : 元の変量のプロット run; : proc princomp cov data=gakusei out=outprin; : 主成分分析(分散共分散行列) var height weight; : 2変量 run; : proc print data=outprin(obs=15); : 結果の出力 run; : proc plot data=outprin; : 散布図 plot prin2*prin1/vref=0 href=0; : 主成分得点のプロット run; : proc sort data=outprin; : 説明のためにソートする by prin1; : 第一主成分で run; : proc print data=outprin; : 体重がややが効いていることの確認 run; :
SAS システム 2
16:17 Wednesday, October 31, 2001
プロット : HEIGHT*WEIGHT. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 30 オブザベーションが欠損値です.)
HEIGHT |
200 +
|
| B A
180 + A ACBCDBABA B A A
| AABAHFNMFFCBCCB BA
| C FFDDCBBBCAA A
160 + A BBAGCBAABB
| A CC A A
| A A A
140 +
---+-----------+-----------+-----------+-----------+--
20 40 60 80 100
WEIGHT
SAS システム 3
16:17 Wednesday, October 31, 2001
Principal Component Analysis
175 Observations
2 Variables
Simple Statistics
HEIGHT WEIGHT
Mean 169.5337143 59.90685714
StD 7.6143358 8.85332971
SAS システム 4
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Covariance Matrix
HEIGHT WEIGHT
HEIGHT 57.97810969 44.27189392
WEIGHT 44.27189392 78.38144696
Total Variance = 136.35955665
Eigenvalues of the Covariance Matrix
Eigenvalue Difference Proportion Cumulative
PRIN1 113.612 90.8642 0.833179 0.83318
PRIN2 22.748 . 0.166821 1.00000
SAS システム 5
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Eigenvectors
PRIN1 PRIN2
HEIGHT 0.622677 0.782479
WEIGHT 0.782479 -.622677
SAS システム 6
16:17 Wednesday, October 31, 2001
OBS SEIBETSU HEIGHT WEIGHT CHEST JITAKU KODUKAI PRIN1 PRIN2
1 F 145.0 38.0 . J 10000 -32.4182 -5.5562
2 F 148.0 42.0 . J 50000 -27.4203 -5.6995
3 F 148.9 . . J 60000 . .
4 F 149.0 45.0 . G 60000 -24.4502 -6.7851
5 F 150.0 46.0 86 40000 -23.0450 -6.6253
6 F 151.7 41.5 80 J 35000 -25.5076 -2.4930
7 F 153.0 46.5 87 G 10000 -20.7857 -4.5892
8 F 153.0 55.0 78 J 30000 -14.1347 -9.8819
9 F 154.0 46.0 . . -20.5543 -3.4953
10 F 155.0 48.0 83 G 180000 -18.3667 -3.9582
11 F 155.0 . . J 20000 . .
12 F 156.0 48.0 70 J 30000 -17.7440 -3.1757
13 F 156.0 49.0 85 J 25000 -16.9615 -3.7984
14 M 156.0 61.0 90 J 0 -7.5718 -11.2705
15 F 156.0 . . J 30000 . .
SAS システム 7
16:17 Wednesday, October 31, 2001
プロット : PRIN2*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 30 オブザベーションが欠損値です.)
20 + |
| |
PRIN2 | | A
| AA AAABA CBA B
| B AB ECABFCEFDB CD A
0 +--------------A---AA-I--DBDCDCHBABBA-B--------A----------
| A AA AABAAAAAB B CB CDB EB A BA
| AA A A A B A A A AA A
| A |
| | A
-20 + | A
---+------------+------------+------------+------------+--
-40 -20 0 20 40
PRIN1
SAS システム 8
16:17 Wednesday, October 31, 2001
OBS SEIBETSU HEIGHT WEIGHT CHEST JITAKU KODUKAI PRIN1 PRIN2
1 F 148.9 . . J 60000 . .
2 F 155.0 . . J 20000 . .
3 F 156.0 . . J 30000 . .
4 F 156.0 . . J 50000 . .
5 F 156.0 . . G . . .
<略>
SAS システム 20
16:17 Wednesday, October 31, 2001
OBS SEIBETSU HEIGHT WEIGHT CHEST JITAKU KODUKAI PRIN1 PRIN2
181 M 179.0 65.0 . J 0 9.8797 4.23579
182 M 180.0 65.0 88 J 30000 10.5024 5.01827
183 M 180.0 65.0 . G 100000 10.5024 5.01827
184 M 179.0 66.0 . 30000 10.6622 3.61311
185 M 178.0 67.0 . J 0 10.8220 2.20796
186 M 173.0 71.0 100 G 0 10.8385 -4.19514
187 M 182.0 64.0 . G 0 10.9653 7.20591
188 M 177.0 68.0 . G 80000 10.9818 0.80280
189 M 172.0 72.0 89 G 150000 10.9983 -5.60030
190 M 170.0 74.0 90 J 0 11.3179 -8.41061
191 M 180.0 70.0 . . 14.4148 1.90489
192 M 175.0 74.0 . J 0 14.4313 -4.49822
193 M 178.7 71.2 95 0 14.5443 0.14045
194 M 184.0 68.0 85 30000 15.3405 6.28016
195 M 173.5 76.5 . G 100000 15.4535 -7.22863
SAS システム 21
16:17 Wednesday, October 31, 2001
OBS SEIBETSU HEIGHT WEIGHT CHEST JITAKU KODUKAI PRIN1 PRIN2
196 M 182.0 70.0 90 G 100000 15.6601 3.4698
197 M 185.0 68.0 93 J 0 15.9632 7.0626
198 M 175.0 77.0 95 G 130000 16.7788 -6.3662
199 M 176.5 78.0 96 J 10000 18.4953 -5.8152
200 M 177.0 78.0 . J 40000 18.8066 -5.4240
201 M 178.0 78.0 110 G 50000 19.4293 -4.6415
202 M 169.3 88.5 94 J 0 22.2280 -17.9872
203 M 186.0 82.0 . J 0 27.5406 -0.8724
204 M 182.0 90.0 100 J 40000 31.3097 -8.9837
205 M 178.0 100.0 112 G 60000 36.6438 -18.3404
/* Lesson 18-2 */ /* File Name = les1802.sas 11/01/01 */ data gakusei; infile 'all01.prn'; input seibetsu $ height weight chest jitaku $ kodukai; proc print data=gakusei(obs=10); run; proc princomp cov data=gakusei out=outprin; : 主成分分析(分散共分散行列) var height weight chest; : 3変量 run; : proc print data=outprin(obs=15); : 結果の出力 run; : proc plot data=outprin; : 散布図 plot prin2*prin1/vref=0 href=0; : 主成分得点のプロット plot prin3*prin2/vref=0 href=0; : plot prin3*prin1/vref=0 href=0; : run; :
SAS システム 3
16:17 Wednesday, October 31, 2001
Principal Component Analysis
72 Observations
3 Variables
Simple Statistics
HEIGHT WEIGHT CHEST
Mean 168.6805556 60.95972222 87.55555556
StD 8.2911057 10.76027723 7.86127770
SAS システム 4
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Covariance Matrix
HEIGHT WEIGHT CHEST
HEIGHT 68.7424335 58.5427269 22.6194053
WEIGHT 58.5427269 115.7835661 55.6536776
CHEST 22.6194053 55.6536776 61.7996870
SAS システム 5
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Total Variance = 246.32568662
Eigenvalues of the Covariance Matrix
Eigenvalue Difference Proportion Cumulative
PRIN1 183.884 141.255 0.746507 0.74651
PRIN2 42.628 22.815 0.173057 0.91956
PRIN3 19.814 . 0.080436 1.00000
SAS システム 6
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Eigenvectors
PRIN1 PRIN2 PRIN3
HEIGHT 0.474436 -.725195 0.499003
WEIGHT 0.764499 0.058410 -.641974
CHEST 0.436409 0.686062 0.582122
SAS システム 7
16:17 Wednesday, October 31, 2001
S
E K
I H W J O
B E E C I D P P P
E I I H T U R R R
O T G G E A K I I I
B S H H S K A N N N
S U T T T U I 1 2 3
1 F 145.0 38.0 . J 10000 . . .
2 F 148.0 42.0 . J 50000 . . .
3 F 148.9 . . J 60000 . . .
4 F 149.0 45.0 . G 60000 . . .
5 F 150.0 46.0 86 40000 -20.9783 11.6060 -0.62342
6 F 151.7 41.5 80 J 35000 -26.2304 5.9940 -0.37897
7 F 153.0 46.5 87 G 10000 -18.7363 10.1457 1.13472
8 F 153.0 55.0 78 J 30000 -16.1657 4.4676 -9.56115
SAS システム 8
16:17 Wednesday, October 31, 2001
S
E K
I H W J O
B E E C I D P P P
E I I H T U R R R
O T G G E A K I I I
B S H H S K A N N N
S U T T T U I 1 2 3
9 F 154.0 46.0 . . . . .
10 F 155.0 48.0 83 G 180000 -18.3863 6.0387 -1.15872
11 F 155.0 . . J 20000 . . .
12 F 156.0 48.0 70 J 30000 -23.5852 -3.6053 -8.22731
13 F 156.0 49.0 85 J 25000 -16.2746 6.7440 -0.13745
14 M 156.0 61.0 90 J 0 -4.9185 10.8753 -4.93052
15 F 156.0 . . J 30000 . . .
SAS システム 9
16:17 Wednesday, October 31, 2001
プロット : PRIN2*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 133 オブザベーションが欠損値です.)
20 + |
| |
PRIN2 | A A A | A A
| AA AA A | A A
| A AAA A A|A BA A A
0 +----------------AAAB-AA--C+BD-AABA-A-AA-------A------------------
| A B A AA|AC A
| A A| AB B
| A| A A
| |A
-20 + A |
---+-----------+-----------+-----------+-----------+-----------+--
-40 -20 0 20 40 60
PRIN1
SAS システム 10
16:17 Wednesday, October 31, 2001
プロット : PRIN3*PRIN2. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 133 オブザベーションが欠損値です.)
PRIN3 | |
10 + |
| A A AA A| A A
| A B ADCCAD ABB A
0 +-----------------------A--A----A--A---CA-AAAABAA--A-A------------
| AA A BBBB AA A
| A AA | A A
-10 + | A
| A | A
| |
-20 + |
---+-----------+-----------+-----------+-----------+-----------+--
-30 -20 -10 0 10 20
PRIN2
SAS システム 11
16:17 Wednesday, October 31, 2001
プロット : PRIN3*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 133 オブザベーションが欠損値です.)
PRIN3 | |
10 + |
| B| B A A A
| AACB A B|DE BA C
0 +----------A--A-BAAAAA-A--C+-BAA--A-------------------------------
| A A B |AA BAB AA A
| A A A | A A
-10 + A |
| A | A
| |
-20 + |
---+-----------+-----------+-----------+-----------+-----------+--
-40 -20 0 20 40 60
PRIN1
/* Lesson 18-3 */ /* File Name = les1803.sas 11/01/01 */ data gakusei; infile 'all01.prn'; input seibetsu $ height weight chest jitaku $ kodukai; proc print data=gakusei(obs=10); run; : proc princomp data=gakusei out=outprin; : 相関係数を使って var height weight chest; : run; : proc print data=outprin(obs=15); run; proc plot data=outprin; plot prin2*prin1/vref=0 href=0; plot prin3*prin2/vref=0 href=0; plot prin3*prin1/vref=0 href=0; run;
SAS システム 3
16:17 Wednesday, October 31, 2001
Principal Component Analysis
72 Observations
3 Variables
Simple Statistics
HEIGHT WEIGHT CHEST
Mean 168.6805556 60.95972222 87.55555556
StD 8.2911057 10.76027723 7.86127770
SAS システム 4
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Correlation Matrix
HEIGHT WEIGHT CHEST
HEIGHT 1.0000 0.6562 0.3470
WEIGHT 0.6562 1.0000 0.6579
CHEST 0.3470 0.6579 1.0000
SAS システム 5
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Eigenvalues of the Correlation Matrix
Eigenvalue Difference Proportion Cumulative
PRIN1 2.11881 1.46584 0.706270 0.70627
PRIN2 0.65296 0.42474 0.217655 0.92392
PRIN3 0.22823 . 0.076075 1.00000
SAS システム 6
16:17 Wednesday, October 31, 2001
Principal Component Analysis
Eigenvectors
PRIN1 PRIN2 PRIN3
HEIGHT 0.543582 0.708392 0.450221
WEIGHT 0.638921 -.001360 -.769271
CHEST 0.544334 -.705818 0.453346
[注意] データによっては解釈が困難なことも有り得る。
[参考] 「J:\コンピュータによる統計処理01(林 篤裕)\」に以下のデータを置いておく。
次回の講義中に使う予定のデータも 2つ置いておくので、 次回までに各自の SAS ディレクトリ(stat システム内)に転送しておくこと。