非線形回帰分析

Download Report

Transcript 非線形回帰分析

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  1 xi1     p xip  ei
(i  1,2,..., n)
4
最小2乗法
• データとモデルの距離(の2乗)を
最小化する
n
min

  y  f ( x , )
i 1
i
i
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
ニュートン法のアルゴリズム
Step 0 初期値としてx=4としてみる
Step 1 x=4で2次関数近似して,2次関数の
最小値を与えるx=x1を求める
f ( x)のx  x0での2次関数近似
f ( x)  f ( x0 )  f ' ( x0 )( x  x0 ) 
近似2次関数の微分
Step 2 x=x1で2次関数近似して,2次関数の
最小値を与えるx=x2を求める
Step 3 以下これを繰り返して最小値を与える
xが安定したところで打ち切り,その値を
最初の関数fの最小値を与えるxとする.
f ' ' ( x0 )
d 

f
(
x
)

f
'
(
x
)(
x

x
)

( x  x0 ) 2 
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へ
| xt 1  xt |   t  t  1としてStep2へ
Step4
f ' ' ( x0 )
( x  x0 ) 2
2
解をxˆ  xt 1として終了する.
8
ニュートン法のアルゴリズム
多変数の場合
p変数関数の最小化
ニュートン法のアルゴ
リズム
f ( x)  f ( x1 ,  , x p )
Step1
グラディエント
(Gradient )
 f ( x) 
 x 
f (x)  1 
g ( x) 
  
x
 f ( x) 
 x p 


ヘシアン( Hessian )
  2 f ( x)
 2 f ( x) 




x

x
x1x p 
2
1 1

 f ( x)
H ( x) 
 

 
2
xx'   2 f (x)
 f ( x) 
 x x  x x 
p
p 
 p 1

適当な初期値
x 0を選ぶ.t  0,  0.001とする.
Step2
x t 1  x t  H (x t ) 1 g (x t )
Step3
|| x t 1  x t ||   Step4へ
|| x t 1  x t ||   t  t  1として
Step2へ
Step4
解を
xˆ  x t 1として終了する.
9
ガウス・ニュートン法
• 最小2乗法におけるニュートン法の変形
– 2階微分を1階微分で近似
n
h( )    yi  f (x i , )
2
i 1
n

h' ' ( )  2  f ' (x i , )    yi  f (x i , )  f ' ' (x i , )
i 1
n
2
 2  f ' ( x i ,  ) 
i 1
2

10
反復法の問題点
• 反復の初期値を与えなければならない
• よい初期値でないといけない
– いくつかの初期値で試してみる
• 反復が収束しないことがある
– ステップ幅の調節
1
xt 1  xt  ct f ' ' ( xt ) f ' ( xt )