速習多変量解析3日間 慶応大学総合政策学部 河添 健

1
速習多変量解析 3 日間
慶応大学総合政策学部 河添 健
2
1 日目 多変量解析と線形代数
I. 多変量(データ)解析って何?
多変量解析は線形代数
線形代数(ベクトルと行列) の統計への焼き直し .
新しい数学の概念は何も無い. 数学の応用.
多次元に注目する.
Q. 阪神と巨人はど ちらが強いか?
A. 「勝敗」( 1 次元)
A. 「投手力」,「打撃力」,「守備力」( 3 次元)
Q. 学力を調べるにはど うしたらいいか?
A. 「数学」( 1 次元)
A. 「数学」,「理科」,「国語」,「社会」( 4 次元)
A. 「数学」,「国語」( 2 次元)
データの構造, 潜在要因を明らかにする.
次元の意味付けをする.
3
II. 線形代数の基礎知識 (1)
0 1
BB x1 CC
BB x2 CC
ベクトル x = BBB . CCC
B@ . CA
xn
0 1 0 1 0
BB x1 CC BB y1 CC BB x1 + y1
BB x2 CC BB y2 CC BB x2 + y2
x+y =B
BB .. CCC + BBB .. CCC = BBB ..
B@ . CA B@ . CA B@ .
xn
yn
xn + yn
1
0 1 0
BB x1 CC BB cx1 CC
BB x2 CC BB cx2 CC
cx = c BBB .. CCC = BBB .. CCC
B@ . CA B@ . CA
xn
1
CC
CC
CC
CC
A
cxn
ベクトルの長さ( ノルム)
q 2 2
kxk = x1 + x2 + : : : + x2n
ベクトルの内積
n
X
x y = x1 y1 + x2 y2 + : : : + xn yn = xi yi
Schwartz の不等式
jx yj kxkkyk
2 つのベクトルのなす角
,1 kxxkk yyk 1
9 st
cos = x y
kxkkyk
i=1
4
III. いろいろな統計量
平均( mean )
分散( variance )
標準偏差( standard
相関( correlation )
variance )
共分散( covariance )
分散共分散行列( covariance
matrix )
相関行列( correlation matrix )
身長 体重 視力 No.1
No.2
No.3
...
No.132
1
2
3
...
n
192cm
167cm
170cm
...
175cm
x1 x2
x11 x21
x12 x22
x13 x23
...
...
x1n x2n
93kg
62kg
80kg
...
102kg
x3 . . .
x31 . . .
x32 . . .
x33 . . .
...
...
x3n . . .
1.5
1.2
0.3
...
0.7
...
...
...
...
...
...
xp
xp1
xp2
xp3
...
xpn
xi を変量という. xi と書くこともある.
xij の添字 i; j の付け方に注意.
5
6
平均
分散
xi = n1 (xi1 + xi2 + : : : + xin)
n
X
= n1 xik
k=1
1
= n xi 1
s2i = n1 (xi1 , xi)2 + (xi2 , x)2 + : : : + (xin , xi)2
n
X
1
= n (xik , xi)2
k=1
= n1 kxi , xi1k2
標準偏差
xi と xj の共分散
q
si = s2i
sij = n1 ((xi1 , xi)(xj1 , xj ) + (xi2 , x)(xj2 , xj ) + : : : + (xin , x
n
X
1
=
n k=1(xik , xi)(xjk , xj )
= 1 (xi , xi1) (xj , xj 1)
n
分散は自分自身との共分散 sii = s2i
sij = sji
7
xi と xj の相関係数
rij = ssijs
i j
= (kxxi ,,xxi11)kk (xxj,,xxj11k)
i
i
j
j
xi と xj の相関係数は, 2 つのベクトル
xi , xi 1; xj , xj 1
のなす角の余弦( cos )
,1 rij 1
r = 1 正の比例, r = ,1 負の比例.
分散共分散行列
0 2
BB s1
B
S = BBBB s21..
B@ .
s12
s22
...
sp1 sp2
s13
s23
...
sp3
:::
:::
...
:::
s1p
s2p
...
spp
r13
r23
...
rp3
:::
:::
...
:::
r1p CC
r2p CCC = (r )
ij
... CC
CA
1
相関行列
0
BB 1
BB r21
R = BBB ..
B@ .
r12
1
...
rp1 rp2
1
CC
CC
CC = (sij )
CC
A
1
分散行列, 相関行列は p 次対称行列.
8
IV. データの標準化
単位の違うデータ(変量)を同時に扱って良いのか?
例 x1
= 身長( cm), x2 = 体重( kg ), x3 = 視力
変量を無単位にする.
zi =
xi , xi 1
si
zi の平均は 0, 分散は 1 となる.
標準化したデータの共分散は相関係数
S=R
9
2 日目 重回帰分析
I. 重回帰分析の精神
1
2
3
...
n
x1 x2
x11 x21
x12 x22
x13 x23
...
...
x1n x2n
x3 . . .
x31 . . .
x32 . . .
x33 . . .
...
...
x3n . . .
xp
xp1
xp2
xp3
...
xpn
...
...
...
...
...
...
y
yp1
yp2
yp3
...
ypn
xi を変数(量)という. xi (ベクトル)と書くこ
ともある.
x1; x2; : : : ; xp と y に因果関係( 原因と結果)はあ
るか?
y = a1x1 + a2x2 + : : : + apxp + a0
y が結果, x1; x2; : : : ; xp が原因
もし関係式が存在し , 係数 ai が決まれば予測や制
御に役立つ.
? うまくいけばの役立つが , うまくいく保証はど こ
にも無い. 世の中はもっと複雑で , 1次式はあまい.
? 結構うまくいく場合がある. 複雑なことも線形(1
次式)で近似される.
10
y
8
6
4
2
2
4
6
8
10
x
図 1:
II. 線形代数の基礎知識 (2)
行列
和
0
BB
BB
A = BBB
B@
a11
a21
...
am 1
a12
a22
...
am 2
:::
:::
...
:::
a1n
a2n
...
amn
1
CC
CC
CC = (aij )
CC
A
A + B = (aij ) + (bij ) = (aij + bij )
スカラー倍
cA = c(aij ) = (caij )
積
A = (aij ) (m; n) 行列, B = (bij ) (n; p) 行列
11
0
BB
BB
BB
BB
BB
BB
BB
B@
a11
a21
..
ai1
...
am1
a12
a22
..
ai2
...
am2
:::
:::
..
:::
...
:::
a1n
a2n
..
ain
...
amn
1
CC 0
CC b11
CC BB
CC BB b21
CC BB ..
CC BB .
CC @
CA bn1
b12
b22
...
bn2
AB = C = (cij ); cij =
ベクトルと行列
:::
:::
...
:::
n
X
k=1
Ax = (aij )(xi) = (ci); ci =
逆行列 A は正方行列
b1j
b2j
...
bnj
:::
:::
...
:::
aik bkj
n
X
k=1
aik xk
AX = XA = I; X = A,1
連立1次方程式
8
>
a11x1 + a12x2 + : : : + a1nxn = b1
>
>
>
< a21x1 + a22x2 + : : : + a2nxn = b2
...
>
>
>
>
: an1x1 + an2x2 + : : : + annxn = bn
これは
と書ける. もし
Ax = b
A が逆行列を持てば解 x は
x = A,1 b
1
b1p CC
b2p CCC
... CC
CA
bnp
12
III. コンピュータはあっという間.
(1) データ
0
BB
BB
X = BBB
B@
x11
x12
..
x1n
x21
x22
..
x2n
(2) 分散共分散行列
0 2
BB s1 s12
BB s21 s22
B
S = BBB .. ..
BB
B@ sp1 sp2
sy1 sy2
0
BB
BB
B
= BBB
BB
B@
連立方程式
s13
s23
..
sp3
sy3
:::
:::
..
:::
xpi
xp2
..
xpn
:::
:::
..
:::
:::
s1p
s2p
..
s2p
syp
S0
sy1 sy2 sy3 : : : syp
0
BB a1
BB a2
S0 BBB ..
B@ .
ap
1 0
CC BB s1y
CC BB s2y
CC = BB .
CC BB ..
A @
spy
1
CC
CC
CC
CC
A
1
y1 CC
y2 CCC
.. CC
CA
yn
s1y
s2y
..
spy
s2y
1
CC
CC
CC
CC
CC
CA
1
s1y C
s2y CCCC
... CC
CC
spy CCA
syy
13
回帰係数
0
BB a1
BB a2
BB .
BB ..
@
1
0
CC
BB s1y
CC
B
CC = S0,1 BBB s2. y
CC
BB ..
A
@
1
CC
CC
CC
CC
A
ap
spy
a0 = y , (x1a1 + x2a2 + : : : + xpap)
回帰直線
Y = a1x1 + a2x2 + : : : + apxp + a0
回帰 (regresion)
標準化したときは ,
standard(partial) regresion
III. ど うして回帰係数が求めるものなのか?
回帰係数の根拠は何?
実測値 No.1
No.2
...
No.i
...
No.p
y
y1
y2
...
yi
...
yp
予測値
a1x1 + a2x2 + : : : + apxp + a0
a1x11 + a2x21 + : : : + apxp1 + a01
a1x12 + a2x22 + : : : + apxp2 + a02
...
a1x1i + a2x2i + : : : + apxpi + a0i
...
a1x1p + a2x2p + : : : + apxpp + a0p
14
誤差の 2 乗和
Q(a0; a1; : : : ; ap) =
を最小にする
p
X
i=1
(yi , (a1x1i + a2x2i + : : : + apxpi + a0i))2
a0; a1; : : : ; ap を求める.( 最小 2 乗法)
y
8
6
4
2
2
4
6
8
10
x
図 2:
最小 (大)! 微分係数が 0
正規方程式
8
>
>
>
>
<
>
>
>
>
:
@Q = Xp 2 (y , (a x + a x + : : : + a x + a )) (,x ) = 0
1 1i
2 2i
p pi
0i
ki
@ak i=1 i
(1 k p)
p
@Q = X (,2) (y , (a x + a x + : : : + a x + a )) = 0
i
1 1i
2 2i
p pi
0i
@a
0
i=1
下の式から
X
X
X
X
yi , (a1 x1i + a2 x2i + : : : + ap xpi + pa0) = 0
y , (a1x1 + a2x2 + : : : + apxp + a0) = 0 (?)
15
a0 = y , (a1x1 + a2x2 + : : : + apxp + a0)
上の式から
X
(?) を引いて
X
((yi , y) , (a1(x1i , x1) + a2(x2i , x2) + : : : + ap(xpi , xp))) xki = 0
X
X
(yi,y)xki,(a1 (x1i,x1)xki+: : :+(ap (xpi,xp)xki) = 0
ところで
X
X
X
(yi , y) = 0; (xji , xj ) = 0 より
X
X
(yi,y)xk ,(a1 (x1i,x1)xk +: : :+ap (xpi,xp)xk ) = 0
これを前の式から引けば
X
X
X
(yi,y)(xki,xk ),(a1 (x1i,x1)(xki,xk )+: : :+ap (xpi,xp)(xki,xk )) = 0
以上のことから
sky , (a1s1k + a2s2k + : : : + apspk ) = 0; (1 k p)
0
BB a1
BB a2
S0 BBB .
B@ .
ap
1 0
CC BB s1y
CC BB s2y
CC = BB .
CC BB .
A @
spy
1
CC
CC
CC
CC
A
16
IV. うまくいっているかの判定は?( 検定)
Y = a1x1 + a2x2 + : : : + apxp + a0
実測値( 目標値) 予測値 誤差 y
No.1
No.2
..
No.p
Y y1
y2
..
yp
Y1
Y2
..
Yp
1
2
..
p
仮定 各誤差は平均 0 で分散が等しい正規分布に従
い, 共分散は 0 とする.
分散分析
X
ST = (yi , y)2
X
SR = (Yi , Y )2
X
SE = (yi , Yi)2
実測値の変動
予測値の変動
誤差値の変動
ST = SR + SE
予測値
誤差値 実測値
変動
自由度
不変分散
SR
p
SR=p
SE n , p , 1 SE =(n , p , 1)
ST
n,1
ST =(n , 1)
17
R2 = SSR
寄与率 (propotion)
T
R
F0 = S =(nSR,=pp , 1)
E
決定係数 (coecient
of determination)
重相関係数 (multiple correlation coecient)
分散比
F0 は自由度 (p; n , p , 1) の F -分布に従う.
仮説検定
仮説 重回帰式は役立たない.
F0 F (p; n , p , 1; ))
のとき, 危険度
で却下する.
n = 6, p = 2 のとき, F0 = 8:3 だとする.
危険率
0:1 では
F0 = 0:8 > 5:5 = F (2; 3; 0:1)
より, 重回帰式は役立つ.
危険率
0:05 では
F0 = 0:8 < 9:6 = F (2; 3; 0:05)
より, 重回帰式は役立たない.
18
V. 注意
変数の選び方が大切( 変数を加減して調べる)
相関係数が小さい変数を選ぶ.( 独立性)
誤差項の仮定のチェック
y
8
6
4
2
2
4
6
図 3:
8
10
x
19
3 日目 主成分分析と因子分析
I. 主成分分析の精神
1
2
3
..
n
x1 x2
x11 x21
x12 x22
x13 x23
..
..
x1n x2n
x3 . . .
x31 . . .
x32 . . .
x33 . . .
..
..
x3n . . .
xi を変数( 量)という.
ともある.
xp
xp1
xp2
xp3
..
xpn
xi (ベクトル )と書くこ
x1; x2; : : : ; xp の 1 次結合に意味はあるか?
a1x1 + a2x2 + : : : + apxp
変量の 1 次結合を考え, 変量の総合的特性を記述
する.
例1 x1
= 身長, x2 = 体重, x3 = 足の長さ
0:7x1 + 2x2 , 0:5x3 = お相撲さんへの適正
例 2 x1
x5 = 英語
= 国語, x2 = 社会, x3 = 数学, x4 = 理科,
x1 + 1:8x2 , 1:2x3 , x4 + 0:5x5 = 文系向き
20
? うまくいけば役立つが , 保証はどこにも無い.
? 意味付けが非常に難しい.
? 変量 x1; x2; : : : ; xp の作る空間
fc1x1+c2+: : :+cpxp ; c1; c2; : : : ; cp 2 Rg (1 次結合の全体)
のなかに , 何かを表す成分がいくつか隠れていると
仮定して考える.
? それを 影響の大きい順 に探していく.
? 数学的には明確−固有値と固有ベクトルの概念−
II. 線形代数の基礎知識 (3)
正方行列
0
BB
BB
A = BBB
B@
ベクトルと行列
a11
a21
...
an1
a12
a22
...
an2
:::
:::
...
:::
a1n
a2n
...
ann
Ax = (aij )(xi) = (ci); ci =
A の固有値と固有ベクトル
Ax = x;
となる と x があるとき,
固有値
1
CC
CC
CC = (aij )
CC
A
n
X
k=1
aik xk
x 6= 0
を A の固有値, x を
の固有ベクトルとよぶ。
x が固有ベクトルであれば , cx (c 6= 0) も固有
ベクトル
21
固有値 の固有空間 W
W = fx ; Ax = xg
= 固有値 の固有ベクトルの全体 [ f0g
A の固有値の計算
jAx , I j = 0 ( の n 次多項式)
A の固有値が求まる.
1; 2; : : : ; n (重解の可能性もある)
固有値 の固有ベクトル x の計算
と解くことにより,
連立方程式
Ax = x
をとく. 解全体は固有空間 W を構成する.
A 実対称行列ならば , 固有値の異なる固有ベクト
ルは直交する.
III. 変量が 2 の場合の主成分分析.
(1) データ
1
2
3
..
n
x1 x2
x11 x21
x12 x22
x13 x23
..
..
x1n x2n
22
(2) 分散共分散行列
0 2
1
s
s
S = B@ 1 122 CA
s12 s2
(3) S の固有値 1 > 2
(4) 各固有値のノルム 1 の固有ベクトル
S は実対称行列なので, 固有ベクトルは直交する
0 1
1 の固有ベクトル a1 = B@ a1 CA
0 a2 1
2 の固有ベクトル a2 = B@ a2 CA
,a1
a21 + a22 = 1
(5) 主成分
8
>
< a1x1 + a2x2 (第 1 主成分)
>
: a2x1 , a1x2 (第 2 主成分)
23
一般の場合: 分散共分散行列 S の固有値を
1 2 : : : p 0
各固有値 i のノルム 1 の固有ベクトルを ai とする.
i 主成分とは
hx; ai i = ai1x1 + a12x2 + : : : + aipxp
このとき第
である.
IV. 主成分は何を意味するのか?
ka1k = ka2k = 1 となる S の固有ベクトル
1 < 2 のとき,
ha1; a2i = 0
直交分解の係数が主成分
0 1
x
@ 1 CA = hx; a1 ia1 + hx; a2 ia2
x=B
x2
x を傾き aa2 の成分と傾き , aa1 の成分に分解し
1
たときの係数が主成分である.
2
何故, S の固有ベクトルなのか?
傾き aa2 の直線群
1
a2x1 , a1x2 + a0 = 0
24
x2
10
8
6
4
2
2
4
6
8
10
図 4:
このような直線群の中で,
データ (x1i ; x2i ) (1 i n) から直線への
垂線の足の長さの 2 乗和が最小な直線を選ぶ
x1
25
x2
8
6
4
2
2
4
6
8
10
x1
図 5:
注意 1 重回帰分析でもちいた最小 2 乗法では ,
平行に直線までの距離を計った.
注意 2
y 軸に
(a0; b0) から直線 ax + by + c = 0 への垂線の足
の長さ
jaap0 + bb0 + cj
a2 + b2
よって
1
0
n ja2x1i , a1 x2i + a0j 2
X
A
q 2 2
Q(a0; a1; a2) = @
i=1
=
を最小にする
求める.
n
X
i=1
a 2 + a1
(a2x1i , a1x2i + a0)2
a0; a1; a2 を条件 a21 + a22 = 1 のもとで
26
条件付極値問題( Lagrange の未定乗数法)
n
X
F (a0; a1; a2; ) = (a2x1i , a1x2i + a0)2 , (a21 + a22 , 1)
i=1
@F = @F = @F = @F = 0
@a0 @a1 @a2 @
8X
>
2(a2x1i , a1x2i + a0) = 0
>
>
X
>
< 2(a2x1i , a1x2i + a0)(,x2i) , 2a1 = 0
X
>
2(a2x1i , a1x2i + a0)(x1i) , 2a2 = 0
>
>
>
: a2 + a2 , 1 = 0
1
(1) より
2
(1)
(2)
(3)
(4)
a2x1 , a1x2 + a0 = 0
a0 = ,a2x1 + a1x2 (?)
(2),(3) より
8X
>
< 2(,a2(x1i , x1)(x2i , x2) + a1(x2i , x2)(x2i , x2)) , a1 = 0
>
: X 2(a2(x1i , x1)(x1i , x1) , a1(x2i , x2)(x1i , x1)) , a2 = 0
8
>
< ,a2s12 + a1s22 = a1 (??)
>
: a2s21 , a1s21 = a2
0
1
1
10
0 2
a
a
s
s
B@ 1 12 CA B@ 2 CA = B@ 2 CA
2
s12 s2
,a 1
,a1
27
0
1
a
@ 2 CA は S の固有値 の固有ベク
以上のことから B
,a1
トルであることが分かった
は 1 か 2 ?
n
X
Q(a0; a1; a2) = (a2x1i , a1x2i + a0)2
=
n
X
i=1
i=1
(a2(x1i , x1) , a1(x2i , x2))2 (?)
= a22s21 , a1a2s12 + a21s21
= (a21 + a22) = (??)
よって は = 2 である.
0
1
B@ ,aa2 CA は S の最小固有値 2 の固有ベクトル
0 11
B@ a1 CA は S の最大固有値 1 の固有ベクトル
a2
28
V. どの主成分を使うか?
寄与率 (proportion)
S の固有値
1 2 : : : p 0
のとき
i
1 + 2 + : : : + p
を第 i 主成分の寄与率といい,
1 + 2 + : : : + i
1 + 2 + : : : + p
を第 i 主成分の累積寄与率 (cumulative proportion) と
よぶ.
累積寄与率が 0.8 以上の主成分を使う.
VI. 因子分析とは
1
2
3
...
n
x1 x2
x11 x21
x12 x22
x13 x23
...
...
x1n x2n
x3 . . .
x31 . . .
x32 . . .
x33 . . .
...
...
x3n . . .
xp
xp1
xp2
xp3
...
xpn
変数のなかに共通の因子(原因)が隠れていて, 各
変数はその 1 次結合で書ける.
xi = i1f1 + i2f2 + : : : + imfm + i (1 i p)
29
fi 共通因子, i 独自因子, ij 共通因子負荷値
fk が xk であれば重回帰分析の精神
fk が S の固有ベクトルであれば主成分分析の精神
共通因子, 独自因子に制約を付ける
y = f + (1) hf ; i = 0
(2) S ( の共分散行列) は対角行列
(3)
(a) Sf = Im (直交モデル),
(b) Sf = ; diag() = Im (斜交モデル)
kSx , Sy k (各成分の 2 乗和)
を最小にするように
を決める. (最小 2 乗基準)