情報とコンピュータ

データ解析
http://coconut.sys.eng.shizuoka.ac.jp/data/
静岡大学工学部
安藤和敏
2005.12.14
主成分分析のデータ
(変数が3個の場合)
No
変数 x
変数 y
変数 z
1
x1
y1
z1
2
x2
y2
z2
…
…
…
…
i
xi
yi
zi
…
…
…
…
n
xn
yn
zn
合成変数 u
a  b  c 1
2
2
2
を満たす a, b, c に対して,
u  ax  by  cz
という変数変換を考える.
2
s
ただし,ここで u の分散 u が最大になるよ
うに,a, b, c を選びたい.
uの分散
n
n
1
1
2
2
2
su   ui  u    axi  byi  czi  ax  by  cz 
n i 1
n i 1
n
n
n
1
1
1
 a 2  ( xi  x ) 2  b 2  ( yi  y ) 2  c 2  ( zi  z ) 2
n i 1
n i 1
n i 1
1 n
1 n
 2ab  ( xi  x )( yi  y )  2bc  ( yi  y )(zi  z )
n i 1
n i 1
1 n
 2ca  ( zi  z )(xi  x )
n i 1
 a 2 s x2  b 2 s 2y  c 2 s z2  absxy  bcsyz  caszx
uの分散の最大化
条件
a  b  c 1
2
2
2
を満足する [a,b,c] のうちで,
2
su

2 2
a sx
2 2
 b sy
2 2
 c sz
 abs xy  bcs yz  cas zx
を最大にするものを求めたい.
主成分の必要条件
2
su を最大にする [a,b,c]は,以下の方程式の
解である必要がある.
 s x2

 s xy
s
 zx
s xy
2
sy
s yz
s zx  a 
a 
 


s yz  b    b ,
2  c 
 c 
sz   

a2  b2  c2  1
つまり,そのような[a,b,c]は,分散共分散行列の
固有ベクトル(で長さが1のもの)である.
主成分の十分条件
2
su

2 2
a sx
2 2
 b sy
2 2
 c sz
 absxy  bcsyz  caszx
 s x2 s xy s zx  a 

 
2
 a b c  s xy s y s yz  b 
s
2  c 
 zx s yz s z   
a 


2
2
2
 a b c  b    a  b  c  .
 c 


主成分の必要十分条件
2
uの分散 su の極値を与える [a,b,c] は,
 s x2

分散共分散行列  s xy
s
 zx
2
であり,そのとき, su
s xy
s 2y
s yz
s zx 

s yz  の固有ベクトル
2
sz 

  (=固有ベクトル)となる.
2
s
したがって, u の最大値を与える[a,b,c]は,分散
共分散行列の最大の固有値に属する固有ベクトル
(で,長さが1のもの)である.
合成変数 u
a  b  c  d  e 1
2
2
2
2
2
を満たす [a, b, c, d, e] に対して,
u  ax  by  cz  dv  ew
という変数変換を考える.
2
ただし,ここで u の分散 su が最大になるよ
うに,[a, b, c, d, e] を選びたい.
分散共分散行列
 s x2

 s xy

S  s xz

 s xv

 s xw
とする.
s xy
s xz
s xv
2
sy
s yz
s yv
s yz
2
sz
s zv
s yv
s zv
2
sv
s yw
s zw
svw
s xw 

s yw 

s zw ,
svw 
2 
sw 
uの分散
2
su
3変数のときと同様にして,
2
su
 a b c d eS a b c d e
T
であることが分かる.
さらに,u の分散を最大化する[a, b, c, d, e]は,
Sの最大の固有値λ1に属する固有ベクトルである.
主成分の必要条件
su2 を最大にする [a,b,c,d,e]は,以下の方程式の
解である必要がある.
a 
a 
b 
b 
 
 
2
2
2
2
2
S  c     c , a  b  c  d  e  1
 
 
d 
d 
 e 
 e 
つまり,そのような[a,b,c,d,e]は,分散共分散行
列Sの固有ベクトル(で長さが1のもの)である.
主成分の必要十分条件
[a,b,c,d,e]が, Sの固有値λに属する固有ベクトル
であるならば,
2
su
 a b c d
 a b c d

eS a b c d
e a b c d

e
T
e
T
  a 2  b 2  c 2  d 2  e 2  .
2
したがって, su の最大値を与える[a,b,c,d,e]は,
分散共分散行列の最大の固有値に属する固有ベ
クトル(で,長さが1のもの)である.
第1主成分
Sの最大固有値λ1に属する固有ベクトル
[a1,b1,c1,d1,e1] を係数として得られる合成変数
u  a1x  b1 y  c1z  d1v  e1w
が主成分である.
以降では,uを第1主成分と呼んでu1と書くことにしよう.
すなわち,
u1  a1x  b1 y  c1z  d1v  e1w
分散共分散行列の固有値
 s x2

 s xy

S  s xz

 s xv

 s xw
s xy
s xz
s xv
2
sy
s yz
s yv
s yz
2
sz
s zv
s yv
s zv
2
sv
s yw
s zw
svw
s xw 

s yw 

