R入門

主成分分析
結城
隆
主成分分析とは?
主成分分析とは、変数相互の関係から、新しい概念のファ
クターを導く手法である。
このファクターをものさしとして、変数やサンプルの類似性
あるいはポジショニングを明らかにすることができる。
文系能力
あり
理
系
能
力
なし
総合能力
・国語
・国語
・英語
・化学
・物理 理
・数学系
あり 能
力
なし
文系能力
あり
系
別
能
力
・国語
・英語
文系
・数学
・物理
・化学
理系
なし
総合能力
系
別
能
力
主成分
総合能力
このようなファクターがあるとする。例えば先ほどの右
図のような場合だと科目の順位を単純に足して総合順
位を出す
主成分分析
主成分分析の総合点では、各科目の得点と各科目のウェイトの積和で表され
る。
Z  a1 x1  a2 x2   a p x p
ファクターは
と表しこの式を主成分と
いう。変数xは先ほどの例だと国語、数学などの科目である。これをみると重要
1
主成分は左の式のようになり、 Zを第
な科目ほど係数が大きくなることがわかる。
Z

a
x

a
x



a
x
 1
11 1
12 2
1p p
1主成分, Zを第2主成分・・・とい
2

う。
 Z 2  a21 x1  a22 x2    a2 p x p

主成分分析はp個の変数をm個の新


しいファクターに集約する手法であ
Z

a
x

a
x



a
x
 m
m1 1
m2 2
mp p
る。主成分が何を表しているかは分
析者が行う。
主成分分析の例
数 英
学 語
合
計
順
位
A
2
3
5
7
B
1
4
5
7
C
2
2
4
10
D
3
2
5
7
E
5
4
9
3
F
4
4
8
6
G
8
5
13
1
H
6
3
9
3
I
7
6
13
1
J
4
5
9
3
左の表では、順位は単純
合計だが主成分分析を用
いて順位を出す。
10
8
6
まず点グラフを作成
する。英語と数学の
重心を通る線を引く。
・B
4
英
語
x2 2
0
・A
・C ・D
2
・I
・J
・F× ・E
・H
4
6
数学  ( x1 )
・G
8
10
重心(4.2,3.8)
重心を通る直線は、各点からこの直線におろした垂線の長さの2乗和
の値がもっとも小さくなるような直線を引くことにする。
主成分分析では、この直線の式のことを主成分、各生徒の直線上にお
ける重心からの距離を主成分得点とする。
また Z に垂直な直線 Z 2 を引く。Z 軸と Z 軸はそれぞれ第1主成分で
総合能力、第2主成分で系別能力を表している。
1
1
2
主成分得点の算出
主成分の算出
Z1 
0.9215x1  0.3884x2
Z 2  0.3884x1  0.9215x2
主成分の係数を固有
ベクトルいう。第1主
成分の固有ベクトル
を第1固有ベクトルと
いう。
主成分
Z1
主成分は、右表のよう
に求まる。主成分得点
は新しい軸での座標。
よって主成分から平均
値を引くことによって求
まる。
主成分得点
Z2
A
3.0082
1.9877
B
2.4751
3.2976
C
2.6198
1.0662
D
3.5413
0.6778
E
6.1611
1.7440
F
5.2396
2.1324
G
9.3140
1.5003
H
6.6942
0.4341
I
8.7809
2.8102
J
5.6280
3.0539
平均
5.3462
1.8704
第1
AからJ、それぞれの
主成分からその主
成分の平均を引く
第2
A
-2.3380
0.1173
B
-2.8711
1.4272
C
-2.7264
-0.8042
D
-1.8049
-1.1926
E
0.8149
-0.1264
F
-0.1066
0.2620
G
3.9678
-0.3701
H
1.3480
-1.4363
I
3.4347
0.9398
J
0.2818
1.1835
主成分得点での順位
主成分分析での順位と単純集計を比べると下
図のようになり単純集計より正確になっている
ように思える。
順位
単純集計
第1主成分得点
A
7
8
B
7
10
C
10
9
D
7
7
E
3
4
F
6
6
G
1
1
H
3
3
I
1
2
J
3
5
主成分得点の基本統計量
Zˆ

Zˆ
 Zˆ  Z Zˆ  Z 
