線形予測分析

カルマンフィルタ

システムの状態のノイズを含む観測値から, システムの正しい状態を推定しちゃおうというものらしい. ただし, システムは線形システムで, システム状態から観測値への変換も線形であるとする. また, システムノイズと観測ノイズは正規分布に従って生起すると考えられる.

とりあえず式で書くと, 以下のようなシステムと観測値を想定してる.

{\bf x}_t = {\bf A}{\bf x}_{t-1} + {\bf w}_{t-1} \\
{\bf z}_k = {\bf H}{\bf x}_t + {\bf v}_t \\
ここで, {\bf x}_tは時刻tにおけるシステムの状態, {\bf A}は1時刻前の状態から現在の状態を得るための状態遷移行列, {\bf w}_tはシステムノイズを表す. また, {\bf z}_tはシステムの状態の観測値, {\bf H}は観測行列, {\bf v}_tは観測ノイズ.
ただし, 各ノイズは以下の正規分布に従うとする.

{\bf w}_t \sim {\bf N} \({\bf 0}, {\bf Q}\) \\
{\bf v}_t \sim {\bf N} \({\bf 0}, {\bf R}\)
また, システムノイズと観測ノイズは互いに独立と考えられる. さらに, 各ノイズのベクトルの各要素も独立であると考えられるため, {\bf Q}, {\bf R}は対角.

時刻t以前の観測値の系列を観測した場合の現在の状態の条件付き分布を考えれば, 以下のように, 現在の状態はその条件付き期待値\hat {\bf x}_tとして考えられる.

\hat {\bf x}_t = \hat {\bf x}_t^- + {\bf K}_t \({\bf z}_k - {\bf H} \hat {\bf x}_t^- \)
ここで, \hat {\bf x}_t^-は時刻tより前の観測値から推定された状態で, {\bf K}_tはカルマンゲインと呼ばれる. カルマンゲインは推定誤差の共分散

{\bf e}_t={\bf x}_t - \hat{\bf x}_t \\
{\bf P}_t = E\left{{\bf e}_t {\bf e}_t^T \right}
を最小化するような行列で,

{\bf K}_t = {\bf P}_t^- {\bf H}^T \( {\bf H} {\bf P}_t^- {\bf H}^T + {\bf R} \)^{-1}
として得られる. ただし, {\bf P}_t^-は時刻tより前の観測値によって推定した状態と現在の状態の誤差の共分散である.

カルマンフィルタのアルゴリズムは予測と訂正のステップに分かれる. それらのステップを繰り返し行うことで, システムの状態を逐次推定してゆく.




カウンタ -
最終更新:2010年08月18日 21:02