いくつか(p個)の変量の値を情報の損失をできるだけ少なくして、
少数変量(m個、m<p)の総合的指標(主成分)で代表させる方法である。
いくつかのテストの成績を総合した総合的成績、
いろいろな症状を総合した総合的な重症度、
種々の財務指標に基づく企業の評価
等を求めたいといった場合に用いられる。
p変量(p次元)の観測値をm個(m次元)の主成分に縮約させるという意味で、
次元を減少させる方法と言うこともでき、
多変量データを要約する一つの有力な方法である。
/* Lesson 18-1 */ /* File Name = les1801.sas 10/17/02 */ data gakusei; infile 'all02.prn' firstobs=2; input sex $ height weight chest jitaku $ kodukai carrier $ tsuuwa; 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 22:41 Wednesday, October 16, 2002 プロット : HEIGHT*WEIGHT. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 32 オブザベーションが欠損値です.) HEIGHT | 200 + | | B A 180 + A ADBCDCACA A B A A | AABCJHPMGFCCCCB BA | AD FHEDDCBBCAA A A 160 + ADBCAGCCAABB | A D DCAA A A | A AAA 140 + ---+-----------+-----------+-----------+-----------+-- 20 40 60 80 100 WEIGHT SAS システム 3 22:41 Wednesday, October 16, 2002 Principal Component Analysis 211 Observations 2 Variables Simple Statistics HEIGHT WEIGHT Mean 168.8876777 58.90142180 StD 7.9548392 9.22946358 SAS システム 4 22:41 Wednesday, October 16, 2002 Principal Component Analysis Covariance Matrix HEIGHT WEIGHT HEIGHT 63.27946649 51.66954141 WEIGHT 51.66954141 85.18299797 Total Variance = 148.46246445 Eigenvalues of the Covariance Matrix Eigenvalue Difference Proportion Cumulative PRIN1 127.049 105.635 0.855763 0.85576 PRIN2 21.414 . 0.144237 1.00000 SAS システム 5 22:41 Wednesday, October 16, 2002 Principal Component Analysis Eigenvectors PRIN1 PRIN2 HEIGHT 0.629543 0.776966 WEIGHT 0.776966 -.629543 SAS システム 6 22:41 Wednesday, October 16, 2002 K C H W J O A T E E C I D R S P P I I H T U R U R R O S G G E A K I U I I B E H H S K A E W N N S X T T T U I R A 1 2 1 F 145.0 38.0 . J 10000 . -31.2780 -5.40156 2 F 148.0 42.0 . J 50000 . -26.2815 -5.58884 3 F 148.0 43.0 80 J 50000 DoCoMo 4000 -25.5045 -6.21838 4 F 148.9 . . J 60000 . . . 5 F 149.0 45.0 . G 60000 . -23.3211 -6.70050 6 F 150.0 46.0 86 40000 . -21.9146 -6.55308 7 F 151.7 41.5 80 J 35000 . -24.3407 -2.39929 8 F 152.0 35.0 77 J 60000 DoCoMo 2000 -29.2021 1.92583 9 F 153.0 41.0 . J 125000 No . -23.9108 -1.07447 10 F 153.0 46.5 87 G 10000 . -19.6375 -4.53695 SAS システム 8 22:41 Wednesday, October 16, 2002 プロット : PRIN2*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 32 オブザベーションが欠損値です.) PRIN2 | | 10 + A A BA | AA AAA |ACAAAABA B | A BAB C AEBCEEDDGDBAAD A 0 +------------A-BA-A-BA-IABDAEEEFCCABCA-C--A-----A--------- | A C BAAA C A AAB CEAACA A A | A B AA AA A A A BBAAB AAAA AAB -10 + A A | AA A | | | | A -20 + | A ---+------------+------------+------------+------------+-- -40 -20 0 20 40 PRIN1 SAS システム 9 22:41 Wednesday, October 16, 2002 OBS SEX HEIGHT WEIGHT CHEST JITAKU KODUKAI CARRIER TSUUWA 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 システム 32 22:41 Wednesday, October 16, 2002 K C H W J O A T E E C I D R S P P I I H T U R U R R O S G G E A K I U I I B E H H S K A E W N N S X T T T U I R A 1 2 220 M 179.0 66.0 . 30000 . 11.8815 3.38807 221 M 173.0 71.0 100 G 0 . 11.9891 -4.42144 222 M 178.0 67.0 . J 0 . 12.0289 1.98156 223 M 172.0 72.0 89 G 150000 . 12.1365 -5.82795 224 M 177.0 68.0 . G 80000 . 12.1763 0.57505 225 M 182.0 64.0 . G 0 . 12.2162 6.97805 226 M 170.0 74.0 90 J 0 . 12.4313 -8.64097 227 M 175.0 74.0 . J 0 . 15.5790 -4.75614 228 M 180.0 70.0 . J 40000 au 4000 15.6189 1.64686 229 M 180.0 70.0 . . . 15.6189 1.6469 230 M 178.7 71.2 95 0 . 15.7329 -0.1186 231 M 173.5 76.5 . G 100000 . 16.5771 -7.4954 232 M 184.0 68.0 85 30000 . 16.5831 6.0138 233 M 182.0 70.0 90 G 100000 . 16.8780 3.2008 234 M 185.0 68.0 93 J 0 . 17.2127 6.7908 235 M 175.0 77.0 95 G 130000 . 17.9099 -6.6448 236 M 176.5 78.0 96 J 10000 . 19.6312 -6.1089 237 M 177.0 78.0 . J 40000 . 19.9460 -5.7204 238 M 181.5 74.5 . G 120000 au 3000 20.0596 -0.0206 239 M 178.0 78.0 110 G 50000 . 20.5755 -4.9434 240 M 169.3 88.5 94 J 0 . 23.2567 -18.3132 241 M 186.0 82.0 . J 0 . 28.7197 -1.2459 242 M 182.0 90.0 100 J 40000 . 32.4173 -9.3901 243 M 178.0 100.0 112 G 60000 . 37.6688 -18.7934
/* Lesson 18-2 */ /* File Name = les1802.sas 10/17/02 */ data gakusei; infile 'all02.prn' firstobs=2; input sex $ height weight chest jitaku $ kodukai carrier $ tsuuwa; 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 22:41 Wednesday, October 16, 2002 Principal Component Analysis 81 Observations 3 Variables Simple Statistics HEIGHT WEIGHT CHEST Mean 167.8765432 59.47654321 86.93827160 StD 8.6341078 11.23610555 7.78515523 SAS システム 4 22:41 Wednesday, October 16, 2002 Principal Component Analysis Covariance Matrix HEIGHT WEIGHT CHEST HEIGHT 74.5478179 67.4415679 25.5697840 WEIGHT 67.4415679 126.2500679 58.8522840 CHEST 25.5697840 58.8522840 60.6086420 SAS システム 5 22:41 Wednesday, October 16, 2002 Principal Component Analysis Total Variance = 261.40652778 Eigenvalues of the Covariance Matrix Eigenvalue Difference Proportion Cumulative PRIN1 201.047 159.467 0.769096 0.76910 PRIN2 41.580 22.801 0.159063 0.92816 PRIN3 18.779 . 0.071840 1.00000 SAS システム 6 22:41 Wednesday, October 16, 2002 Principal Component Analysis Eigenvectors PRIN1 PRIN2 PRIN3 HEIGHT 0.492175 -.713781 0.498278 WEIGHT 0.767281 0.085361 -.635605 CHEST 0.411149 0.695148 0.589683 SAS システム 7 22:41 Wednesday, October 16, 2002 K C H W J O A T E E C I D R S P P P I I H T U R U R R R O S G G E A K I U I I I B E H H S K A E W N N N S X T T T U I R A 1 2 3 1 F 145.0 38.0 . J 10000 . . . . 2 F 148.0 42.0 . J 50000 . . . . 3 F 148.0 43.0 80 J 50000 DoCoMo 4000 -25.2775 7.9579 -3.52285 4 F 148.9 . . J 60000 . . . . 5 F 149.0 45.0 . G 60000 . . . . 6 F 150.0 46.0 86 40000 . -19.5245 10.9573 -0.89501 7 F 151.7 41.5 80 J 35000 . -24.6074 5.1889 -0.72581 8 F 152.0 35.0 77 J 60000 DoCoMo 2000 -30.6805 2.3345 1.78605 9 F 153.0 41.0 . J 125000 No . . . . 10 F 153.0 46.5 87 G 10000 . -17.2531 9.5538 0.87170 SAS システム 9 22:41 Wednesday, October 16, 2002 プロット : PRIN2*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 162 オブザベーションが欠損値です.) PRIN2 | | 20 + | | A A | A A A | B A BBABA AA | A BA A A 0 +--------A-------ABACBABB--D-BFABABA--AAA-------A----------------- | A A A AAAABAAB B | A A A -20 + A | | | | | -40 + | ---+-----------+-----------+-----------+-----------+-----------+-- -40 -20 0 20 40 60 PRIN1 SAS システム 10 22:41 Wednesday, October 16, 2002 プロット : PRIN3*PRIN2. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 162 オブザベーションが欠損値です.) PRIN3 | | 10 + | | A A A | A A | A A AAA CCBDBBAA BDA A 0 +-----------------------A--A-A--A--A-ABAB-B--CB-A-A-A------------- | A A AA BB CA A A A | A A | A A A -10 + A | A | A | A | | -20 + | ---+-----------+-----------+-----------+-----------+-----------+-- -30 -20 -10 0 10 20 PRIN2 SAS システム 11 22:41 Wednesday, October 16, 2002 プロット : PRIN3*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 162 オブザベーションが欠損値です.) PRIN3 | | 10 + | | A B A A | A A BACB BA B DEAAB BA 0 +-----------A--A-BBAAAA-A--CA-CAA--A------------------------------ | A A A A A | AA BAB AA A | AAA| A A -10 + A A | | A | A | | -20 + | ---+-----------+-----------+-----------+-----------+-----------+-- -40 -20 0 20 40 60 PRIN1
/* Lesson 18-3 */ /* File Name = les1803.sas 10/17/02 */ data gakusei; infile 'all02.prn' firstobs=2; input sex $ height weight chest jitaku $ kodukai carrier $ tsuuwa; 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 22:41 Wednesday, October 16, 2002 Principal Component Analysis 81 Observations 3 Variables Simple Statistics HEIGHT WEIGHT CHEST Mean 167.8765432 59.47654321 86.93827160 StD 8.6341078 11.23610555 7.78515523 SAS システム 4 22:41 Wednesday, October 16, 2002 Principal Component Analysis Correlation Matrix HEIGHT WEIGHT CHEST HEIGHT 1.0000 0.6952 0.3804 WEIGHT 0.6952 1.0000 0.6728 CHEST 0.3804 0.6728 1.0000 SAS システム 5 22:41 Wednesday, October 16, 2002 Principal Component Analysis Eigenvalues of the Correlation Matrix Eigenvalue Difference Proportion Cumulative PRIN1 2.17609 1.55619 0.725362 0.72536 PRIN2 0.61989 0.41587 0.206631 0.93199 PRIN3 0.20402 . 0.068007 1.00000 SAS システム 6 22:41 Wednesday, October 16, 2002 Principal Component Analysis Eigenvectors PRIN1 PRIN2 PRIN3 HEIGHT 0.550647 -.690050 0.469701 WEIGHT 0.635259 -.018608 -.772075 CHEST 0.541511 0.723522 0.428114
[注意] データによっては解釈が困難なことも有り得る。
[参考] 「J:\コンピュータによる統計処理1(林 篤裕)\」に以下のデータを置いておく。
次回の講義中に使う予定のデータも 2つ置いておくので、 次回までに各自の SAS ディレクトリ(stat システム内)に転送しておくこと。