第1主成分
得点 Z 1
第2主成
分得点 Z 2
A
-2.3380
0.1173
5.4663
0.0138
-0.2742
B
-2.8711
1.4272
8.2432
2.0369
-4.0976
C
-2.7264
-0.8042
7.4334
0.6468
2.1926
D
-1.8049
-1.1926
3.2577
1.4223
2.1526
E
0.8149
-0.1264
0.6640
0.0160
-0.1030
F
-0.1066
0.2620
0.0114
0.0686
-0.0279
G
3.9678
-0.3701
15.7433
0.1370
-1.4686
H
1.3480
-1.4363
1.8171
2.0630
-1.9361
I
3.4347
0.9398
11.7970
0.8832
3.2278
J
0.2818
1.1835
0.0794
1.4006
0.3335
Zˆ
Zˆ
1
合計
第1主成分得点の分散
第2主成分得点の分散
2
0
0
1
 Z1
 Zˆ
1
 Z1
S11
2

2
54.5128
2
 Z2
2
1
2
2
Zˆ  Z 
S 22
Zˆ Z Zˆ Z 
8.6882
0.0000
2
2
2
S11
54.5129

 6.0570
n 1
9
S
8.6882
V2  22 
 0.9654
n 1
9
V1 
1
1
1
S12
2
2
第1主成分得点と第2主成分得点との関係
第1主成分得点と第2主成分得点との相関
r
S12
0

0
S11  S22
54.5129 8.6882 0
2つの主成分得点相互
の単相関係数の計算
は0となる
主成分分析で、2本の直線を求めるという
ことは散布点の相関0となるような新しい軸
を求めることと同じ。
主成分得点は、どの組み合わせに対しても単相関係数は0。
このことを「主成分得点は互いに独立である」という
固有値
これまで2つの主成分を求めたが、下の図をみると Z1 軸のほう
が重要に思える。そこでどちらが重要かを統計的に表すのが固
有値である。
Z2
Z1
この幅が狭い
この幅が広い
主成分得点の
分散が小さい
主成分得点の
分散が大きい
主成分得点の基本統計量で求めた各主成分得点
の分散が、固有値となる。
1  6.06
, 2  0.97
分散の大きい
軸の方が重要
分散は固有値である
したがって固有値
の大きい方が重要
固有値の算出
x1  x1 2 x2  x2 2 x  x x
 x2 
数
学
英
語
A
2
3
4.84
0.64
1.76
B
1
4
10.24
0.04
-0.64
C
2
2
4.84
3.24
3.96
D
3
2
1.44
3.24
2.16
E
5
4
0.64
0.04
0.16
F
4
4
0.04
0.04
-0.04
G
8
5
14.44
1.44
4.56
H
6
3
3.24
0.64
-1.44
I
7
6
7.84
4.84
6.16
J
4
5
0.04
1.44
-0.24
 x  x 
 Zˆ  x
S
 x  x 
S 22
x  x x  x 
15.6
16.4
1
2
1
1
2
1
11
42
38
47.6
2
2
2
1
1
2
1
S12
2
2
S11
47.6

 5.29
n 1
9
S
15.6
V22  22 
 1.73
n 1
9
V11 
V12 
S12 16.4

 1.82
n 1
9
5.29   1.82
0
1.82 5.29  
5.29   1.73   1.822  0
  6.06 or   0.97
これは主成分得点の基本統計量で求めた主成分得点
の分散と一致する。
固有ベクトルの算出
  6.06 の場合、すなわち第1固有ベクトルを求める。
5.29a1  1.82a2  6.06 a1  0 1

1.82a1  1.73a2  6.06 a2  0 2
 2
2
3
a

a
2 1
 1
これを解くと
よって
a1  0.9215, a2  0.3884
a1, a2   0.9215,0.3884
同様にして2 の場合も求まるので
第1固有
ベクトル
数学
英語
 x1 
x2 
固有値

第2固有
ベクトル
0.9215
-0.3884
0.3884
0.9215
6.06
0.97
と求められる。
となる。
なお2つの主成分の対応する
固有ベクトルを掛け加算する
と0になる。
このことを2つの主成分は直
交するという。
データ単位が異なっているときの固有ベクトル
変数の単位を変えると固有ベクトルがどうなるかを調べてみる。
数学
 x1 英語 x2 
A
20
3
B
10
4
C
20
2
D
30
2
E
50
4
F
40
4
G
80
5
H
60
3
I
70
6
J
40
5
第1固
有ベク
トル
数学
数学の得点を100点
満点に直して主成分
分析を行ってみる
英語
 x1 
x2 
固有値
第2固
有ベク
トル
0.9994
-0.0345
0.0345
0.9994
529.518
1.104
固有ベクトルの算出で求めた固有ベクトルとは、全く違った値となってしまう。
そこで固有ベクトルを求めるときはデータ単位を同じにして主成分分析をして
求めればよい。データ単位を揃えるには基準値を用いればよい。
相関行列による固有ベクトルの算出
不思議と分散行列の代わりに相関行列を用いて固有ベクトルを用
いても求まる。
データ単位が異なっているときの固有ベクトルの表より
r12 
S12
164

 0.6018
