12. 成績処理 (3)
A, B, · · · , H を座標 (g(x), h(x)) でプロットしたもの.
85
C D
80
G H
hx
75
A B
E F
70
65
20 30 40 50 60 70
gx
※ 3 科目の成績の特徴を 2 次元平面に上手にプロットする方法は?
3 次元データの特徴を維持しつつ, 2 次元データに圧縮する方法は?
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 12 / 44
13. 記号と基礎統計量の復習
x = (x1 , x2 , · · · , x n), y = (y1 , y2 , · · · , y n), 1 = (1, 1, · · · , 1) とする.
y1
∑
n ( )
y2
内積 s= xi yi = x, y = x · y t = x1 x2 ··· xn ·
.
.
.
i=1
yn
∑
n
ノルム ||x|| = x, x = (xi )2
i=1
∑
n
合計 s= xi = 1, x
i=1
1
平均 x=
¯ 1, x
nn
∑
分散 σ2 = (xi − x)2 = x − x1, x − x1
¯ ¯ ¯
√i=1
標準偏差 σ= x − x1, x − x1
¯ ¯
データの分析, 数列 (Σ), 行列, ベクトル, · · · の勉強が必要.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 13 / 44
14. データ行列 · 距離行列 · 内積行列
n 個のデータ oi = (xi1 , xi2 , · · · , xip) (i = 1, · · · , n) を考える. ここで
は, p ≤ n としておく. n × p 行列, X = (xi j ) (i = 1, · · · , n,
j = 1, · · · , p) に対して, n × n 行列 M と B を
M = (||oi − o j ||),
B = ( oi , o j ) = (oi · (o j ) t ) = X · X t
とする.
M を距離行列, B を内積行列, X をデータ行列と呼ぶことにする.
n × 1 の列ベクトルを xi = (x1i , x2i , · · · , x ni ) (i = 1, · · · , p) と書き,
X = (x1 , x2 , · · · , x p) と書くこともある.
X が n × p 行列のとき, B = X · X t は n × n 行列, X t · X は p × p 行列.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 14 / 44
15. B と X の関係
問題
n × n 行列 B = (bi j ) が与えられ, X がわからないときに, 適当な次元 p を
.
定め, bi j = oi , o j (i = 1, · · · , n, j = 1, · · · , n), すなわち, B = X · X t とな
るような, n 個のベクトル oi = (xi1 , xi2 , · · · , xip) を求めよ.
B を直交対角化して UBU t = Λ と対角行列に出来たとする. このとき, B
.
は半正定値行列であり固有値は 0 または正であることが知られていて,
√
Λ (行列 Λ の対角成分に全て平方根を施した行列) を作ることが出来る.
√ √ √ √
そして, B = U t ( Λ)2 U = (U t Λ)(U t Λ) t であり, X c = U t Λ とすると
B = X c X c となる. このときの X c は n × n 行列である.
t
b ··· u ··· λ ··· u ···
11
b12 b1n 11
u21 u n1 11
0 0 11
u12 u1n
b21
b22 b2n u12
u22 u n2
0
λ22 0
u21
u22 u2n
.
.
. = .
. .
. .
.
. . .
. .
. .
.
. .
. .
. .
.
b n1 b n2 ··· b nn u1n u2n ··· u nn 0 0 ··· λ nn u n1 u n2 ··· u nn
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 15 / 44
16. アルゴリズム 1
B を作ったもとのデータ行列 X を探す:
X = (xi j ) のランクが p であるとき, rank(B) は p であることが知られてお
り, Λ の対角成分は λ1 ≥ λ2 ≥ · · · ≥ λ p で, λ p+1 = · · · = λn = 0 と考えて
良い. Λ = (λi j ), u = (ui j ) とし, r ≤ p とするとき, r × r 行列 Λ r = (λi j )
(i, j = 1, · · · , r), n × r 行列 U r = (ui j ) (i = 1, · · · , n, j = 1, · · · , p) とする
√
と B = U pΛ pU p となる. X c = U p Λ p とすると X c は n × p 行列で,
t
B = X c X c となる.
t
b ··· u ··· λ ··· u ···
11
b12 b1n 11
u21 u p1 11
0 0 11
u12 u1n
b21
b22 b2n u12
u22 u p2 0
λ22 0 u21
u22 u2n
.
.
. = .
. .
. .
.
. . .
. .
. .
.
. .
. .
. .
.
b n1 b n2 ··· b nn u1n u p2 ··· u pn 0 0 ··· λ pp u p1 u2 p ··· u pn
√
u
11
u21 ··· u p1
λ11
√
0 ··· 0
u
12
u22 u p2
0 λ22 0
XC = .
.
. .
.
.
. .
.
.
. .
√
u n1 u n2 ··· u pn 0 0 ··· λ pp
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 16 / 44
17. 特異値分解
定理 (Singular Value Decomposition[1])
n × p 行列 X に対して, n × n 直交行列 U, p × p 直交行列 V が存在し,
X = U · L · V t とすることが出来る. 但し, n × p 行列 L = (li j ) は対角行列
li j = 0 (i j, i = 1, · · · , n, j = 1, · · · , p) である.
そして, このとき次の条件が満たされる.
X · X t は, U で直交対角化され 0 でない固有値の集合は
{l2 | lii 0, i = 1, · · · , p}.
ii
UU t = E n で, U(XX t )U t が対角行列になる.
X t · X は, V で直交対角化され 0 でない固有値の集合は
{l2 | lii 0, i = 1, · · · , p}.
ii
VV t = E n で, V(X t X)V が対角行列になる.
rank(X) = #{lii | lii
0, i = 1, · · · , p}. (0 でない特異値の数)
.
∑ p
Tr(X · X ) = Tr(X · X) =
t t 2
lii
i=1
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 17 / 44
21. X t · X の対角化
特異値分解の行列 V は X t · X を直交対角化する.
(※ 対称行列 X t · X は直交行列で対角化可能).
1
√ −√
1
−√
1
3 2 √6
V=
1
√ 0 2
3 3
1
√
1
√ − 1
√
3 2 6
4 2 2
8 0
0
V (X · X)V = V 2 4 2 V = 0 2
t t
t
0
2 2 4 0 0 2
注: 0 以外の固有値は特異値の平方になる.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 21 / 44
22. 中心化行列
定義 (中心化行列)
自然数 n に対して, E n を n × n 単位行列, 1 n を全成分が 1 の n 次元列ベク
トル, 1 n×n を全成分が 1 の n × n 行列とする. このとき, n × n 行列
J n = E n − 1 1 n×n を中心化行列という.
n .
1∑
n
1
n × p 行列 X に対して, J n X = (E n X − 1 n×n X) = (xi j − x k j ) であ
n n
k=1
∑
n .
り, J n X = (x ) とすると xi j = 0 となる. すなわち, J n X はデータ列 X
ij
i=1
の重心を原点に平行移動したデータ列になる.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 22 / 44
23. 主成分分析 (PCA)
定理 (Principal Component Analysis)
1
n × p 行列 X の共分散行列を p × p 行列 S = (J n X) t (J n X) とする. S を直
n
交対角化して VSV t = Λ となり, Λ = (λi j ) は, λi j = 0 (i j),
λ11 ≥ λ22 ≥ · · · ≥ λ pp ≥ 0 とする. n × p 行列 Y を Y = (J n X) · V t とする
と Y = (y1 , y2 , · · · , y p) = (yi j ) に対して, 次の性質が成り立つ.
∑n
1 yi j = 0 ( j = 1, · · · , p), (yi の平均は 0)
i=1
1 t
2 Y Y = Λ (Y の共分散行列は対角行列で対角成分 (yi の分散) は固有値),
n .
3 Tr(Y t Y) = Tr(S),
4 |Y t Y| = |S|.
変換されたデータ列 Y について, 次のことがわかる. (1) より各成分の平均は全て
0 である. (2) より各成分の分散は第 1 成分から順番に小さくなっている.
溝口佳寛 (九大 IMI) 行列計算を利用したデータ解析技術 2012/04/15 23 / 44