• 検索結果がありません。

線形重回帰分析

N/A
N/A
Protected

Academic year: 2021

シェア "線形重回帰分析"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

Lec04

線形重回帰分析

(2)

復習:線形単回帰分析

事例番号 入力変数 出力変数

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

(3)

線形重回帰分析の訓練データ

事例番号 入力変数 出力変数

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

は特徴数)

(4)

線形重回帰分析の定式化

線形重回帰モデル

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

(5)

線形重回帰分析のプロット( 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)

(6)

線形重回帰分析のプロット( 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)

(7)

データの正規化

特徴のスケールを揃えるとよい

(例)

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 1n

i=1 x ij , y ¯ = n 1n 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

(8)

データの正規化と定数項

訓練データを

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

(9)

最小二乗法と最適性条件

二乗誤差和

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.

(10)

線形重回帰分析の最適性条件

(

n

i=1

x

2i1

)

ˆ w

1

+ . . . +

(

n

i=1

x

i1

x

ij

) ˆ w

j

+ . . . +

(

n

i=1

x

i1

x

id

) ˆ w

d

=

n i=1

x

i1

y

i

,

. . (

n

.

i=1

x

i1

x

ij

) ˆ w

1

+ . . . +

(

n

i=1

x

2ij

)

ˆ w

j

+ . . . +

(

n

i=1

x

ij

x

id

)

ˆ w

d

=

n i=1

x

ij

y

i

,

. . (

n

.

i=1

x

i1

x

id

) ˆ w

1

+ . . . +

(

n

i=1

x

ij

x

id

) ˆ w

j

+ . . . +

(

n

i=1

x

2id

)

ˆ w

d

=

n i=1

x

id

y

i

.

(11)

演習問題1

最小二乗法による重回帰分析の最適性条件

∂S

∂w

j

w1= ˆw1,...,wj= ˆwj,...,wd= ˆwd

= 0

が以下のように表されることを示せ

(

n

i=1

x

i1

x

ij

) ˆ w

1

+ . . . +

(

n

i=1

x

2ij

)

ˆ w

j

+ . . . +

(

n

i=1

x

ij

x

id

) ˆ w

d

=

n i=1

x

ij

y

i

,

(12)

演習問題1の解

(13)

データの行列とベクトル表現

訓練データ

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 .

(14)

モデルの行列とベクトル表現

線形重回帰モデル

y = X w + ε

ただし,

w =

 

  w 1 w 2

.. . w d

 

  R d , ε =

 

  ε 1 ε 2

.. . ε n

 

  R n

(15)

正規化と定数項についての注意

定数項なしの場合

▶ データ

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

, w =

 

  w

1

w

2

. . . w

d

 

  R

d

.

▶ モデル

y = X w + ε

定数項ありの場合

▶ データ

X =

 

 

1 x

11

x

12

· · · x

1d

1 x

21

x

22

· · · x

2d

. . .

. .

. . . . . . . 1 x

n1

x

n2

· · · x

nd

 

  R

n×(d+1)

, y =

 

  y

1

y

2

. . . y

n

 

  R

n

, w =

 

 

  1 w

1

w

2

. . . w

d

 

 

  R

d+1

.

▶ モデル

y = X w + ε

(16)

最小二乗法の行列・ベクトル表現

二乗誤差和

S = (y X w) (y X w)

(同一ベクトルの内積は各要素の二乗和となることに注意)

最適性条件

∂S

∂w | w= ˆ w =

 

 

∂S

∂w

1

w

1

= ˆ w

1

,...,w

d

= ˆ w

d

∂S

∂w

2

w

1

= ˆ w

1

,...,w

d

= ˆ w

d

.. .

∂S

∂w

d

w

1

= ˆ w

1

,...,w

d

= ˆ w

d

 

 

 =

 

  0 0 .. . 0

 

  = 0

(17)

行列やベクトルに関する微分

行列

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

(18)

正規方程式と最小二乗解

最適性条件

∂S

∂w | w= ˆ w = 0

正規方程式(演習問題2)

X X w ˆ = X y

最小二乗解

ˆ

w = (X X) 1 X y

(19)

線形重回帰分析における最小二乗解の存在条件

唯一の最小二乗解が存在

行列

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

(20)

演習問題2

線形重回帰分析

w ˆ = arg min

w ∈R

d

(y Xw) (y X w)

の解が以下の正規方程式(

Normal Equation

)を満たすことを示せ

(X X) ˆ w = X y

(21)

演習問題2の回答

(22)

単回帰モデルの係数と重回帰モデルの係数

単回帰分析

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 =???

(23)

直交する特徴の場合

入力ベクトル

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

·1

y x

·1

x

·1

x

·2

y x

·2

x

·2

.. .

x

·d

y x

·d

x

·d

 

 

 

(24)

特徴ベクトルの直交変換

直交変換

(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)

(25)

直交変換後の線形モデル(その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

1

x · 1 + u · 2 y u · 2 u · 2

| {z }

ˆ w

2

x · 2

(26)

直交変換と重回帰分析(その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)

(27)

重回帰分析と交絡因子

最小二乗解

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 ×

性別

(28)

単回帰分析と重回帰分析の比較例

コレステロール

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

(29)

演習問題3

データ

X =

 

1 2 2 2 2 2 2 3 2 1 2 1

 

, y =

 

 1 2 3 4

 

に対して切片のない線形重回帰モデル

y

i

= w

1

x

i1

+ w

2

x

i2

+ w

3

x

i3

+ ε

i

を考える.入力ベクトル

x

·1

,x

·2

, x

·3の直交変換

u

·1

= x

·1

,

u

·2

= x

·2

u

·1

x

·2

u

·1

u

·1

u

·1

,

u

·3

= x

·3

u

·1

x

·3

u

·1

u

·1

u

·1

u

·2

x

·3

u

·2

u

·2

u

·2

と表されることを利用して,最小二乗解

w ˆ

3 の値を求めよ.

(30)

演習問題3の回答

参照