「《カルマンフィルター》」の版間の差分
| 1行目: | 1行目: | ||
'''【かるまんふぃるたー (Kalman filter)】''' | '''【かるまんふぃるたー (Kalman filter)】''' | ||
| − | + | <center><table><tr><td align=center>[[スタイル検討#カルマンフィルター (0098-b-h-05-1)|スタイル検討]]</td></tr> | |
| − | + | <td align=center>図1:状態空間モデル</td></table></center> | |
| + | |||
| 75行目: | 76行目: | ||
| − | + | ||
| − | + | <center><table><tr><td align=center>[[スタイル検討#カルマンフィルター (0098-b-h-05-2)|スタイル検討]]</td></tr> | |
| + | <td align=center>図2:カルマンフィルターのブロック線図</td></table></center> | ||
2007年7月12日 (木) 19:11時点における版
【かるまんふぃるたー (Kalman filter)】
| スタイル検討 |
| 図1:状態空間モデル |
図1に示すガウス白色雑音を受ける離散時間線形確率システムを考える.
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \begin{array}{rlll} x_{t+1} &=& Ax_t+Bw_t & \qquad (1)\\ y_t &=& Cx_t+v_t,\ t=0, 1, \cdots & \qquad (2) \end{array} \, }
ただし, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x_t\, }
はn次元状態ベクトル, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle y_t\, }
はp次元観測ベクトル,構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle w_t\, }
, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle v_t\, }
は構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle m\, }
および構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle p\, }
次元ガウス白色雑音ベクトルで, 平均値は0, 共分散行列は
であるとする. ただし, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle Q\, }
, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R\, }
は非負定値対称行列, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \delta_{ts}\, }
はクロネッカーの記号である. は一般に時間の関数であってもよいが,簡単のために添字は省略している. また初期値構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x_0\, }
は平均値,共分散行列のガウス確率ベクトルであり, 雑音とは無相関であるとする.
カルマンフィルタは, 観測データに基づいて,状態の最小分散推定値(すなわちの条件付き期待値)
を逐次的に計算するアルゴリズムである. にしたがってそれぞれ, 予測, 濾波, 平滑という.以下では, 状態ベクトルの予測推定値, 濾波推定値をと表し, それぞれの推定誤差共分散行列を次のようにおく.
1960-61年にカルマン(R. E. Kalman)と ビュシー(R. S. Bucy)は式(1), (2)の状態空間モデルに対して, カルマンフィルターと呼ばれる以下のようなアルゴリズムを提案した [1, 2, 3, 4, 5, 6].
(i) フィルタ方程式
(ii) カルマンゲイン
(iii) 推定誤差共分散行列
| スタイル検討 |
| 図2:カルマンフィルターのブロック線図 |
図2にカルマンフィルタのブロック線図を示す.カルマンフィルタは観測値を入力とし, 推定値, 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \hat{x}_{t/t}\, } を逐次的に出力する線形動的システムであり,はイノベーションと呼ばれている.
がガウス分布でない場合には, 上のアルゴリズムは状態ベクトルおよび信号の線形最小分散推定値を与えるという意味で, 最適なフィルタである.
式(6), (7)から構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle P_{t/t}\, } を消去して,構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle P_t:=P_{t/t-1}\, } とおくと, 離散時間リッカチ方程式
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle P_{t+1}=A(P_{t}-P_{t}C^{\top}[CP_{t}C^{\top}+R]^{-1}CP_{t})A^{\top} + BQB^{\top} \qquad (8) \, }
を得る. また上式の構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle t\to \infty\, }
における極限を代数リッカチ方程式という. 制御理論の分野には(代数)リッカチ方程式に関する膨大な研究がある [7].
白色雑音を受ける非線形確率システムに対しても,その線形化モデルにカルマンフィルタを適用することができるので, カルマンフィルタは航空宇宙工学の分野において飛翔体の軌道推定に威力を発揮した. また状態ベクトルだけてなく, モデルに含まれる未知パラメータを同時に推定する拡張カルマンフィルタも提案されており, カルマンフィルタの応用は時系列の推定を始めとして非常に多くの分野に見られる.
参考文献
[1] R. E. Kalman, "A New Approach to Linear Filtering and Prediction Problem," Transactions of American Society of Mechanical Engineers, Journal of Basic Engineering, 82D (1960), 34-45.
[2] R. E. Kalman and R. S. Bucy, "New Results in Linear Filtering and Prediction Theory," Transactions of American Society of Mechanical Engineers, Journal of Basic Engineering, 83D (1961), 95-108.
[3] B. D. O. Anderson and J. B. Moore, Optimal Filtering, Prentice-Hall, 1979.
[4] M. S. Grewal and A. P. Andrews, Kalman Filtering - Theory and Practice, Prentice-Hall, 1993.
[5] 有本 卓, 『カルマンフィルター』, 産業図書, 1977.
[6] 片山 徹, 『新版応用カルマンフィルタ』, 朝倉書店, 2000.
[7] S. Bittanti, A. J. Laub and J. C. Willems (Eds.), The Riccati Equation, Springer, 1991.