Lec06
線形モデルにおける相関構造の分析
最小二乗法
▶
最小二乗推定量
ˆ
w= (X⊤X)−1X⊤y
▶
最小二乗推定量が計算できる条件
行列
X⊤Xの逆行列
(X⊤X)−1が存在する
入力変数行列
▶
入力変数行列
X =
x11 x12 · · · x1d x21 x22 · · · x2d ... ... . .. ... xn1 xn2 · · · xnd
▶
正規化
/標準化
(unit-length scaling) xij ← xij−x¯j√∑n
i=1(xij−x¯j)2, yi← yi−y¯
√∑n
i=1(yi−y)¯ 2
相関係数
▶ 2
つの入力変数の相関係数
rj1j2 =∑n
i=1(xi,j1−x¯j1)(xi,j2−x¯j2)
√∑n
i=1(xi,j1−x¯j1)2∑n
i=1(xi,j2−x¯j2)2, j1̸=j2∈ {1, . . . , d}
▶
入力と出力の相関係数
rjy=∑n
i=1(xij−x¯j)(yi−y)¯
√∑n
i=1(xij−x¯j)2∑n
i=1(yi−y)¯2, j = 1, . . . , d.
相関行列
▶ Unit-length scaling
のもと,行列
X⊤Xは相関行列
X⊤X=
1 r12 · · · r1d
r12 1 · · · r2d
... ... . .. ... r1d r2d · · · 1
▶ Unit-length scaling
のもと,ベクトル
X⊤yは各入力変数と出力変 数の相関係数を並べたベクトル
X⊤y=
r1y
r2y
... rdy
演習問題1(2変数の場合)
▶
入力変数が
d= 2変数の場合,
X⊤X=
[ 1 r12
r12 1 ]
, X⊤y= [ r1y
r2y
]
となる.
▶
行列
X⊤Xの逆行列が
(X⊤X)−1= [ 1
1−r212 −r12 1−r122
−r12
1−r212 1 1−r122
]
となることを示せ.
▶
最小二乗推定量が
ˆw1= r1y−r12r2y
1−r122 , wˆ2= r2y−r12r1y
1−r122
と表されることを示せ.
演習問題1の解答
線形従属性
▶
ある
j∈ {1, . . . , d}に対して,定数
c1, . . . , cj−1, cj+1, . . . , cdを用 いて,すべての
i= 1, . . . , nに対して,
xij =c1xi1+. . .+cj−1xi,j−1+cj+1xi,j+1+. . .+cdxid,
と表せるとき,ベクトル
x·1,x·2,. . .x·dを線形従属という
−3 −2 −1 0 1 2 3
−3−2−10123
X1
X2
−3 −2 −1 0 1 2 3
−3−2−10123
X1
X2
(a)
線形従属でない場合
(b)線形従属な場合
線形従属の例
以下のモデルはすべて等価で一意に定まらない
▶
例1(x
i1= 2xi2, i= 1, . . . , nの場合)
▶ yˆi= 1xi1+ 1xi2+ 1xi3
▶ yˆi= 0xi1+ 3xi2+ 1xi3
▶ yˆi=−50xi1+ 103xi2+ 1xi3
▶
例2(x
i1+xi2=xi3, i= 1, . . . , nの場合)
▶ yˆi= 1xi1+ 1xi2+ 1xi3
▶ yˆi= 0xi1+ 0xi2+ 2xi3
▶ yˆi= 100xi1+ 100xi2−98xi3
最小二乗法の分散共分散行列
▶
最小二乗解の分散共分散行列
Cov[ ˆw] =
V[ ˆw1] Cov( ˆw1,wˆ2) · · · Cov( ˆw1,wˆd) Cov( ˆw2,wˆ1) V[ ˆw2] · · · Cov( ˆw2,wˆd)
... ... . .. ...
Cov( ˆwd,wˆ1) Cov( ˆwd,wˆ2) · · · V[ ˆwd]
=σ2(X⊤X)−1
▶
最小二乗解の各モデル変数の分散
V[ ˆwj] =σ2(X⊤X)−jj1, j= 1, . . . , d
最小二乗解の性質
▶ (X⊤X)−1
が存在しなければ最小二乗解が存在しない 解釈:X
⊤X=“0” ⇒ (X⊤X)−1= 1“0” ⇒
存在しない
▶ (X⊤X)−1
の性質が悪ければ最小二乗解が不安定 解釈:X
⊤X≃ほぼ
“0” ⇒ (X⊤X)−1= 1ほぼ
“0” ⇒分散が大
固有値分解
▶
行列
X⊤Xの固有値と固有ベクトルを
ρj ∈R, vj∈Rd, j= 1, . . . , d
とする.ただし,固有ベクトルの長さは1(
∥vj∥2= 1)▶
以下の行列
V ∈Rd×dと
diag(ρj)∈Rd×dを導入
V =
| | |
v1 v2 · · · vd
| | |
∈Rd×d, diag(ρj) =
ρ1
. .. ρd
∈Rd×d
▶
固有値分解(eigenvalue decomposition)
X⊤X =Vdiag(ρj)V⊤
演習問題2
▶
各列が正規直交である行列
V ∈Rd×dを考える:
vj⊤1vj2 =
{ 1 ifj1=j2, 0 ifj1̸=j2.
上記の行列
V ∈Rd×dとある対角行列
diag(ρj)∈Rd×dを用いて,
X⊤X =Vdiag(ρj)V⊤
と表されるとき,V の各列ベクトル
vj∈Rdと対応する実数
ρj ∈Rが固有ベクトルと固有値の関係
(X⊤X)vj=vjρj, j= 1, . . . , d
を満たすことを示せ.
▶
行列
X⊤Xの固有値分解が上のように表されるとき,
(X⊤X)−1=Vdiag(ρ−1)V⊤
演習問題2の解答
固有値分解による逆行列の表現
▶ X⊤X
の固有値分解
X⊤X =Vdiag(ρj)V⊤
▶ X⊤X
の逆行列
(X⊤X)−1= (Vdiag(1 ρj
)V⊤)−1
数値例
線形従属な行列
X =
1 2 3 2 1 3 3 2 5 2 2 4 1 3 4
固有値
1.64,1.36,0.00
ほぼ線形従属な行列
X =
1 2 3.01 2 1 3.01 3 2 5.01 2 2 4.01 1 3 4.01
固有値
1.64,1.36,−4.44×10−16
最小二乗解の存在性と安定性
▶
分散共分散行列
Cov( ˆw) =σ2(X⊤X)−1=σ2Vdiag(1 ρj)V⊤
▶
パラメータの分散
V[ ˆwj] =σ2(X⊤X)−jj1=σ2
∑d
k=1
vjk2 ρk
v11 · · · v1j · · · v1d
.. .
... .. .
... .. .
vj1 · · · vjj · · · vjd
.. .
.. .
.. .
.. .
.. .
vd1 · · · vdj · · · vdd
ρ−11 ...
ρ−1j ...
ρ−1d
v11 · · · vj1 · · · vd1
.. .
... .. .
... .. .
v1j · · · vjj · · · vdj
.. .
.. .
.. .
.. .
.. .
v1d · · · vjd · · · vdd
▶
最小二乗解の存在性と安定性
発展問題1(提出不要)
▶ Unit length scaling
のもと,d
= 2における
X⊤Xは
X⊤X=[ 1 r12
r12 1 ]
と表される
▶
このとき,X
⊤Xの固有値分解が以下のように表されることを示せ
X⊤X =[ 1/√
2 1/√ 2 1/√
2 −1/√ 2
] [ 1 +r12
1−r12
] [ 1/√
2 1/√ 2 1/√
2 −1/√ 2
]
▶
このとき,最小二乗解
wˆ1,wˆ2の分散が
V[ ˆwj] =σ2
∑2 k=1
v2jk ρk
=σ2 1
1−r122 , j= 1,2
となることを確認せよ.
発展問題1の解答
数値例:化学反応データ
▶ d= 9
の線形モデル
y=w1T +w2H+w3C+w4T H+w5T C+w6HC+w7T2+w8H2+w9C2
T(温度) H(材料) C(時間) y(生産量)
13 7.5 0.0120 49.0
13 9.0 0.0120 50.2
13 11.0 0.0115 50.5
13 13.5 0.0130 48.5
13 17.0 0.0135 47.5
13 23.0 0.0120 44.5
12 5.3 0.0400 28.0
12 7.5 0.0380 31.5
12 11.0 0.0320 34.5
12 13.5 0.0260 35.0
12 17.0 0.0340 38.0
12 23.0 0.0410 38.5
11 5.3 0.0840 15.0
11 7.5 0.0980 17.0
11 11.0 0.0920 20.5
11 17.0 0.0860 29.5
数値例(最小二乗法)
最小二乗推定値とそのバラツキ
ˆwj √
V[ ˆwj]
36.0 33.0
9.1 2.0
36.6 27.7
-8.5 1.9
-30.0 23.3
-0.6 0.3
-31.4 30.9
-0.4 0.1
-3.3 2.2
X⊤X
の固有値
固有値
ρ1 5.70 ρ2 2.97 ρ3 1.70×10−1 ρ4 1.20×10−1 ρ5 2.08×10−2 ρ6 2.88×10−3 ρ7 1.11×10−4 ρ8 3.46×10−5 ρ9 1.13×10−7多重共線性
▶ X⊤X
の固有値の一部がほぼ0になる現象を多重共線性という
▶
多重共線性に対処するための方法
▶
特徴選択:一部の入力変数のみを利用
(例)逐次特徴選択
▶
特徴抽出:多重共線性が起こらないように特徴を変換
(例)主成分分析
▶
正則化:最小二乗解を安定化するための制約を導入
(例)リッジ回帰分析
主成分分析
▶ X⊤X
の固有ベクトルを主成分という
−3 −2 −1 0 1 2 3
−3−2−10123
X1
X2
−3 −2 −1 0 1 2 3
−3−2−10123
X1
X2
▶
第
j主成分へのデータの射影
zj=Xv·j
▶
主成分回帰分析:
k < d個の主成分に対する回帰モデル
yi=u1zi1+. . .+ukzik+εi, zij =x⊤i vj▶
主成分回帰分析の結果を元の変数に対するモデルに変換可能
リッジ回帰分析
▶
リッジ回帰分析(スカラー表現)
( ˆw1R, . . . ,wˆRd) = arg min
w1,...,wd
∑n i=1
yi−
∑d j=1
wjxij
2
+λ
∑d
j=1
wj2
ただし,λ >
0は正則化パラメータ(しばらくは定数と仮定)
▶
リッジ回帰分析(行列・ベクトル表現)
ˆ
wR= arg min
w (y−Xw)⊤(y−Xw)+λw⊤w
▶
正規方程式(もどき)
(X⊤X+λI) ˆwR=X⊤y
▶
リッジ回帰推定量
ˆwR= (X⊤X+λI)−1X⊤y
演習課題3(リッジ回帰推定量)
▶
リッジ回帰分析による重回帰モデルのパラメータ推定量が
ˆwR= (X⊤X+λI)−1X⊤y
と表されることを示せ.
演習問題3の解答
最小二乗推定量とリッジ回帰推定量の比較
▶
最小二乗推定量の分散共分散行列
Cov[ ˆw] =σ2(X⊤X)−1=σ2Vdiag(1 ρj)V⊤
▶
最小二乗推定量の分散
V[ ˆwj] =σ2(X⊤X)−jj1=σ2
∑d
k=1
vjk2 ρk
▶
リッジ回帰推定量の分散共分散行列
Cov[ ˆwR] =σ2(X⊤X+λI)−1(X⊤X)(X⊤X+λI)−1=σ2VDiag ( ρj
(ρj+λ)2 )
V⊤
▶
リッジ回帰推定量の分散
( ) ∑d ρ
数値例(リッジ回帰分析)
リッジ回帰推定値とそのバラツキ
λ= 10−6
のとき
λ= 10−3のとき
λ= 1のとき
ˆwRj
√V[ ˆwjR] wˆRj
√V[ ˆwRj] wˆjR
√V[ ˆwRj]
1.885 3.516 0.344 0.097 0.175 0.004
8.791 1.992 0.465 0.119 0.057 0.004
7.681 3.257 -0.291 0.136 -0.138 0.003
-8.247 1.887 -0.354 0.128 0.065 0.004
-5.700 2.604 -0.586 0.181 -0.143 0.003
-0.616 0.293 0.585 0.055 -0.011 0.006
0.501 3.372 0.518 0.083 0.179 0.004
-0.359 0.151 -0.278 0.124 0.021 0.005
-1.038 0.492 0.272 0.158 -0.105 0.005