いくつか(p個)の変量の値を情報の損失をできるだけ少なくして、
少数変量(m個、m<p)の総合的指標(主成分)で代表させる方法である。
いくつかのテストの成績を総合した総合的成績、
いろいろな症状を総合した総合的な重症度、
種々の財務指標に基づく企業の評価
等を求めたいといった場合に用いられる。
p変量(p次元)の観測値をm個(m次元)の主成分に縮約させるという意味で、
次元を減少させる方法と言うこともでき、
多変量データを要約する一つの有力な方法である。
/* Lesson 12-1 */
/* File Name = les1201.sas 10/17/02 */
data gakusei;
infile 'all03a.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 05:40 Thursday, June 26, 2003 プロット : HEIGHT*WEIGHT. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 33 オブザベーションが欠損値です.) HEIGHT | 200 + | | B A 180 + A ADCDDCACA A B A A | AABDJHQMGFCCDCB BA | AD GHEDDCBBDAA A A 160 + ADBCBGCCAABB | A D DCAA A A | A AAA 140 + ---+-----------+-----------+-----------+-----------+-- 20 40 60 80 100 WEIGHT SAS システム 3 05:40 Thursday, June 26, 2003 Principal Component Analysis 219 Observations 2 Variables Simple Statistics HEIGHT WEIGHT Mean 168.9753425 58.93059361 StD 7.9055511 9.14179459 SAS システム 4 05:40 Thursday, June 26, 2003 Principal Component Analysis Covariance Matrix HEIGHT WEIGHT HEIGHT 62.49773784 50.81167525 WEIGHT 50.81167525 83.57240836 Total Variance = 146.0701462 Eigenvalues of the Covariance Matrix Eigenvalue Difference Proportion Cumulative PRIN1 124.928 103.786 0.855259 0.85526 PRIN2 21.142 . 0.144741 1.00000 SAS システム 5 05:40 Thursday, June 26, 2003 Principal Component Analysis Eigenvectors PRIN1 PRIN2 HEIGHT 0.631245 0.775584 WEIGHT 0.775584 -.631245 SAS システム 6 05:40 Thursday, June 26, 2003 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.3677 -5.38255 2 F 148.0 42.0 . J 50000 . -26.3717 -5.58078 3 F 148.0 43.0 80 J 50000 DoCoMo 4000 -25.5961 -6.21202 4 F 148.9 . . J 60000 . . . 5 F 149.0 45.0 . G 60000 . -23.4137 -6.69893 6 F 150.0 46.0 86 40000 . -22.0068 -6.55459 7 F 151.7 41.5 80 J 35000 . -24.4239 -2.39550 8 F 152.0 35.0 77 J 60000 DoCoMo 2000 -29.2758 1.94027 9 F 153.0 41.0 . J 125000 No . -23.9910 -1.07162 10 F 153.0 46.5 87 G 10000 . -19.7253 -4.54346 SAS システム 8 05:40 Thursday, June 26, 2003 プロット : PRIN2*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ... (NOTE: 33 オブザベーションが欠損値です.) PRIN2 | | 10 + A| A AAA | AA AAA AABAAAACA B | A BAB C BEBDEEDDHDCAAD A 0 +------------A-BA-A-BB-IABDAEEEFCCABCA-C--A-----A--------- | A C BB A C A AABBDCAADA A | A B AA AA A A A BBAAB AAAA AAC -10 + A A | AA A | | | | -20 + | A A ---+------------+------------+------------+------------+-- -40 -20 0 20 40 PRIN1 SAS システム 9 05:40 Thursday, June 26, 2003 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 システム 33 05:40 Thursday, June 26, 2003 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 229 M 179.0 66.0 . 30000 . 11.8109 3.31243 230 M 173.0 71.0 100 G 0 . 11.9014 -4.49729 231 M 178.0 67.0 . J 0 . 11.9553 1.90560 232 M 172.0 72.0 89 G 150000 . 12.0457 -5.90412 233 M 177.0 68.0 . G 80000 . 12.0996 0.49878 234 M 182.0 64.0 . G 0 . 12.1535 6.90167 235 M 170.0 74.0 90 J 0 . 12.3344 -8.71778 236 M 175.0 74.0 . J 0 . 15.4906 -4.83986 237 M 180.0 70.0 . J 40000 au 4000 15.5445 1.56304 238 M 180.0 70.0 . . . 15.5445 1.5630 239 M 178.7 71.2 95 0 . 15.6546 -0.2027 240 M 173.5 76.5 . G 100000 . 16.4827 -7.5813 241 M 184.0 68.0 85 30000 . 16.5183 5.9279 242 M 182.0 70.0 90 G 100000 . 16.8070 3.1142 243 M 185.0 68.0 93 J 0 . 17.1496 6.7034 244 M 175.0 77.0 95 G 130000 . 17.8174 -6.7336 245 M 176.5 78.0 96 J 10000 . 19.5398 -6.2015 246 M 177.0 78.0 . J 40000 . 19.8554 -5.8137 247 M 181.5 74.5 . G 120000 au 3000 19.9815 -0.1142 248 M 178.0 78.0 110 G 50000 . 20.4867 -5.0381 249 M 169.3 88.5 94 J 0 . 23.1385 -18.4137 250 M 186.0 82.0 . J 0 . 28.6390 -1.3584 251 M 182.0 90.0 100 J 40000 . 32.3187 -9.5107 252 M 178.0 100.0 112 G 60000 . 37.5495 -18.9255
/* Lesson 12-2 */ /* File Name = les1202.sas 07/03/03 */ data gakusei; infile 'all03a.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
05:41 Thursday, June 26, 2003
Principal Component Analysis
86 Observations
3 Variables
Simple Statistics
HEIGHT WEIGHT CHEST
Mean 168.0209302 59.54883721 86.96511628
StD 8.5479012 11.04155514 8.01534950
SAS システム 4
05:41 Thursday, June 26, 2003
Principal Component Analysis
Covariance Matrix
HEIGHT WEIGHT CHEST
HEIGHT 73.0666156 65.5888482 24.6783858
WEIGHT 65.5888482 121.9159398 58.3558413
CHEST 24.6783858 58.3558413 64.2458276
SAS システム 5
05:41 Thursday, June 26, 2003
Principal Component Analysis
Total Variance = 259.22838304
Eigenvalues of the Covariance Matrix
Eigenvalue Difference Proportion Cumulative
PRIN1 196.723 153.044 0.758881 0.75888
PRIN2 43.679 24.854 0.168498 0.92738
PRIN3 18.826 . 0.072622 1.00000
SAS システム 6
05:41 Thursday, June 26, 2003
Principal Component Analysis
Eigenvectors
PRIN1 PRIN2 PRIN3
HEIGHT 0.488795 -.687213 0.537417
WEIGHT 0.761132 0.034888 -.647658
CHEST 0.426330 0.725617 0.540113
SAS システム 7
05:41 Thursday, June 26, 2003
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.3514 8.1273 -3.80355
4 F 148.9 . . J 60000 . . . .
5 F 149.0 45.0 . G 60000 . . . .
6 F 150.0 46.0 86 40000 . -19.5325 11.2112 -1.43101
7 F 151.7 41.5 80 J 35000 . -24.6846 5.5323 -0.84362
8 F 152.0 35.0 77 J 60000 DoCoMo 2000 -30.7643 2.9225 1.90705
9 F 153.0 41.0 . J 125000 No . . . .
SAS システム 9
05:41 Thursday, June 26, 2003
プロット : PRIN2*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 166 オブザベーションが欠損値です.)
PRIN2 | |
20 + |
| A A | A A A A
| B A BBABA AA | AAAA A A
0 +--------A-------ACACBACA--D-BFABACA--AAA-------A-----------------
| A A A AB ABAAC B
| A A A A
-20 + A |
| |
| |
-40 + |
---+-----------+-----------+-----------+-----------+-----------+--
-40 -20 0 20 40 60
PRIN1
SAS システム 10
05:41 Thursday, June 26, 2003
プロット : PRIN3*PRIN2. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 166 オブザベーションが欠損値です.)
PRIN3 | |
10 + |
| A A AB | A A
| A A A AA ACBF|C AB ACC A
0 +--------------------------A--A-A--A--BCB-BAAABAA--AA-------------
| AA BABB C AA A
| A AAA |AA A A
-10 + | A
| A | A
| |
-20 + |
---+-----------+-----------+-----------+-----------+-----------+--
-30 -20 -10 0 10 20
PRIN2
SAS システム 11
05:41 Thursday, June 26, 2003
プロット : PRIN3*PRIN1. 凡例: A = 1 OBS, B = 2 OBS, ...
(NOTE: 166 オブザベーションが欠損値です.)
PRIN3 | |
10 + |
| A A BA A A
| A A C CB BA B DDBAA A BA
0 +-----------A--A-BBBAAA-A--D--E-A---------------------------------
| A A A A A | AA BAC AA
| A A A AA| A A A
-10 + A |
| A | A
| |
-20 + |
---+-----------+-----------+-----------+-----------+-----------+--
-40 -20 0 20 40 60
PRIN1
/* Lesson 12-3 */
/* File Name = les1203.sas 07/03/03 */
data gakusei;
infile 'all03a.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 システム内)に転送しておくこと。