Lec04
線形重回帰分析
復習:線形単回帰分析
事例番号 入力変数 出力変数
x y
1 x 1 y 1
2 x 2 y 2
.. . .. . .. .
n x n y n
(nは事例数)
0 1000 2000 3000 4000 5000 6000
020004000600080001000012000
Advertisement
Sales
▶
線形単回帰モデルy i = w 0 + w 1 x i1 + ε i , E [ε i ] = 0, V [ε i ] = σ 2
▶
最小二乗法( ˆ w 0 , w ˆ 1 ) = arg min
w
0,w
1∑ n i=1
(y i − (w 0 + w 1 x i1 )) 2
線形重回帰分析の訓練データ
事例番号 入力変数 出力変数
x 1 x 2 · · · x d y 1 x 11 x 12 · · · x 1d y 1
2 x 21 x 22 · · · x 2d y 2
.. . .. . .. . . . . .. . .. .
n x n1 x n2 · · · x nd y n
(nは事例数/
d
は特徴数)線形重回帰分析の定式化
▶
線形重回帰モデルy i = w 0 +
∑ d
j=1
w j x ij + ε i , E [ε i ] = 0, V [ε i ] = σ 2
▶
最小二乗法( ˆ w 0 , w ˆ 1 , . . . , w ˆ d ) = arg min
w
0,w
1,...,w
d∑ n
i=1
(y i − (w 0 +
∑ d
j=1
w j x ij )) 2
線形重回帰分析のプロット( d = 2 )
0 2 4 6 8 10
0 2 4 6 810
0 2
4 6
8 100
x1
x2 E[y]
特徴の次元 モデルの形式
d = 1
直線 (line)d = 2
平面 (plane)d ≥ 3
超平面(hyperplane)線形重回帰分析のプロット( d = 2 )
0 2 4 6 8 10
0 2 4 6 810
0 2
4 6
8 1000
x1
x2 E[y]
特徴の次元 モデルの形式
d = 1
直線 (line
)d = 2
平面 (plane)d ≥ 3
超平面(hyperplane)データの正規化
▶
特徴のスケールを揃えるとよい(例)
mm, cm, m
などの計測単位の違い▶
正規化(normalization),標準化(standardization)▶ オプション1(平均,分散を用いた正規化)
x ij ← √ x ij − x ¯ j 1
n − 1
∑ n
i=1 (x ij − x ¯ j ) 2
, y i ← y i − y ¯
√ 1 n − 1
∑ n
i=1 (y i − y) ¯ 2
(ただし,
x ¯ j = n 1 ∑ n
i=1 x ij , y ¯ = n 1 ∑ n i=1 y i
)▶ オプション2(最小値,最大値を用いた正規化)
x ij ← x ij − min j
max j − min j
(ただし,max
j = max i=1,...,n x ij , min j = min i=1,...,n x ij
)データの正規化と定数項
▶
訓練データをx ij ← x ij − x ¯ j
√ 1 n − 1
∑ n
i=1 (x ij − x ¯ j ) 2
, y i ← y i − y ¯
√ 1 n − 1
∑ n
i=1 (y i − y) ¯ 2
と正規化した後に定数項を含む重回帰分析を行うと,定数項の最 小二乗推定値はw ˆ 0 = 0
▶
各変数の平均が零となるような正規化(例:平均・分散に基づく 正規化)が行われている訓練データに対して最小二乗回帰分析を 行う場合は定数項を省略可能(定数項あり)
y i = w 0 +
∑ d j=1
w j x ij + ε i
(定数項なし)
y i =
∑ d j=1
w j x ij + ε i
最小二乗法と最適性条件
▶
二乗誤差和S =
∑ n i=1
(y i −
∑ d j=1
w j x ij ) 2
▶
最適性条件∂S
∂w 1 w
1
= ˆ w
1,...,w
j= ˆ w
j,...,w
d= ˆ w
d= 0, .. .
∂S
∂w j
w
1= ˆ w
1,...,w
j= ˆ w
j,...,w
d= ˆ w
d= 0, .. .
∂S
∂w d w
1
= ˆ w
1,...,w
j= ˆ w
j,...,w
d= ˆ w
d= 0.
線形重回帰分析の最適性条件
(
n∑
i=1
x
2i1)
ˆ w
1+ . . . +
(
n∑
i=1
x
i1x
ij) ˆ w
j+ . . . +
(
n∑
i=1
x
i1x
id) ˆ w
d=
∑
n i=1x
i1y
i,
. . (
n.
∑
i=1
x
i1x
ij) ˆ w
1+ . . . +
(
n∑
i=1
x
2ij)
ˆ w
j+ . . . +
(
n∑
i=1
x
ijx
id)
ˆ w
d=
∑
n i=1x
ijy
i,
. . (
n.
∑
i=1
x
i1x
id) ˆ w
1+ . . . +
(
n∑
i=1
x
ijx
id) ˆ w
j+ . . . +
(
n∑
i=1
x
2id)
ˆ w
d=
∑
n i=1x
idy
i.
演習問題1
▶
最小二乗法による重回帰分析の最適性条件∂S
∂w
jw1= ˆw1,...,wj= ˆwj,...,wd= ˆwd
= 0
が以下のように表されることを示せ
(
n∑
i=1
x
i1x
ij) ˆ w
1+ . . . +
(
n∑
i=1
x
2ij)
ˆ w
j+ . . . +
(
n∑
i=1
x
ijx
id) ˆ w
d=
∑
n i=1x
ijy
i,
演習問題1の解
データの行列とベクトル表現
▶
訓練データX =
x 11 x 12 · · · x 1d
x 21 x 22 · · · x 2d
.. . .. . . . . .. . x n1 x n2 · · · x nd
∈ R n × d , y =
y 1
y 2
.. . y n
∈ R n .
モデルの行列とベクトル表現
▶
線形重回帰モデルy = X w + ε
ただし,
w =
w 1 w 2
.. . w d
∈ R d , ε =
ε 1 ε 2
.. . ε n
∈ R n
正規化と定数項についての注意
▶
定数項なしの場合▶ データ
X =
x
11x
12· · · x
1dx
21x
22· · · x
2d. . .
. .
. . . . . . . x
n1x
n2· · · x
nd
∈ R
n×d, y =
y
1y
2. . . y
n
∈ R
n, w =
w
1w
2. . . w
d
∈ R
d.
▶ モデル
y = X w + ε
▶
定数項ありの場合▶ データ
X =
1 x
11x
12· · · x
1d1 x
21x
22· · · x
2d. . .
. .
. . . . . . . 1 x
n1x
n2· · · x
nd
∈ R
n×(d+1), y =
y
1y
2. . . y
n
∈ R
n, w =
1 w
1w
2. . . w
d
∈ R
d+1.
▶ モデル
y = X w + ε
最小二乗法の行列・ベクトル表現
▶
二乗誤差和S = (y − X w) ⊤ (y − X w)
(同一ベクトルの内積は各要素の二乗和となることに注意)
▶
最適性条件∂S
∂w | w= ˆ w =
∂S
∂w
1w
1= ˆ w
1,...,w
d= ˆ w
d∂S
∂w
2w
1= ˆ w
1,...,w
d= ˆ w
d.. .
∂S
∂w
dw
1= ˆ w
1,...,w
d= ˆ w
d
=
0 0 .. . 0
= 0
行列やベクトルに関する微分
▶
行列A ∈ R k × k ,
ベクトルb ∈ R k , z ∈ R k
を考え,二次形式1
2 z ⊤ Az + b ⊤ z + c
(cは定数)の
z
に関する微分を検討する▶
一次の項(内積)の微分規則∂b ⊤ z
∂z = b, ∂z ⊤ b
∂z = b, ∂b ⊤ z
∂z ⊤ = b ⊤ , ∂z ⊤ b
∂z ⊤ = b ⊤
▶
二次の項(二次形式)の微分規則∂(z ⊤ Az)
∂z = (A + A ⊤ )z
特に,Aが対称行列の場合,A= A ⊤
なので,∂(z ⊤ Az)
∂z = 2Az
正規方程式と最小二乗解
▶
最適性条件∂S
∂w | w= ˆ w = 0
▶
正規方程式(演習問題2)X ⊤ X w ˆ = X ⊤ y
▶
最小二乗解ˆ
w = (X ⊤ X) − 1 X ⊤ y
線形重回帰分析における最小二乗解の存在条件
▶
唯一の最小二乗解が存在⇔
行列X ⊤ X
の逆行列が存在▶
行列X ⊤ X ∈ R d × d
の性質▶ 半正定置性:X
⊤ X ⪰ 0
v ⊤ (X ⊤ X )v ≥ 0 for all v ∈ R d
▶ 正定値性:X
⊤ X ≻ 0
v ⊤ (X ⊤ X )v > 0 for all v ∈ R d such that v ̸ = 0
▶
入力行列(デザイン行列)Xの各列が線形独立であればよいx · j ̸ = ∑
j
′̸ =j
a j
′x · j
′for any a j
′∈ R , j ′ ̸ = j, j = 1, . . . , d
演習問題2
▶
線形重回帰分析w ˆ = arg min
w ∈R
d(y − Xw) ⊤ (y − X w)
の解が以下の正規方程式(
Normal Equation
)を満たすことを示せ(X ⊤ X) ˆ w = X ⊤ y
演習問題2の回答
単回帰モデルの係数と重回帰モデルの係数
▶
単回帰分析y i = s j x ij + ε i
▶
単回帰分析の最小二乗解ˆ
s j = x ⊤ · j y x ⊤ · j x · j
▶
重回帰分析y i = w 1 x i1 + · · · + w j x ij + · · · + w d x id + ε i
▶
重回帰分析の最小二乗解ˆ
w j =???
直交する特徴の場合
▶
入力ベクトルx · 1 , . . . , x · d
が直交している,すなわち,x ⊤ · j
1
x · j
2= 0, ∀ j 1 ̸ = j 2
の場合,最小二乗解はˆ w =
x ⊤ · 1 x · 1 x ⊤ · 1 x · 2 · · · x ⊤ · 1 x · d
x ⊤ · 2 x · 1 x ⊤ · 2 x · 2 · · · x ⊤ · 2 x · d
.. . .. . . . . .. . x ⊤ · d x · 1 x ⊤ · d x · 2 · · · x ⊤ · d x · d
− 1
x ⊤ · 1 y x ⊤ · 2 y
.. . x ⊤ · d y
=
x ⊤ · 1 x · 1
x ⊤ · 2 x · 2 . . .
x ⊤ · d x · d
− 1
x ⊤ · 1 y x ⊤ · 2 y .. . x ⊤ · d y
=
x
⊤·1y x
⊤·1x
·1x
⊤·2y x
⊤·2x
·2.. .
x
⊤·dy x
⊤·dx
·d
特徴ベクトルの直交変換
▶
直交変換(a)
u · 1 = x · 1 , u · 2 = x · 2 − u ⊤ · 1 x · 2
u ⊤ · 1 u · 1 u · 1 = x · 2 − x ⊤ · 1 x · 2 x ⊤ · 1 x · 1 x · 1
▶
直交変換(b)
v · 2 = x · 2 , v · 1 = x · 1 − v · ⊤ 2 x · 1
v · ⊤ 2 v · 2 v · 2 = x · 1 − x ⊤ · 2 x · 1
x ⊤ · 2 x · 2 x · 2
(a) (b)
直交変換後の線形モデル(その1)
▶
直交変換(a)
の線形モデルu ⊤ · 1 y
u ⊤ · 1 u · 1
u · 1 + u ⊤ · 2 y u ⊤ · 2 u · 2
u · 2 = u ⊤ · 1 y u ⊤ · 1 u · 1
x · 1 + u ⊤ · 2 y u ⊤ · 2 u · 2
(
x · 2 − u ⊤ · 1 x · 2
u ⊤ · 1 u · 1
x · 1
)
=
( u ⊤ · 1 y
u ⊤ · 1 u · 1 − u ⊤ · 2 y u ⊤ · 2 u · 2
u ⊤ · 1 x · 2
u ⊤ · 1 u · 1 )
x · 1 + u ⊤ · 2 y u ⊤ · 2 u · 2 x · 2 ,
▶
直交変換(b)
の線形モデルv ⊤ · 1 y
v ⊤ · 1 v · 1
v · 1 + v · ⊤ 2 y v · ⊤ 2 v · 2
v · 2 = v · ⊤ 1 y v · ⊤ 1 v · 1
(
x · 1 − v ⊤ · 2 x · 1
v · ⊤ 2 v · 2
x · 2
)
+ v · ⊤ 2 y v ⊤ · 2 v · 2
x · 2
= v · ⊤ 1 y v · ⊤ 1 v · 1
x · 1 + ( v ⊤ · 2 y
v · ⊤ 2 v · 2 − v ⊤ · 1 y v ⊤ · 1 v · 1
v · ⊤ 2 x · 1 v ⊤ · 2 v · 2
) x · 2
▶
両者を合わせるとv · ⊤ 1 y v ⊤ · 1 v · 1
| {z }
ˆ w
1x · 1 + u ⊤ · 2 y u ⊤ · 2 u · 2
| {z }
ˆ w
2x · 2
直交変換と重回帰分析(その2)
▶ d = 2
の重回帰分析の最小二乗解ˆ
w 1 = v · ⊤ 1 y
v · ⊤ 1 v · 1 ,
ただし,v 1 = x · 1 − x ⊤ · 2 x · 1 x ⊤ · 2 x · 2 x · 2
| {z }
x
·2に直交するx
·1の成分ˆ
w 2 = u ⊤ · 2 y u ⊤ · 2 u · 2
ただし,
u 2 = x · 2 − x ⊤ · 1 x · 2
x ⊤ · 1 x · 1
x · 1
| {z }
x
·1に直交するx
·2の成分(a) (b)
重回帰分析と交絡因子
▶
最小二乗解w ˆ j
は「x
· 1 , . . . , x · j − 1 , x · j+1 , . . . , x · d
に直行するx · j
の成分」に対する線形単回帰分析の最小二乗解
ˆ
w j = v ⊤ · j y v · ⊤ j v · j
, v · j := x · j − ∑
j ̸ =j
′x ⊤ · j
′x · j x ⊤ · j
′x · j
′x · j
′▶
交絡因子y i = w 0 + w | {z } 1 x i1
主効果+ w | 2 x i2 {z + w 3 x i3 }
交絡効果
▶
(例)肥満度,性別の影響を調整した血圧のコレステロール値へ の影響コレステロール値
= w 0 + w 1 ×
血圧+ w 2 ×
肥満度+ w 3 ×
性別単回帰分析と重回帰分析の比較例
▶
コレステロールy
を血圧x 1
,肥満度x 2
,性別x 3
で予測BP
−2−10 1 2 −1.00.01.0
−2012
−2−1012
BMI
SEX
0.00.40.8
−2 012
−1.00.01.0
0.0 0.4 0.8
DRUG
▶
単回帰モデルy = (+0.41)x 1 , y = (+0.31)x 2 , y = (+0.13)x 3
▶
重回帰モデルy = (+0.90)x 1 + ( − 0.48)x 2 + (+0.21)x 3
演習問題3
データ
X =
1 2 2 2 2 2 2 3 2 1 2 1
, y =
1 2 3 4
に対して切片のない線形重回帰モデル
y
i= w
1x
i1+ w
2x
i2+ w
3x
i3+ ε
iを考える.入力ベクトル
x
·1,x
·2, x
·3の直交変換u
·1= x
·1,
u
·2= x
·2− u
⊤·1x
·2u
⊤·1u
·1u
·1,
u
·3= x
·3− u
⊤·1x
·3u
⊤·1u
·1u
·1− u
⊤·2x
·3u
⊤·2u
·2u
·2と表されることを利用して,最小二乗解