カルマンフィルタの基礎 第1回
非常に良い本です
カルマンフィルタについて、基礎をわかりやすくまとめてくれています
最小二乗推定法
カルマンフィルタでは、システムノイズや観測ノイズが正規分布であることを仮定して、フィルタ処理(状態の推定)を行っている
観測値の値から確率的に真値を推定する上で、ノイズが正規分布であるという仮定で、計算が非常に簡単になっている
第1回では、観測値から真値の推定方法の例として、最小二乗推定法を紹介する
推定モデルを一次関数で限定して、観測値と推定モデルの差分の二乗和が最小となるパラメータを求める
一般的には、多数のデータ群に対して、パラメータを求めるのに使う印象だが、
今回は、制御のために、「新しく観測値が追加された場合」に推定値がどうなるか、を求める
スカラの場合
まずは、観測方程式を下記のように定める
が観測ノイズになる
については、下記のように平均と分散が分かっているものとする
(実際は、初期値を決めれば、カルマンフィルタで平均値と分散を推定することになる)
についても、下記のように平均と分散が分かっているものとする
こちらは、設計情報から定めたり、事前に無制御状態で計測を行い、求める必要がある
この条件の中で、下記の一次関数で 推定値 を求めることを考え、パラメータ を求める
最小二乗推定法として、下記の 推定偏差 に対する , が最小になるように、パラメータ を求める
まずは、 の条件から を定める
次に、 が最小になる条件から、 を定める
ここで と が無相関であることから、 を利用した
さらに、式を について整理していく
このことから、 が下記のときに、 が最小になる
結局、 は下記になる
また、この推定の精度(分散)は、 になる
また、この後のために、次の表現への変形も行っておく
さらに、下記の , を定義する
これを用いると、下記のようにも表現できる
多変数の場合
多変数の場合は、 や , がベクトル(縦ベクトル)になり、 の行列になる
基本的にスカラの場合と同じ計算を行うが、行列演算の場合、掛け算や割り算の順番の入れ替えが難しくなる
ここでは、前提の定義と、結果だけを書いておく
推定モデルは下記
条件は、同じく、 に対して、 , が最小
の最小値を とおくと、
, を下記のように定義すると
下記のようにも表現できる
考察
簡単のため、スカラの場合で、 , の場合を考えると
推定値は
となり、事前の平均値 と 観測値 の , の重みづけ平均 になっている
観測ノイズ が非常に小さい場合は、 となり、観測値がそのまま信頼できることになる
逆に、観測ノイズ が大きい場合は、 となり、観測値が全然信頼できないことになる
参考文献
この記事は以下の書籍を参考にしましたが、
私の拙い知識で書いておりますので、誤り等ありましたらご指摘ください