以下の書籍
を中心に時系列解析を勉強していきます。
16. 一般状態空間モデルの逐次解法
16.1 粒子フィルタ
順次データが得られる場合、都度都度で状態を推定するのは計算効率が悪い。そのためカルマンフィルタを発展させた様々な改良手法が提案されている。ここでは粒子フィルタ(逐次モンテカルロ法、法とも呼ばれる。)を導入する。
粒子フィルタでは事後分布の近似を直接求めた後で、必要に応じて各種統計量を算出する。
16.1.1 粒子フィルタリング
以降では、重点サンプリングの発展版として粒子フィルタリングを導入する。
重点サンプリングは、求めたい分布に関する当家利用を算出する際に、サンプリングが容易な代理分布(提案分布という。)から一旦標本を抽出し、求めたい分布の尤度で補正を施す。たとえば確率ベクトルの確率密度をとするとき、ある関数の期待値は
で与えられ、空のサンプリングが容易ならば、
が得られる。しかしからのサンプリングが容易だとは限らない。そこで代わりに提案分布を用いることにすれば、
において、とおけば、
と近似できる。そこで提案分布からの標本を用いればを近似することができることが分かった。ここでは重点関数と呼ばれ、代理である提案分布の影響を打ち消して求めたい分布の尤度で補正を施す意味を持つ。
もし求めたい分布と大きく異なる提案分布から標本を発生させると、重点関数により尤度が低く補正されることで、近似計算において無駄が多くなる。したがって標本サイズが同じならば、提案分布は求めたい分布に似ている程、近似精度が向上する。
この重点サンプリングの仕組みをフィルタリングに応用し、求めたいフィルタリング分布の離散近似における重みを逐次更新するようにまとめると、粒子フィルタリングのアルゴリズムが得られる。
16.1.2 粒子フィルタリングの導出
フィルタリング分布の離散分布を得るべく、まず同時事後分布の離散近似を求め、それを周辺化することとする。同時事後分布の離散近似は、提案分布をとした重点サンプリングで得ることとする。このとき同時事後分布と提案分布の比率は、
を満たす。分母の提案分布に関して性を仮定して、と分解できると仮定すれば、
を得る。
条件付き独立性
より、
が得られる。この式にの規格化を加えることでアルゴリズムの原型が完成する。この仕組みに基づき、提案分布からの標本に対する重みの計算を時間順に繰り返す。これにより、同時事後分布の離散近似
が得られる。ここではにおける単位確率質量を表す。
この離散近似に関する時点での周辺化は、時点における重みと実現値がフィルタリング分布の離散近似
で与えられる。そして実用性を増すべくリサンプリングを加えたアルゴリズムを用いる。
粒子フィルタリングのアルゴリズム について
- 時点におけるフィルタリング分布として、実現値と重みをそれぞれとする。
- 時点とし、とする。
- 提案分布から標本を得る。
- 重みについて、とする。
- ならばとしてに戻る。そうでなければに移る。
- についてと規格化する。
- 集合からに比例した確率で復元抽出を行ない、リサンプリング用のインデックスを構築する。
- に対してインデックスを振り直し実現値とする。
- 重みと置き直す。
- ならばに戻る。そうでなければ終了する。
時点におけるフィルタリング分布は事前分布に相当し、通常は事前分布から抽出された実現値とし、とする。
このアルゴリズムは、フィルタリング分布の定式化と整合している。
- 1期先予測分布:
- 1期先予測尤度:重みの規格化により考慮する
- フィルタリング分布:により補正する
このアルゴリズムではところどころ留意点がある。
まずにおいて実現値を抽出すべくが用いられる。提案分布は求めたい分布の代理であるから、その影響はキャンセルアウトされている。提案分布は好きなものが利用でき得るものの、求めたい分布の密度がでないところでになってはいけない。また粒子数は有限であるから、基本的に求めたい分布に可能な限り類似した分布を用いるべきである。
重みのばらつきを最小にする最適な提案分布では、は状態空間モデルにおける条件付き独立の性質からおよび飲みに依存する。このため
が成り立つ。
実際にどの分布を提案分布にするかは問題にも依存するが、良く用いられるのは状態方程式である。その場合、
である。この形態の粒子フィルタはブートストラップ・フィルタ、モンテカルロ・フィルタとも呼ばれる。
提案分布を状態方程式に設定する場合、観測値の情報が考慮されないため、有限の粒子では推定性能が劣化する可能性がある。
リサンプリングは有限の粒子を効率的に再利用するための処置であり、粒子数が無限の場合には原理的に不要ではあるものの、粒子数が有限の場合には現実的に必要となる。リサンプリングすることでフィルタリング分布において重みの大きい粒子を優先的に積み増すことになるため、次の時点で重みが大きくなると見込まれる領域に多くの粒子が配置されることになり、分布の近似精度が劣化せずに済む。ただしリサンプリングは粒子の多様性を減らすため、過度に行うと推定精度を悪化させる。
最後にブートストラップ・フィルタにおいて、リサンプリングを毎時点必ず行うとすれば、粒子の重みはすべて同じであり、フィルタリングにおいて一期先予測を行なってから観測値に基づく尤度で補正を施す仕組みがより直接的に表現できる。