1 概要
粒子フィルタは、観測値に基づいて時間とともに変化する隠れ状態を推定するための逐次推定法である。多数の仮想的なサンプルを用いて確率分布を近似し、予測と更新を繰り返しながら状態の候補を絞り込む。非線形、非ガウスの問題に対応しやすい点が特徴で、古典的な線形推定法では扱いにくい対象にも利用される。
1.1 粒子フィルタの定義
粒子フィルタは、状態の分布を有限個の粒子で表現し、それぞれに重みを与えて近似するアルゴリズム群を指す。粒子は状態空間内の代表点として機能し、観測が得られるたびにその妥当性に応じて重みが更新される。こうして得られる重み付き集合が、時点ごとの推定分布を近似する。
1.2 位置づけと基本的な考え方
この手法は、ベイズ推定を逐次的に実行する数値的方法として位置づけられる。状態の進化を事前モデルで予測し、観測との一致度を用いて補正するという流れが基本である。解析的に分布を求める代わりに、サンプルの集まりで不確実性を表現するため、柔軟性が高い。
1.3 適用対象となる問題
粒子フィルタは、内部状態が直接観測できず、外部データから間接的に推定する問題に向く。例として、移動体の位置推定、目標物の追跡、雑音を含む信号の状態推定、価格や需要の変動を伴う時系列解析がある。状態遷移や観測の関係が複雑でも、確率モデルを構築できれば応用可能である。
2 理論的背景
粒子フィルタの基礎には、ベイズ推定、状態空間モデル、モンテカルロ法がある。これらは、未知の状態を確率的に扱い、観測情報を段階的に取り込むための枠組みを与える。理論上は厳密な分布更新を目指すが、実際には数値近似によって実装される。
2.1 ベイズ推定
ベイズ推定では、未知量に対する信念を確率分布として表し、新たな情報が得られるたびにそれを更新する。粒子フィルタでは、この更新を時系列に沿って繰り返すことで、状態の不確実さを逐次的に反映する。推定結果は単一値だけでなく、分布として解釈できる点に特徴がある。
2.1.1 事前分布と事後分布
事前分布は観測を得る前の状態に関する予想を示し、事後分布は観測を踏まえた更新後の分布である。粒子フィルタでは、前時点の推定結果が次時点の事前分布として働く。観測データを取り入れることで、この分布がより妥当な形へ補正される。
2.1.2 観測尤度
観測尤度は、ある状態が与えられたときに観測がどれだけ起こりやすいかを表す。粒子フィルタでは、各粒子が現在の観測とどの程度整合するかを評価する尺度として使われる。尤度が高い粒子ほど重みが大きくなり、推定分布への寄与が増す。
2.2 状態空間モデル
状態空間モデルは、見えない内部状態の時間発展と、それに対応する観測の生成過程を記述する。通常、状態の遷移過程と観測過程を分けて定式化する。粒子フィルタは、このモデルに対して逐次的な近似推定を行う。
2.2.1 状態方程式
状態方程式は、時刻ごとの状態が前時点の状態からどのように変化するかを表す。外乱やランダム性を含むことが多く、厳密な予測が難しい場合でも確率的に表現できる。粒子フィルタは、この方程式を用いて粒子を次時点へ進める。
2.2.2 観測方程式
観測方程式は、内部状態から実際に得られる測定値がどのように生成されるかを示す。観測には雑音が含まれることが一般的で、状態との関係は単純とは限らない。粒子フィルタでは、この関係に基づいて粒子ごとの重みを更新する。
2.3 モンテカルロ法
モンテカルロ法は、確率的な試行を繰り返して数値的に量を推定する方法である。粒子フィルタでは、分布を解析的に扱う代わりに、ランダムサンプルの集合で近似する。これにより、複雑な確率モデルでも推定が可能になる。
2.3.1 重要度サンプリング
重要度サンプリングは、目的分布から直接標本化しにくいときに、別の分布からサンプルを取り、そのずれを重みで補正する手法である。粒子フィルタでは、提案分布に従って粒子を生成し、観測に照らして重みを計算する。こうして目標とする事後分布を近似する。
2.3.2 逐次推定の考え方
逐次推定では、データが到着するたびに過去の結果を利用しながら推定を更新する。全時系列を一括処理する必要がないため、オンライン処理に適する。粒子フィルタは、この逐次性を保ちながら不確実性の表現も維持する。
3 アルゴリズム
粒子フィルタの計算は、初期化、予測、重み付け、再サンプリング、推定値の算出という流れで構成される。各段階は、状態分布の近似を少しずつ更新する役割を持つ。処理の順序と重みの扱いが、精度に大きく影響する。
3.1 初期化
初期化では、推定対象の初期分布に従って粒子を配置し、初期重みを設定する。初期状態に関する知識がある場合は、その情報を反映した分布を用いる。情報が乏しいときは、広めの分布で探索的に始めることもある。
3.2 予測
予測では、前時点の各粒子を状態方程式に従って進め、次時点の候補状態を生成する。これにより、観測が与えられる前の事前分布が近似される。ランダム性を伴う遷移があっても、粒子集合として表現できる。
3.3 重み付け
重み付けでは、予測された各粒子が観測をどれだけ説明できるかを評価する。観測に近い粒子には大きな重みが与えられ、適合しない粒子は寄与が小さくなる。これにより、次の推定に反映すべき候補が絞られる。
3.3.1 観測との整合性評価
整合性評価は、粒子が生成しうる観測と実測値との距離や尤度を算出する過程である。観測雑音の性質によって評価式は変わる。実装では、差分の大きさだけでなく、確率密度を用いて比較することが多い。
3.3.2 重みの正規化
重みの正規化は、個々の重みの合計を1にそろえる操作である。これにより、粒子集合全体を確率分布として解釈しやすくなる。数値計算上も、比較や再サンプリングを安定して行いやすくなる。
3.4 再サンプリング
再サンプリングでは、重みの大きい粒子を選びやすくし、重みの小さい粒子を減らすことで集合を更新する。これにより、推定に寄与しない粒子が過剰に残ることを防ぐ。代表的な粒子の配置を保ちながら、分布の集中を反映できる。
3.4.1 粒子の劣化問題
粒子の劣化問題とは、多くの粒子の重みがほぼゼロになり、実質的に少数の粒子だけが支配的になる現象である。観測を重ねるほど起こりやすく、推定の効率を下げる。再サンプリングは、この偏りを和らげるために導入される。
3.4.2 再サンプリング手法
再サンプリングには、単純再サンプリング、層別化再サンプリング、残差再サンプリングなどがある。方法ごとに分散の抑え方や計算負荷が異なる。用途に応じて、安定性と効率のバランスを取ることが重要である。
3.5 推定値の算出
推定値は、重み付き粒子の平均や最頻付近の値から求められる。必要に応じて分散や信用区間に相当する情報も併せて計算できる。これにより、単一の代表値だけでなく、不確かさも把握できる。
4 理論的性質
粒子フィルタは柔軟だが、理論面では収束性や誤差の見積もりが重要になる。粒子数が増えるほど近似精度は改善しやすい一方、計算負担も増える。性能は、モデル構造や再サンプリングの設計にも左右される。
4.1 収束性
一般に、粒子数が十分大きいと、近似分布は真の分布に近づくと考えられる。もっとも、収束速度や必要粒子数は問題設定に依存する。高次元や極端な非線形では、理論通りの振る舞いを得にくい場合がある。
4.2 計算量
計算量は主として粒子数に比例し、観測や状態の次元が高いほど負荷は増える。各時点で粒子ごとの予測と重み計算を行うため、実時間処理では資源制約が課題となる。再サンプリングの方式によっても、総コストは変動する。
4.3 近似誤差
近似誤差は、有限個の粒子で連続分布を表すことから生じる。粒子数不足、提案分布の不適合、再サンプリングの偏りなどが誤差要因となる。観測データが不安定な場合は、誤差の増幅が起こりやすい。
4.4 粒子の退化と多様性
粒子の退化は、少数の粒子に重みが集中して情報量が失われる状態を指す。これに対して多様性の維持は、状態空間を広く探索し続けるために重要である。両者の均衡を取ることが、安定した推定につながる。
5 代表的な種類
粒子フィルタには複数の派生形があり、提案分布や再サンプリングの設計が異なる。標準的な方式を基礎として、目的に応じた改良が加えられる。計算効率や精度の確保を目指して、さまざまな変種が提案されてきた。
5.1 標準粒子フィルタ
標準粒子フィルタは、基本的な予測・重み付け・再サンプリングの流れをそのまま用いる形式である。実装が比較的わかりやすく、理論説明の基準として用いられることが多い。多くの応用で出発点となる。
5.2 ブートストラップ粒子フィルタ
ブートストラップ粒子フィルタは、状態遷移モデルを提案分布として利用する代表的な方式である。構成が簡潔で実装しやすいが、観測情報を十分に反映できない場合もある。基本形として広く参照されている。
5.3 十分重要度サンプリング法
十分重要度サンプリング法は、観測情報をより反映した提案分布を設計し、重みのばらつきを抑える考え方である。適切に構成できれば、少ない粒子でも効率的な推定が期待できる。ただし、提案分布の設計には問題固有の工夫が必要である。
5.4 層別化や残差に基づく手法
層別化や残差に基づく手法は、再サンプリング時の偶然的な偏りを減らすための改良である。重み情報をより安定に反映し、代表性の低下を抑えやすい。実務では、標準法より分散の小さい更新を目指して採用されることがある。
6 応用分野
粒子フィルタは、動的で不確実な対象を扱う多くの分野に応用される。状態を直接測れない状況でも、観測列から推定を行えるため、実世界の問題と相性がよい。以下の分野では、特に有用性が高い。
6.1 ロボット工学
ロボット工学では、移動体の位置や向き、周辺環境の状態を推定する目的で使われる。センサー誤差や環境変化が大きい場合でも、確率的に位置を追跡できる。自己位置推定と目標追跡の両面で活用される。
6.1.1 自己位置推定
自己位置推定では、ロボットが自分の現在位置を地図やセンサー情報から推定する。粒子フィルタは、複数の仮説を並行して保持できるため、曖昧な初期状態にも対応しやすい。環境に似た場所が複数ある場合でも、観測の蓄積により候補を絞り込める。
6.1.2 移動体追跡
移動体追跡では、対象物の位置や速度の変化を連続的に推定する。遮蔽や観測抜けがある場合でも、過去の状態と運動モデルを利用して補完しやすい。対象の動きが不規則なときにも、柔軟な追跡が可能である。
6.2 信号処理
信号処理では、雑音を含む観測から元の信号成分や内部状態を推定する。非線形な系や非ガウス雑音に対して、粒子フィルタは従来法より適応範囲が広い。時間変化する信号の解析にも向いている。
6.2.1 ノイズ除去
ノイズ除去では、観測信号から不要な揺らぎを抑え、真の成分を推定する。粒子フィルタは、信号の進化モデルを通じて滑らかな推定を行う。単純な平滑化では難しい場合にも、確率的な更新で改善を図れる。
6.2.2 非線形系の推定
非線形系の推定では、入力と出力の関係が直線的でない対象を扱う。解析解が得にくい場合でも、粒子の集まりによって状態分布を表現できる。結果として、複雑なダイナミクスを持つ系にも対応しやすい。
6.3 コンピュータービジョン
コンピュータービジョンでは、画像列から対象の位置や姿勢を追う用途が多い。フレーム間で対象が連続的に変化するため、逐次推定との相性がよい。粒子フィルタは、複数候補を保ちながら追跡できる点で有効である。
6.3.1 物体追跡
物体追跡では、映像中の対象の位置を継続的に推定する。見失いが発生しても、過去の移動傾向と観測を組み合わせて再捕捉を試みられる。複数の粒子により、類似物体との混同にもある程度対処できる。
6.3.2 姿勢推定
姿勢推定では、物体や人体の向き、関節角、空間的配置などを推定する。観測が部分的であっても、運動の連続性を利用して状態を補完できる。画像ノイズや遮蔽がある場面でも、確率的な仮説保持が役立つ。
6.4 経済学と金融工学
経済学と金融工学では、時系列データに含まれる潜在状態の推定に用いられる。市場環境の変動や観測の不確実性を考慮できるため、現象の解釈と予測に向く。非定常な系列への適用も検討される。
6.4.1 時系列予測
時系列予測では、将来値や潜在的なトレンドを推定する。粒子フィルタは、状態の分布を保ちながら先の変化を見積もるため、不確実性を伴う予測に適する。急な変動があっても、逐次更新により追随しやすい。
6.4.2 状態推定モデル
状態推定モデルでは、観測値の背後にある潜在要因を推定する。景気循環やボラティリティのように直接見えない成分を扱う際に有効である。モデル化次第で、複数の仮説を比較しながら分析できる。
7 実装上の工夫
実用化では、理論だけでなく計算の安定性と効率が重要になる。粒子数、重みの管理、再サンプリングのタイミングなどが性能に影響する。目的に応じて設計を調整することで、精度と速度の両立を目指す。
7.1 粒子数の選択
粒子数は、精度と計算負荷の折り合いを決める主要な要素である。少なすぎると分布近似が粗くなり、多すぎると処理が重くなる。問題の次元、雑音の大きさ、実時間性を考慮して設定する必要がある。
7.2 重みの安定化
重みの安定化では、極端な値の偏りを抑える工夫が行われる。対数重みの利用や数値スケーリングが代表例である。これにより、丸め誤差やアンダーフローを避けやすくなる。
7.3 再サンプリングの頻度
再サンプリングを毎回行うと粒子の多様性が失われやすく、逆に間隔を空けすぎると退化が進む。そこで、劣化指標に応じて実施する方法が用いられる。適切な頻度を選ぶことが、安定した推定に直結する。
7.4 並列計算の利用
粒子ごとの処理は独立性が高いため、並列化と相性がよい。GPUやマルチコア環境を利用すれば、大規模な粒子集合でも高速化しやすい。計算資源の活用は、実運用での適用範囲を広げる要因となる。
8 関連する手法
粒子フィルタは、他の状態推定法と比較されることが多い。線形近似に基づく方法や、分布の別表現を用いる方法と役割分担がある。対象の性質に応じて使い分けられる。
8.1 カルマンフィルタ
カルマンフィルタは、線形かつガウス的な条件で最適性を持つ状態推定法である。粒子フィルタより計算が軽い一方、非線形性や非ガウス性には弱い。条件が合う問題では、依然として強力な手法である。
8.2 拡張カルマンフィルタ
拡張カルマンフィルタは、非線形モデルを局所的に線形化して扱う。実装は比較的簡単だが、強い非線形では近似のずれが生じやすい。粒子フィルタは、この種の線形化を用いずに分布を表せる点で異なる。
8.3 アンサンブルカルマンフィルタ
アンサンブルカルマンフィルタは、複数のサンプル集合を用いて分布を近似する方法である。大規模系での利用が想定され、計算効率を重視する場面で選ばれる。粒子フィルタと比べると、更新の考え方や適用条件に違いがある。
8.4 変分法に基づく推定
変分法に基づく推定は、最適化問題として近似分布を求めるアプローチである。確率的サンプリングとは異なり、目的関数の最小化を通じて分布を近似する。粒子フィルタと併用されることもあり、推定戦略の選択肢の一つとなる。
9 課題と限界
粒子フィルタは汎用性が高いが、万能ではない。高次元化、計算量、モデルの妥当性、初期条件への依存といった問題が残る。実際の利用では、これらの制約を見極める必要がある。
9.1 高次元問題への適用
高次元では、必要な粒子数が急増しやすく、分布の表現が難しくなる。空間が広がるほど粒子のまばらさが目立ち、重要な領域を十分に覆えないことがある。次元削減や構造の利用がしばしば検討される。
9.2 計算資源の制約
大量の粒子と頻繁な更新は、メモリと演算時間を消費する。実時間処理や組み込み環境では、この負担が実装上の制約となる。性能向上には、粒子数の調整や並列化が欠かせない。
9.3 モデル依存性
粒子フィルタの性能は、状態方程式や観測方程式の設計に強く依存する。モデルが現実と合わない場合、粒子を増やしても推定精度は十分に改善しない。したがって、モデル選択と検証が重要である。
9.4 初期値への感度
初期分布の設定が不適切だと、真の状態を十分に探索できないことがある。特に情報が乏しい場合は、局所的な仮説に偏る危険がある。初期化の工夫は、その後の推定全体の安定性を左右する。