カルマンフィルタの基礎 1 の読書メモ.読み始めたのは友人の勧めがきっかけである.
所感
一言でいえば良書であった.カルマンフィルタを(数式を含め)理解しようとする際に最初に読む本として適している.読み終わった際の所感を列挙する.
- カルマンフィルタの概要が分かった(気がする).
- 例題の MATLAB プログラムが掲載されているので実際に挙動が確認できるのが良い.
- 個人的には相補フィルタ(複数の計測機器の情報を使用してノイズを取り除く手法)のプログラムを動作させたとき感動した.相補フィルタすげー.
- カルマンフィルタ・制御工学に関連する用語について整理できた.
- 用語については後述.
カルマンフィルタ・制御工学に関連する用語で整理できた部分
- 予測・フィルタリング・平滑の違い(P. 9 より):いずれも推定問題であるが,以下のとおり異なる.
- 予測(prediction):過去のデータに基づいて現在の値を推定する.
- フィルタリング(filtering):現時刻までのデータに基づいて現在の値を推定する.
- 平滑(smoothing):過去から未来のデータに基づいて現在の値を推定する.
- 状態(state)について:以下の「データ」の文言は「パラメータ」に置き換えても良いかもしれない.
状態とは,時系列の振る舞いを唯一に決定するために必要な最小のデータである(P. 29 より)
- 評価関数(損失関数)と対応するベイズ推定(P. 82〜 P. 84 より):評価関数とメディアン(中央値)の対応関係を知ることができたのは良かった.
- 二乗誤差:ベイズ推定では事後分布の条件付き期待値(条件付き期待値),いわゆる EAP(Expected A Posteriori)推定が対応する.
- 絶対誤差:ベイズ推定では事後分布のメディアン(中央値)が対応する.
- 一様誤差(0-1 損失関数):ベイズ推定では事後分布のモード(最頻値),いわゆる MAP(Maximum A Posterioi)推定が対応する.
- 可観測性と可制御性(P. 130 より):数式だけではなく,以下のとおり文章で簡潔に記載されている点が良かった.
- 可観測性(observability):モデルが既知である線形動的システムの状態が,システムの出力から唯一に決定できること.
- 可制御性(controllability):任意の状態に制御できる入力が存在すること.
引用(気になった部分)
カルマンフィルタでは 1 時刻前の状態推定値 $\widehat{\boldsymbol{x}}(k-1)$ から直接現時刻における状態推定値 $\widehat{\boldsymbol{x}}(k)$ が計算されるのではなく,現時刻における事前推定値 $\widehat{\boldsymbol{x}}^{-}(k)$ を経由することに注意する(P. 100 より)
カルマンフィルタでは先に事前推定値を計算してから観測値を用いて事後推定値を算出する.事前推定値は状態方程式で記述されたモデルから算出される(カルマンフィルタはモデルベースの方法であるのはこの側面による).なお,本文では
「状態方程式は 1 時刻の先の値を計算することができる予測の式である」と理解することが重要である(P. 106 より)
と記載されている.
カルマンフィルタを実問題に応用して成功を収めるには,モデリングに対する深い理解が必要である.
書籍のまとめの部分:(繰り返しであるが)あくまでカルマンフィルタはモデルベースの手法である.そしてモデルベースの手法であるからこそドメイン特化の手法に改良することが可能であるともいえる.
以上