いくつか(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 システム内)に転送しておくこと。