パーティクルフィルタ
平易に言うと: カルマンフィルタが使えない複雑なケース(非線形・非ガウス)でも、多数の仮想的な粒子を使って状態を推定する方法。
前提知識
- [[state-space-model]] 状態空間モデル
- [[kalman-filter]] カルマンフィルタ
- 確率分布・サンプリングの基礎
利用シーン
ロボットの自己位置推定、金融データの変化点検出など、線形・ガウスの前提が崩れる問題全般。
カルマンフィルタは状態遷移・観測が線形かつノイズがガウス分布に従う場合にのみ厳密な解を与える。非線形な状態遷移や非ガウス型のノイズを扱うには、状態の分布を多数の重み付き粒子(パーティクル)で近似する逐次モンテカルロ法、すなわちパーティクルフィルタが用いられる。
基本的な流れ
- 予測: 各粒子をシステムモデルに従って1期先へ遷移させる
- 更新: 観測値との整合度に応じて各粒子の重みを更新する
- リサンプリング: 重みの偏りが大きくなった粒子群を、重みに比例した確率で再抽出し多様性を保つ
粒子数を増やすほど近似精度は向上するが計算コストも増大するため、実務では両者のバランスを取る。
用語集
- 粒子(パーティクル): 状態の分布を近似する重み付きサンプル
- リサンプリング: 重みに応じて粒子を再抽出し多様性を保つ操作
- 逐次モンテカルロ法: 乱数サンプリングにより逐次的に分布を近似する手法