S11  S22
476015.6  0
r11 r12
r11 r22

1.0000 0.6018
0.6018 1.0000
0
  1.6018 or   0.3981
これらよりよって
第1固有ベ
クトル
固有ベクトルは
第2固有
ベクトル
数学
0.7071
0.7071
英語
0.7071
-0.7071
固有値
1.6018
0.3981
これは基準値をもちいた主成
分分析と同じ値になる。
よってデータ単位が異なる場合、
相関行列を用いて固有ベクト
ルを求めればよい。
主成分負荷量
固有ベクトルに 固有ベクトルを乗じたものを
主成分負荷量という。
相関行列で求めた固有ベクトルについて主成
分負荷量を求めると、次のようになる。
第1主成分負荷量
第2主成分負荷量
数学
1.6018 0.7071 0.8949
0.3981 0.7071 0.8949
英語
1.6018 0.7071 0.8949
0.3981  0.7071  0.4462
寄与率
固有値の値が大きいほど、主成分の説明力は高くなる
しかし固有値はもちいたデータ単位によって大きさが変わるので、各
主成分の固有値が全体(固有値の総合計)に占める割合によって、
固有値の大きさをみる。これによって求められる値を寄与率という。
j番目主成分の寄与率=
100 j
1  2     p
1番目主成分からj番目主成分までの
固有値の合計を累積寄与率という
分散・共分散行列のとき
相関行列で主成分分析を行った場合と
100       
1  2   p  p いう相関が成立する。 j番目主成分の累積寄与率=
    
1
1
よって相関行列で主成分分析を行ったときの
100 j
j番目主成分の寄与率=
p
2
2
j
p
相関行列のとき
j番目主成分の累積寄与率=
1001  2     p 
p
主成分の数
変数がたくさんある場合主成分の数をいくつまでとるかが問題になる
主成分の数の決め方にこれといった方法はないが目安として次のようなも
のがあげられる。
①累積寄与率が、ある程度(例えば60%)以上大きくなること
②相関行列で主成分分析を行うときは、固有値が1.0以上であること
累積寄与率が第1主成分で
90%以上ある
このような場合が起こる時はほとんど
同じ変数を扱っているときでこのような
場合は新しいファクターは1つしか見つ
からない。
このようなときは別の変数を入れるか、
現在使っている変数を相互に組み合わ
せ新しい変数を作り、やり直せばよい
累積寄与率が大きくならない
かなりの数の主成分を選択してもこの
ような場合がおこるのは扱っているテー
マが複雑であることを表している。
これは別に悪いことではないが少ない
主成分で累積寄与率を大きくしたいと
考えるなら、用いている変数を整理し、
2つに分けて主成分分析をするのもい
つの方法である。
変数の設定
主成分分析は、数量データであれば、どんな変数を用いてもかまわ
ない。変数が2つ以上なら、いくつあってもよい。しかしあまり多すぎ
ると複雑になりすぎて累積寄与率が大きくならないことがあるので
注意。
変数を新しく作る
いろいろな変数を組み合わせ、新しく変数を作って主成分
分析を行うことにより、新しいファクターが発見できることが
あります。例として次のような変数が作れます。
人口
人口
世帯数
1世帯当たり人員
面積
人口密度
主成分の解釈とネーミング
主成分分析を行うと、主成分の式を算出するが、これが何を表して
るかまでは求めない。
そこで主成分が何を表しているかは分析者が判断する。
主成分の解釈やネーミングの仕方の例として以下がある。
①固有ベクトルの棒グラフ分析
②固有ベクトルの点グラフ分析
③主成分得点の属性別平均の棒グラフの分析
④主成分得点の属性別平均の点グラフの分析
固有ベクトルの棒グラフの分析
主成分ごとに、固有ベクトルの大きい順にならべ棒グラ
フを書く。
上位方向、下位方向にある変数を調べ、これらが何を
弁別しているかを分析し、その主成分の解釈を行う
例
数学
英語
第2固有ベクトル
第1固有ベクトル
0.9215
0.3884
数学
英語
-0.3884
0.9215
固有ベクトルの点グラフの分析
棒グラフと分析の仕方は変わらないが、点グラフを書く
ことによって、主成分の解釈がしやすくなることがある。
例
・数学
高
0.5
・英語
理
系
-0.5
0.5
低
文
系