カルマンゲインを直感的に理解する方法は?


30

カルマンフィルタアルゴリズムは次のように動作します

および初期化します。x^0|0P0|0

各反復でk=1,…,n

予測する

予測(事前)状態推定 予測(事前に)共分散を推定アップデート

x^k|k−1=Fkx^k−1|k−1+Bkuk
Pk|k−1=FkPk−1|k−1FkT+Qk

イノベーションまたは測定残差 イノベーション(または残差)共分散 最適 カルマンゲイン (事後)状態推定値を更新 更新(事後)共分散の推定

y~k=zk−Hkx^k|k−1
Sk=HkPk|k−1HkT+Rk
X K | K = X K | K - 1 + Kの K 〜Y k個のPのK | k =(I− K k H k) P k | k − 1
Kk=Pk|k−1HkTSk−1
x^k|k=x^k|k−1+Kky~k
Pk|k=(I−KkHk)Pk|k−1

カルマンゲインは、事前推定に対する誤差の相対的な重要度を表します。Kkのx K | k − 1y~kx^k|k−1

カルマンゲイン式を直感的に理解するにはどうすればですか?状態と出力がスカラーである場合、なぜゲインが大きいのかを考えてみましょう。Kk

  • Pk|k−1は大きい

  • Hkは大きい

  • Skは小さいですか?

よろしくお願いします!


これはきちんと答えるのが難しい質問です。試しましたが、自分の答えには納得しませんでした。基本的にゲインは、推定値に対して測定値をどの程度信頼するかを制御しますが、このゲインがどのように適合しているかを説明することはできません。
— Jav_Rock

回答:


18

カルマンゲイン直感的に考える良い方法を見つけました。このようにを書くとKK

 Kk=Pk−HkT(HkPk−HkT+Rk)−1=Pk−HkTHkPk−HkT+Rk

行列の相対的な大きさ()と()が、フィルターによる予測状態推定値の使用()と測定値()の関係を制御することに気付くでしょう。P K X K ⁻ Y KRkPkバツk⁻ỹk

 リムRk→0Pk−HkT HkPk−HkT+Rk =Hk−1

 リムPk→0Pk−HkT HkPk−HkT+Rk =0

最初の制限を測定値更新式に代入する

 バツ^k=バツk−+Kk(y〜k−Hkバツk−)

の大きさが小さい場合、つまり測定値が正確である場合、状態推定値は主に測定値に依存することを示唆しています。R

状態が正確にわかっている場合、はに比べて小さく、フィルターは以前の状態()から導出された予測に依存する測定値をほとんど無視します。HP⁻HTRバツk⁻


2
ありがとう!私が正しい場合、はに関して単調ではありません。KkHk
— ティム

12

カルマンゲインは、測定値を与えて推定値をどれだけ変更したいかを示します。

Skは、測定値の推定共分散行列です。これにより、測定値の「変動性」がわかります。大きい場合、測定値が大きく「変化」することを意味します。したがって、これらの測定値に対する信頼度は低くなります。一方、場合小さい場合、可変性は、測定が増大する自信低いです。測定値に自信があるとき、取得している情報は状態推定値を更新/変更するのに十分であると確信していました。したがって、カルマンゲインは高くなります。zkSk

Pkは推定状態共分散行列です。これは、状態の「変動性」を示しています。場合は大きい、それは状態が大きく変化すると推定されていることを意味します。そのため、新しい測定値で推定値を変更できる必要があります。その結果、カルマンゲインは高くなります。バツkPk

逆に、が小さい場合は、状態がそれほど変化しないことがわかっているため、毎回推定値をあまり変更したくないでしょう。@Jav_Rockの答えによれば、場合、ます。言い換えれば、彼はあなたの状態がもう変わらないと思うなら、あなたはもうあなたの推定値を変えようとしないことを暗示した。PkPk→0K→0


2

Jav_Rockがポイントを獲得しました。実際にをこのように書くとKk

 Kk=Pk−HkT(HkPk−HkT+Rk)−1=Hk−HkPk−HkTHkPk−HkT+Rk

分数の分子はモデルから伝播した不確実性を表し、は測定からの不確実性を表します。Jav_Rockで説明されているように、分数の値は、測定値をどれだけ信頼すべきかを表しています。Rk

それは、我々が更新することを観察状態ではないので、それだけで、状態に観測バックを変換します。Hk−

に、ゲインは、観測からどの程度の補正を行うべきかを計算し、観測の補正を状態の補正に変換します。これにより、状態推定値が更新されます。Kk

 バツ^k=バツk−+Kk(y〜k−Hkバツk−)


-1

カルマンフィルター(KF)アルゴリズムに取り組んでいます。カルマンゲインは、アルゴリズムと時間の収束、つまりアルゴリズムが残差を修正して最小化する速度を処理することを観察しました。

方程式にたどり着くには、初期のカルマンゲイン値を選択し、それを低から高に変化させて、近似値を得ることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.