非線形回帰分析

1
非線形回帰分析
狩野 裕
2
線形回帰分析
• 推定値を陽に求めることができる
– 特別な最適化問題を解く必要がない
• 多くのモデルが線形回帰モデルで
記述できる
– e.g. 分散分析
yijk    ak  b j  eijk
   a1 x1  a2 x2  b1 x3  b2 x4  eijk
3
非線形回帰分析
• 推定値を求めるには反復推定が必要
– 特別なprocedureが必要...tnlin
• 非線形回帰モデル
yi  f (xi , )  ei
(i  1,2,...,n)
• cf. 線形回帰モデル
yi  0  1xi1    p xip  ei
(i  1,2,...,n)
4
最小2乗法
• データとモデルの距離(の2乗)を
最小化する
n
min   yi  f (xi , )

i 1
2
5
ニュートン法
関数 f(x) の最小値を与えるxの値を探す
250
200
150
100
50
-3
-2
-1
1
2
3
4
5
• 微分を使って f’(x)=0を解くことができれ
ばよいが,解けないことが多い
• 方程式f’(x)=0が解けないとき,ニュート
ン法などの反復法で解くことになる
250
ニュートン法
6
200
次の関数 f の最小値
を与えるxの値を探す.
150
100
50
250
200
-3
-2
-1
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
250
150
200
100
150
50
100
-3
-2
-1
1
2
3
4
5
Step 0 初期値としてx=4としてみる
50
-3
-2
-1
250
Step 1 x=4で2次関数近似して,2次関数の最小
値を与えるx=x1を求める
200
150
Step 2 x=x1で2次関数近似して,2次関数の最
小値を与えるx=x2を求める
Step 3 以下これを繰り返して最小値を与えるxが
安定したところで打ち切り,その値を最初の関数
fの最小値を与えるxとする.
100
50
-3
-2
-1
7
ニュートン法のアルゴリズム
f ( x)の x  x0での2次関数近似
Step 0 初期値としてx=4としてみる
f ( x)  f ( x0 )  f ' ( x0 )(x  x0 ) 
Step 1 x=4で2次関数近似して,2次関数の
最小値を与えるx=x1を求める
近似2次関数の微分
Step 2 x=x1で2次関数近似して,2次関数の
最小値を与えるx=x2を求める
Step 3 以下これを繰り返して最小値を与える
xが安定したところで打ち切り,その値を
最初の関数fの最小値を与えるxとする.
ニュートン法のアルゴ
f ' ' ( x0 )
d 
2
f
(
x
)

f
'
(
x
)(
x

x
)

(
x

x
)
0
0
0
0

dx 
2

 f ' ( x0 )  f ' ' ( x0 )(x  x0 )  0
近似2次関数の最小値
x  x0  f ' ' ( x0 ) 1 f ' ( x0 )
リズム
Step1 適当な初期値 x0を選ぶ. t  0,   0.001とする.
Step2 xt 1  xt  f ' ' ( xt ) 1 f ' ( xt )
Step3 | xt 1  xt |   Step4へ
f ' ' ( x0 )
( x  x0 ) 2
2
| xt 1  xt |   t  t  1として Step2へ
Step4 解を xˆ  xt 1として終了する.
8
ニュートン法のアルゴリズム
多変数の場合
p変数関数の最小化
ニュートン法のアルゴ
リズム
f (x)  f ( x1 ,  , x p )
Step1 適当な初期値
x 0を選ぶ.t  0,  0.001とする.
グラディエント
(Gradient)
 f (x) 
 x 
f (x)  1 
g ( x) 
  
x
 f (x) 
 x p 


ヘシアン( Hessian)
  2 f ( x)
 2 f ( x) 




x

x

x

x
2
1
1
1
p

 f ( x) 
H ( x) 
 

 
xx'   2 f (x)
 2 f ( x) 
 x x  x x 
p
p 
 p 1

Step2 xt 1  xt  H (xt ) 1 g(xt )
Step3 || x t 1  x t ||   Step4へ
|| xt 1  xt ||   t  t  1としてStep2へ
Step4 解を
xˆ  x t 1として終了する.
9
ガウス・ニュートン法
• 最小2乗法におけるニュートン法の変形
– 2階微分を1階微分で近似
n
h( )    yi  f (xi , )
2
i 1
n

h' ' ( )  2  f ' (xi , )    yi  f (xi , )  f ' ' (xi , )
i 1
n
2
 2  f ' ( x i ,  ) 
i 1
2

10
反復法の問題点
• 反復の初期値を与えなければならない
• よい初期値でないといけない
– いくつかの初期値で試してみる
• 反復が収束しないことがある
– ステップ幅の調節
1
xt 1  xt  ct f ' ' ( xt ) f ' ( xt )