s zw ,
svw 
2 
sw 
の固有値をλ1>λ2 > λ3 > λ4 > λ5 とする.
第2主成分
2番目に大きい固有値λ2 に属する固有ベクトル(で
長さが1のもの)を[a2,b2,c2,d2,e2]とする.
[a2,b2,c2,d2,e2]を係数とする合成変数
u2  a2 x  b2 y  c2 z  d 2v  e2 w
は第2主成分と呼ばれる. u2の分散は,第1主成分
u1  a1x  b1 y  c1z  d1v  e1w
に次いで2番目に大きい分散を与える.
なぜならば,
第2主成分
[a2,b2,c2,d2,e2]が,Sの固有値λ2に属する固有ベク
トルであるので,
su2
2
 a2
 a2

b2
b2
2
 2 a 2
c2
c2
2
 b2
d2
e2 S a2
d2
e2 2 a2
2
 c2
2
 d2
2
 e2
b2
b2
  .
2
c2
c2
d2
d2
e2 
T
e2 
T
第3,第4,第5主成分
3番目に大きい固有値λ3 に属する固有ベクトル(で
長さが1のもの)を[a3,b3,c3,d3,e3]とする.
[a3,b3,c3,d3,e3]を係数とする合成変数
u3  a3 x  b3 y  c3 z  d3v  e3w
は第3主成分呼ばれ,u3の分散はλ3となる.
以下同様に,第4主成分,第5主成分も定義さ
れる.
寄与率
第1主成分u1 の寄与率C1は,
C1 
su21
2
sx
2
 sy
2
 sz
2
 sv
2
 sw

1
2
sx
2
 sy
2
 sz
2
 sv
2
 sw
で定義される.
u1の寄与率は,与えられた多変量デ
ータのもつ情報量のうち, u1 で表現できる情報量で
あると解釈できる(⇒p.12を見よ).
寄与率
一般に第i主成分ui の寄与率Ciは,
Ci 
su2i
2
sx
2
 sy
2
 sz
2
 sv
2
 sw

i
2
sx
2
 sy
2
 sz
2
 sv
2
 sw
で定義される.
uiの寄与率は,与えられた多変量デ
ータのもつ情報量のうち, ui で表現できる情報量で
あると解釈できる(⇒p.12を見よ).
累積寄与率
第1主成分u1 の寄与率C1はと第2主成分u2 の寄
与率C2の和
'
C2 
2
2
su1  su2
2
2
2
2
s x  s y  s z  sv
2
 sw

1  2
2
sx
2
 sy
2
 sz
2
 sv
2
 sw
は第2主成分までの累積寄与率と呼ばれる.
これは,第1主成分u1と第2主成分u2の2つの合成変数
によって,与えられた多変量データの情報をどの程度表
現しているかを示す指標である.
累積寄与率
以下同様に,第3主成分までの累積寄与率,
'
C3 
su21  su22  su23
2
sx
2
 sy
2
 sz
2
 sv
2
 sw

1  2  3
2
sx
2
 sy
2
 sz
2
 sv
2
 sw
第4主成分までの累積寄与率も同様に定義される.
'
C4 
su21  su22  su23  su24
2
sx
2
 sy
2
 sz
2
 sv
2
 sw

1  2  3  4
2
sx
2
 sy
2
 sz
2
 sv
2
 sw
これらの量の意味するところはもはや明らかであろう.
とりあげる主成分の数
第1主成分u1 の寄与率C1が十分大きいもので
あれば,もうこれ以上の主成分を調べる必要はない
が,寄与率C1の大きさが満足いくものでなければ,
第2主成分まで調べる必要がある.そこで,第2主成
分までの累積寄与率もまだ満足いくものでなければ,
累積寄与率が満足がいく数字になるまで,以降の主
成分を調べていく.
ただし,とりあげる主成分の数を増やすことは,与え
られたデータを少ない変数で表現するという,主成分
分析本来の目的に反するので,望ましいことではない.
主成分の解釈
主成分の意味を考えるための手助けになるものと
して,変量プロットと主成分得点プロットがある.両
方とも,視覚的に主成分を捕らえるためのもので
ある.
変量プロット
第1,第2主成分u1 ,u2 が,それぞれ以下の式で
表されているとする.
u1  a1x  b1 y  c1z  d1v  e1w
u2  a2 x  b2 y  c2 z  d 2v  e2 w
以下の5つの点を二次元平面にプロットしたものが,
変量プロットである.
(a1, a2 ), (b1, b2 ), (c1, c2 ), (d1, d2 ), (e1, e2 )
主成分得点プロット
2つの主成分,例えばu1 とu2 を考えて,以下の式
によって,各データ[xi, yi, zi, vi, wi]の第1,第2主成
分得点を計算する.
 u1i  a1xi  b1 yi  c1zi  d1vi  e1wi

u2i  a2 xi  b2 yi  c2 zi  d 2vi  e2 wi
こうして得られるn個の点 u1i , u2i  i  1,, n
を2次元平面上にプロットしたものが主成分得点プ
ロットである.
Excelで学ぼう
ファイル:第3章/3_3
本日のまとめ
• 第i主成分uiがどのようにして得られるかを理解した.
(データの分散共分散行列のi番目に大きい固有値λi
に属する固有ベクトルから得られる.)
• 寄与率,累積寄与率の定義とその意味を理解した.
• Excelを用いて,第i主成分ui主成分を計算する方法,
第i主成分得点を計算する方法を理解した.
• 変量プロット,主成分得点プロットの概念,及び,
Excelを用いてこれらのプロットの求め方を理解した.