Linear Algebra: A Simple Kalman filter (3) | Chandler@Berlin

Chandler@Berlin

ベルリン在住

Simple Kalman filter

Kalman filter はこれまでの状態から,次の状態を予測する時に使うことがある.つまり,

x_{new} = x_{old} + f(x_{current}})

のように以前の状態と現在の状態の関数から,新たな状態を予測する.ただ,私はこれに詳しくないのでわかったことだけを述べるに留める.

簡単な Kalman filter では x_{new} を過去の x_i をこれまで述べたような最小二乗法によって可能な限り近い subspace に project して求める手法であるらしい.これに関しては面白い計算がある.これをここで示そう.これは Strang の本で方向性が示されているものを書き下してみたものである.

まずは準備として 1/k を書き換えてみる.
$Chandler@Berlin
よって,
Chandler@Berlin
である.

これまで単なるデータの次の予測値は平均をとるのが,最小二乗法の意味で良いことを示してきた.そこで平均の式を上式を使って書き換えてみる.なぜそうするのかは結果と一緒に説明しよう.
$Chandler@Berlin
そろそろここで何をしているのかを説明しよう.データが i = 1 から n までとれたとする.しかしこれまでの状態 i = 1 から n-1 までの状態と新しく観測された今の値 x_n だけを使って,つまり,全部のデータを保存しておくのではなく,一つ前と今の状態だけを使って最小二乗法の意味で良い予測をしたい,というのが動機である.状態がかなりある場合,それらを全て覚えておくことは難しいし,次の状態を求める計算が状態を経るにしたがって重くなるのは避けたい.一つ前と今の観測から次を求めたいのである.だから,n と n-1の式にしたのだ.ここで,1/(n-1) Σ_{i=1}^{n-1} x_i が一つ前の状態の平均であることに注意して,これを x_{old} とすると,
$Chandler@Berlin
なんと,一つ前の状態から次の状態の最小二乗法的な最適な予測ができた.これはすごい.

今回は,最小二乗法を解析学と線形代数の両面から眺めた.これは実は同じであった.そしてその応用の Kalman filter についてちょっと見てみた.