カルマンフィルタ
線路を走る台車の位置を、雑音のある距離計の値から推定するカルマンフィルタです。予測の分布と観測の分布を掛け合わせて推定を更新する仕組みを、位置の山で確かめられます。位置と速度の平面では、不確かさの楕円が予測で膨らみ、観測で縮みます。フィルタの雑音の見積りを本当の値からずらすと、推定がどう崩れるかを誤差のグラフと正規化イノベーション 2 乗で比べられます。
線路と推定
位置と速度楕円は 95 % の範囲
位置の分布予測 × 観測 ∝ 推定
図を何分の 1 の速さで動かすか
距離計で測る間隔。予測はこの時間だけ先へ進める
台車の加速度の標準偏差。加速度は観測の間隔ごとに変わる白色雑音で、その間は一定。0 なら等速で走り続ける
距離計の値に乗る雑音の標準偏差(白色の正規分布)
台車が走り始めるときの本当の速さ。フィルタは速さ 0 から推定を始める
フィルタが使う過程雑音の分散 Q̂ の、本当の分散 Q に対する倍率。小さくすると動きを過信し、観測を聞かなくなる
フィルタが使う観測の雑音の分散 R̂ の、本当の分散 R に対する倍率。小さくすると観測を信じすぎ、大きくすると観測を疑いすぎる
推定を始めるときの位置の標準偏差。本当の初めの位置も、この広さの正規分布から選ぶ
推定を始めるときの速度の標準偏差。0 なら速度 0 と分かっているものとして始める
- 位置の推定の誤差(RMS)
- カルマンゲイン Kp
- Kv
- 推定の標準偏差 σp
- σv
- 正規化イノベーション 2 乗(NIS)の平均
動作原理と式
台車と距離計
線路を走る台車の位置 と速度 をまとめて、状態 とします。観測の間隔 の間、加速度 は一定で、刻みごとに独立な正規分布に従うものとします[5][4]。距離計は位置だけを測り、値に雑音 が乗ります。
- 加速度のゆらぎ( の標準偏差)
- 観測の雑音( の標準偏差)
加速度のゆらぎが 1 刻みで状態に足す分の共分散が、過程雑音の共分散 です[5][4]。観測の雑音の分散が です。
1 次元: 予測と観測を掛け合わせる
まず位置だけを考えます。観測する前の見込み(予測)が平均 ・分散 の正規分布で、距離計の値 の雑音の分散が のとき、2 つの分布を掛け合わせると、また正規分布になります[2]。これが観測した後の推定です。
- はカルマンゲインで、0 から 1 の間の値。推定は予測から観測へ の割合だけ寄る。位置の分布の図の下の目盛りが、この割合を示す
- 観測が予測より確か()なほど は 1 に近く、推定は観測に寄る
- 推定の分散の逆数は、予測と観測の分散の逆数の和。推定は予測と観測のどちらよりも確かになる
止まっていると分かっている台車(場面の「止まった台車」)では、推定をそのまま次の予測にして、観測を重ねるだけになります。 回観測した後の推定の分散の逆数は なので、 回目の は です。観測を重ねるほど新しい観測の重みは小さくなり、推定は観測の平均に近づきます。
予測と更新
位置と速度の 2 次元では、平均がベクトル、分散が 2 × 2 の共分散行列 になります。フィルタは観測の間隔ごとに、予測と更新をくり返します[1][3]。
- 予測: 等速の模型で先へ進め、過程雑音の分だけ不確かさを広げる
- 観測: 距離計で位置を測る
- 更新: 予測と観測を掛け合わせる
- フィルタが使う過程雑音と観測の雑音の共分散(見積り)。本当の ・ と同じとは限らない
- イノベーション(観測と予測の差)と、フィルタが見積るその分散
- カルマンゲイン。位置の分 と速度の分 の 2 つ
なので、 は予測の位置の分散と の和です。位置のカルマンゲイン は 1 次元の と同じ形になります。
楕円が予測で膨らみ、観測で縮む
位置と速度の平面の楕円は、共分散 の正規分布で 95 % の確率で状態が入る範囲です。2 次元の正規分布では、平均からのマハラノビス距離の 2 乗が自由度 2 のカイ 2 乗分布に従うので、その 95 % 点 5.991 で楕円を描きます[6][4]。
- 予測の は、速さの分だけ位置がずれるので楕円を傾ける。 の行列式は 1 なので、面積は変えない
- 面積を増やすのは を足す分。加速度のゆらぎがあるので、先の位置と速度はそのぶん不確かになる
- 観測は位置の向きにだけ楕円を縮める。速度は測っていないが、楕円の傾き(位置と速度の相関)を通して、速度の幅も縮む。 が位置のずれから速度を直す割合
位置の分布の図は、楕円を位置の軸に映したものです。予測の山と観測の山を掛け合わせると推定の山になる、1 次元と同じことが起きています。
雑音の設定を誤ると
フィルタは、・ が本当の値に合っていると仮定して不確かさ を見積ります。見積りが外れると、 は本当の誤差の大きさを表さなくなります[4][3]。
| 場面 | 見積り | 起きること |
|---|---|---|
| 動きを過信 | が小さすぎる | 楕円と ±2σ の帯が細くなり、 が 0 に近づく。観測を聞かなくなり、推定が本当の動きから遅れて離れていく(発散) |
| 観測を信じすぎ | が小さすぎる | が 1 に近づき、推定が観測の雑音にそのまま振り回される。帯は誤差より細い |
| 観測を疑いすぎ | が大きすぎる | が小さく、推定が鈍い。帯は誤差より広い |
見積りが合っているかは、観測だけから確かめられます。イノベーションを、フィルタが見積った分散で割った 2 乗が正規化イノベーション 2 乗(NIS)です[5][4]。
- 見積りが合っていれば、 は自由度 1 のカイ 2 乗分布に従い、平均は 1
- 1 回ごとの値はばらつきが大きいので、 回の平均で判定する。 回の和は自由度 のカイ 2 乗分布に従う
- 平均が 95 % の範囲より大きければ、誤差が見積りより大きい(過信)。小さければ、見積りが広すぎる(慎重すぎ)
このツールは、直近 12 s の NIS の平均を、自由度 のカイ 2 乗分布の両側 95 % の範囲を で割った値と比べます。分位点は Wilson と Hilferty の近似で求めます[7]。
今の値を代入した式
観測の間隔と、フィルタが使う見積りを代入した行列と、予測と更新をくり返して落ち着いたカルマンゲイン です。
このツールで決めたこと
- 台車の加速度のゆらぎ・観測の雑音・観測の間隔・初めの速さの初期値
- 本当の初めの位置は、フィルタの初めの位置の不確かさと同じ広さの正規分布から選ぶ。フィルタは位置 0・速度 0 から推定を始める
- 乱数の種(同じ設定なら毎回同じ動きと観測になる)
- 場面ごとに、選んだときに先に進めておく回数(止まった台車 3 回、走る台車 15 回、雑音の設定の誤り 120 回)
- 楕円は 95 % の範囲、誤差の帯は ±2σ
- NIS の平均は直近 12 s で、15 回以上観測してから判定する
- 位置と速度の平面の表示の範囲は、落ち着いたときの予測の標準偏差の 4 倍と観測の雑音の 3 倍の大きい方。本当の状態が外に出るときは広げる
出典
- カルマンフィルタR. E. Kalman, “A New Approach to Linear Filtering and Prediction Problems,” Journal of Basic Engineering, vol. 82, no. 1, pp. 35–45, 1960, doi:10.1115/1.3662552
- 1 次元の正規分布の積(式 (12)・(13))R. Faragher, “Understanding the Basis of the Kalman Filter Via a Simple and Intuitive Derivation,” IEEE Signal Processing Magazine, vol. 29, no. 5, pp. 128–132, 2012, doi:10.1109/MSP.2012.2203621
- 予測と更新の式、止まった量の推定と観測の雑音の見積りを誤った例(3 章)G. Welch and G. Bishop, An Introduction to the Kalman Filter, TR 95-041, University of North Carolina at Chapel Hill, updated April 5, 2004
- 1 次元のカルマンゲインと過程雑音の見積りの誤り(4 章 One Dimensional Kalman Filters)、共分散の楕円(5 章)、過程雑音の共分散と、小さすぎるときの発散(7 章 Kalman Filter Math)R. R. Labbe Jr., Kalman and Bayesian Filters in Python(CC BY 4.0)
- 離散白色雑音加速度の模型(6.3.2 節)、フィルタの整合性と NIS(5.4 節)Y. Bar-Shalom, X. R. Li, and T. Kirubarajan, Estimation with Applications to Tracking and Navigation, Wiley, 2001, doi:10.1002/0471221279
- カイ 2 乗分布の分位点NIST/SEMATECH, e-Handbook of Statistical Methods, 1.3.6.7.4 Critical Values of the Chi-Square Distribution
- カイ 2 乗分布の分位点の近似E. B. Wilson and M. M. Hilferty, “The Distribution of Chi-Square,” Proceedings of the National Academy of Sciences, vol. 17, no. 12, pp. 684–688, 1931, doi:10.1073/pnas.17.12.684