粒子フィルタ

粒子フィルタ(りゅうしフィルタ、: particle filter)や逐次モンテカルロ法 (ちくじモンテカルロほう、: sequential Monte Carlo; SMC)とは、シミュレーションに基づく複雑なモデルの推定法である。1993年1月北川源四郎モンテカルロフィルタの名称で[1]、1993年4月にN.J. Gordonらがブートストラップフィルタの名称で[2]同時期に同じものを発表した。

この手法はふつうベイズモデルを推定するのに用いられ、バッチ処理であるマルコフ連鎖モンテカルロ法 (MCMC) の逐次 (オンライン) 版である。またこの手法は重点サンプリング法にも似たところがある。 うまく設計すると、粒子フィルタはMCMCよりも高速である。拡張カルマンフィルタ無香カルマンフィルタ (Unscented カルマンフィルタ) に比べて、サンプル点が十分多くなるとベイズ最適推定に近付くことからより高い精度の解が得られるので、これらの代わりに用いられることがある。また手法を組み合わせて、カルマンフィルタを粒子フィルタの提案分布として使うこともできる。

目的

粒子フィルタの目的は、観測不可能な状態列 x k {\displaystyle x_{k}} ( k = 0 , 1 , 2 , 3 , ) {\displaystyle (k=0,1,2,3,\ldots )} 確率分布を観測値 y k {\displaystyle y_{k}} ( k = 0 , 1 , 2 , 3 , ) {\displaystyle (k=0,1,2,3,\ldots )} から推定することである。ベイズ推定値 x k {\displaystyle x_{k}} は一つ過去の確率分布 p ( x k | y 0 , y 1 , , y k ) {\displaystyle p(x_{k}|y_{0},y_{1},\ldots ,y_{k})} から得られるのに対し、マルコフ連鎖法では過去の全てを含む確率分布 p ( x 0 , x 1 , , x k | y 0 , y 1 , , y k ) {\displaystyle p(x_{0},x_{1},\ldots ,x_{k}|y_{0},y_{1},\ldots ,y_{k})} より求められる.

状態空間モデル

粒子フィルタでは観測不可能な状態 x k {\displaystyle x_{k}} と観測値 y k {\displaystyle y_{k}} は以下のように表せるとする。

観測不可能な状態列 x 0 , x 1 , {\displaystyle x_{0},x_{1},\ldots } は以下を満たす1階マルコフ過程。つまり x k {\displaystyle x_{k}} x k 1 {\displaystyle x_{k-1}} で決まる。ただし初期値 x 0 {\displaystyle x_{0}} の確率分布 p ( x 0 ) {\displaystyle p(x_{0})} を持つものとする。なお、これは2つ前 x k 2 {\displaystyle x_{k-2}} の状態を使えないという意味ではなく、必要なら2つ前の状態も x k 1 {\displaystyle x_{k-1}} に含めて使うという意味である。

x k | x k 1 p x k | x k 1 ( x | x k 1 ) {\displaystyle x_{k}|x_{k-1}\sim p_{x_{k}|x_{k-1}}(x|x_{k-1})}

観測データ列 y 0 , y 1 , {\displaystyle y_{0},y_{1},\ldots } x 0 , x 1 , {\displaystyle x_{0},x_{1},\ldots } が既知であるという条件の下で独立である。換言すると y k {\displaystyle y_{k}} x k {\displaystyle x_{k}} のみに従属する。

y k | x k p y | x ( y | x k ) {\displaystyle y_{k}|x_{k}\sim p_{y|x}(y|x_{k})}

その上で、下記に従う状態方程式を状態空間モデルと呼ぶ。[3][4]

x k = f k ( x k 1 , v k ) {\displaystyle x_{k}=f_{k}(x_{k-1},v_{k})\,}
y k = h k ( x k , w k ) {\displaystyle y_{k}=h_{k}(x_{k},w_{k})\,}

ただし v k {\displaystyle v_{k}} w k {\displaystyle w_{k}} も異なる k {\displaystyle k} について互いに独立であり、ある確率分布に従うノイズで、 v k {\displaystyle v_{k}} をシステムノイズ、 w k {\displaystyle w_{k}} を観測ノイズと呼ぶ。また、 f k ( ) {\displaystyle f_{k}(\cdot )} h k ( ) {\displaystyle h_{k}(\cdot )} は既知の関数である。

カルマンフィルターの状態方程式は状態空間モデルの一種であり、 x k {\displaystyle x_{k}} y k {\displaystyle y_{k}} が実数の列ベクトル、関数 f k ( ) {\displaystyle f_{k}(\cdot )} h k ( ) {\displaystyle h_{k}(\cdot )} が線形、 v k {\displaystyle v_{k}} w k {\displaystyle w_{k}} 多変量正規分布に従うとすると、下記形式で表現でき、

x k = F k x k 1 + G k v k y k = H k x k + w k {\displaystyle {\begin{aligned}x_{k}&=F_{k}x_{k-1}+G_{k}v_{k}\\y_{k}&=H_{k}x_{k}+w_{k}\end{aligned}}}

x k {\displaystyle x_{k}} の確率分布は多変量正規分布になり、カルマンフィルタによってベイズ推定と厳密に一致する解が得られる。線形でない場合などは、カルマンフィルタは1次近似に過ぎない。粒子フィルタもモンテカルロ法による近似には変わりないが、十分な数の粒子があれば高い精度が得られる。

モンテカルロ近似

粒子法は他のサンプルリング法と同様に、フィルタリング確率分布 p ( x k | y 0 , , y k ) {\displaystyle p(x_{k}|y_{0},\dots ,y_{k})} を近似する点列を生成する。したがって P {\displaystyle P} 個のサンプル点があれば、フィルタリング確率分布による期待値は

f ( x k ) p ( x k | y 0 , , y k ) d x k 1 P L = 1 P f ( x k ( L ) ) {\displaystyle \int f(x_{k})p(x_{k}|y_{0},\dots ,y_{k})dx_{k}\approx {\frac {1}{P}}\sum _{L=1}^{P}f(x_{k}^{(L)})}

によって近似される。そして通常のモンテカルロ法と同様に f ( ) {\displaystyle f(\cdot )} を適切に調整することで, 近似の程度に応じた次数までの モーメント を得ることができる。

Sampling Importance Resampling (SIR)

Sampling importance resampling (SIR) アルゴリズムは、モンテカルロフィルタ(北川源四郎 1993[1])やブートストラップフィルタ(Gordon et al. 1993[2])による本来の粒子フィルタであるが、よく使われる粒子フィルタアルゴリズムである。ここではフィルタリング確率分布 p ( x k | y 0 , , y k ) {\displaystyle p(x_{k}|y_{0},\ldots ,y_{k})} P {\displaystyle P} 個の重みつき粒子によって近似する。

{ ( w k ( L ) , x k ( L ) )   :   L = 1 , , P } {\displaystyle \{(w_{k}^{(L)},x_{k}^{(L)})~:~L=1,\ldots ,P\}} .

重み w k ( L ) {\displaystyle w_{k}^{(L)}} は以後の L = 1 P w k ( L ) = 1 {\displaystyle \sum _{L=1}^{P}w_{k}^{(L)}=1} である粒子の相対事後分布(密度)の近似となっており、 L = 1 P w k ( L ) = 1 {\displaystyle \sum _{L=1}^{P}w_{k}^{(L)}=1} を満たす。

SIRは重点サンプリング の逐次版 (つまり、再帰的) と言える。 重点サンプリングにあるように、関数 f ( ) {\displaystyle f(\cdot )} の推定値は重みつき平均

f ( x k ) p ( x k | y 0 , , y k ) d x k L = 1 P w ( L ) f ( x k ( L ) ) {\displaystyle \int f(x_{k})p(x_{k}|y_{0},\dots ,y_{k})dx_{k}\approx \sum _{L=1}^{P}w^{(L)}f(x_{k}^{(L)})}

で近似できる。

粒子の個数が有限である場合、このアルゴリズムの性能は提案分布 π ( x k | x 0 : k 1 , y 0 : k ) {\displaystyle \pi (x_{k}|x_{0:k-1},y_{0:k})} の選択に依存する。 最適な提案分布は目的分布

π ( x k | x 0 : k 1 , y 0 : k ) = p ( x k | x k 1 , y k ) {\displaystyle \pi (x_{k}|x_{0:k-1},y_{0:k})=p(x_{k}|x_{k-1},y_{k})}

である。

しかしながら事前遷移確率

π ( x k | x 0 : k 1 , y 0 : k ) = p ( x k | x k 1 ) {\displaystyle \pi (x_{k}|x_{0:k-1},y_{0:k})=p(x_{k}|x_{k-1})}

を提案分布として用いることが多い。 なぜならそこからは容易に粒子をサンプルすることができるし、その後に重みを計算することもできるからである。

提案分布として事前遷移確率を用いるSIRフィルタは一般にブートストラップフィルタ・コンデンセーションアルゴリズムとして知られている。

唯一つを除いた全ての重みがゼロに近付くこと ― アルゴリズムの縮退 ― を防ぐために再サンプルが行なわれる。 このアルゴリズムの性能は再サンプリング方式の選びかたにもかかっている。 北川源四郎 (1993[1]) によって提案された層化抽出法は分散の意味で最適である。

SIR法の1ステップは以下の様になる。

1) L = 1 , , P {\displaystyle L=1,\ldots ,P} について, 提案分布から粒子をサンプルする
x k ( L ) π ( x k | x 0 : k 1 ( L ) , y 0 : k ) {\displaystyle x_{k}^{(L)}\sim \pi (x_{k}|x_{0:k-1}^{(L)},y_{0:k})}
2) L = 1 , , P {\displaystyle L=1,\ldots ,P} について、重みを更新し、正規化定数を得る。
w ^ k ( L ) = w k 1 ( L ) p ( y k | x k ( L ) ) p ( x k ( L ) | x k 1 ( L ) ) π ( x k ( L ) | x 0 : k 1 ( L ) , y 0 : k ) {\displaystyle {\hat {w}}_{k}^{(L)}=w_{k-1}^{(L)}{\frac {p(y_{k}|x_{k}^{(L)})p(x_{k}^{(L)}|x_{k-1}^{(L)})}{\pi (x_{k}^{(L)}|x_{0:k-1}^{(L)},y_{0:k})}}}

このとき π ( x k ( L ) | x 0 : k 1 ( L ) , y 0 : k ) = p ( x k ( L ) | x k 1 ( L ) ) {\displaystyle \pi (x_{k}^{(L)}|x_{0:k-1}^{(L)},y_{0:k})=p(x_{k}^{(L)}|x_{k-1}^{(L)})} ならば更新式は

w ^ k ( L ) = w k 1 ( L ) p ( y k | x k ( L ) ) , {\displaystyle {\hat {w}}_{k}^{(L)}=w_{k-1}^{(L)}p(y_{k}|x_{k}^{(L)}),}

のように簡単になる。

3) L = 1 , , P {\displaystyle L=1,\ldots ,P} について、正規化された重みを計算する。
w k ( L ) = w ^ k ( L ) J = 1 P w ^ k ( J ) {\displaystyle w_{k}^{(L)}={\frac {{\hat {w}}_{k}^{(L)}}{\sum _{J=1}^{P}{\hat {w}}_{k}^{(J)}}}}
4) 有効粒子数の推定量を計算する。
N ^ e f f = 1 L = 1 P ( w k ( L ) ) 2 {\displaystyle {\hat {N}}_{\mathit {eff}}={\frac {1}{\sum _{L=1}^{P}\left(w_{k}^{(L)}\right)^{2}}}}


5) もし有効粒子数が与えられた閾値より少なかったら N ^ e f f < N t h r {\displaystyle {\hat {N}}_{\mathit {eff}}<N_{thr}} 再サンプルを実行する。
a) 現在の粒子の集合から、重みに比例した確率で P {\displaystyle P} 個の粒子を描く。現在の粒子の集合を新しい粒子の集合で置き換える。
b) L = 1 , , P {\displaystyle L=1,\ldots ,P} について、 w k ( L ) = 1 / P {\displaystyle w_{k}^{(L)}=1/P} とする。


Sequential Importance Resampling 等の用語は SIR フィルターの意味で用いられることがある。

逐次的 Importance Sampling (SIS)

再サンプルが無い点を除いて SIR と同様である。

直接法

直接法は他の粒子フィルタに比べて簡単で、合成と棄却を利用する。 k {\displaystyle k} 番目の一つのサンプル x {\displaystyle x} p x k | y 1 : k ( x | y 1 : k ) {\displaystyle p_{x_{k}|y_{1:k}}(x|y_{1:k})} から生成するのに以下の手順を踏む。

1) n = 1 {\displaystyle n=1} とする。
2) { 1 , . . . , P } {\displaystyle \{1,...,P\}} 上の一様分布から L {\displaystyle L} を生成する
3) テスト粒子 x ^ {\displaystyle {\hat {x}}} を確率分布 p x k | x k 1 ( x | x k 1 | k 1 ( L ) ) {\displaystyle p_{x_{k}|x_{k-1}}(x|x_{k-1|k-1}^{(L)})} から生成する
4) y ^ {\displaystyle {\hat {y}}} の確率を x ^ {\displaystyle {\hat {x}}} を用いて p y | x ( y k | x ^ ) {\displaystyle p_{y|x}(y_{k}|{\hat {x}})} から生成する。ただし、 y k {\displaystyle y_{k}} は観測値である
5) 別の数 u {\displaystyle u} [ 0 , m k ] {\displaystyle [0,m_{k}]} 上の一様分布からを生成する。ただし、 m k = sup x p y | x ( y k | x ) {\displaystyle m_{k}=\sup _{x}p_{y|x}(y_{k}|x)}
6) u {\displaystyle u} y ^ {\displaystyle {\hat {y}}} を比較
6a) u {\displaystyle u} が大きければ step 2 以降を繰り返す
6b) u {\displaystyle u} が小さかったら x ^ {\displaystyle {\hat {x}}} x k | k ( p ) {\displaystyle x{k|k}^{(p)}} として保存して n {\displaystyle n} を1増やす
7) n > P {\displaystyle n>P} ならば終了

目的は k {\displaystyle k} における P 個の粒子を、 k 1 {\displaystyle k-1} だけから生成することである。 これにはマルコフ方程式が x k 1 {\displaystyle x_{k-1}} だけから x k {\displaystyle x_{k}} を生成できるように記述できなければならない。 このアルゴリズムは k {\displaystyle k} における粒子を生成するために k 1 {\displaystyle k-1} における P {\displaystyle P} 個の粒子の合成を利用しており、 k {\displaystyle k} において P {\displaystyle P} 個の粒子が生成されるまでステップ 2--6 以降を繰り返す。

これは x {\displaystyle x} を2次元配列とみなすと、より視覚的に理解できる。 一つの次元は k {\displaystyle k} であり、もう一つの次元は粒子番号 L {\displaystyle L} である。 例えば x ( k , L ) {\displaystyle x(k,L)} k {\displaystyle k} における L {\displaystyle L} 番目の粒子であり、 x k ( L ) {\displaystyle x_{k}^{(L)}} と書ける (上記のアルゴリズムの記述に用いた通り)。 ステップ 3 は k 1 {\displaystyle k-1} においてランダムに選ばれた粒子 x k 1 ( L ) {\displaystyle x_{k-1}^{(L)}} から潜在的な x k {\displaystyle x_{k}} を生成し、ステップ 6で棄却 / 受領の判定が行われる。言い替えれば、 x k {\displaystyle x_{k}} の値はそれまでに生成された x k 1 {\displaystyle x_{k-1}} を用いて生成される。

その他の粒子フィルタ

  • Auxiliary particle filter
  • Gaussian particle filter
  • Unscented particle filter
  • Monte Carlo particle filter
  • Gauss-Hermite particle filter
  • Cost Reference particle filter

関連項目

参考文献

  • モンテカルロフィルタおよび平滑化について, by 北川源四郎. 統計数理, Vol.44, No.1, pp. 31--48, 1996
  • Sequential Monte Carlo Methods in Practice, by A Doucet, N de Freitas and N Gordon. Springer, 2001. ISBN 978-0387951461
  • On Sequential Monte Carlo Sampling Methods for Bayesian Filtering, by A Doucet, C Andrieu and S. Godsill, Statistics and Computing, vol. 10, no. 3, pp. 197-208, 2000 CiteSeer link
  • Tutorial on Particle Filters for On-line Nonlinear/Non-Gaussian Bayesian Tracking (2001); S. Arulampalam, S. Maskell, N. Gordon and T. Clapp; CiteSeer link
  • Particle Methods for Change Detection, System Identification, and Control, by Andrieu C., Doucet A., Singh S.S., and Tadic V.B., Proceedings of the IEEE, Vol 92, No 3, March 2004. SMC Homepage link
  • A Tutorial on Bayesian Estimation and Tracking Techniques Applicable to Nonlinear and Non-Gaussian Processes, A.J. Haug, The MITRE Corporation; Mitre link
  • Distributed Implementations of Particle Filters, Anwer Bashi, Vesselin Jilkov, Xiao Rong Li, Huimin Chen, Available from the University of New Orleans
  • A survey of convergence results on particle filtering methods for practitioners, Crisan, D. and Doucet, A., IEEE Transactions on Signal Processing 50(2002)736-746 doi:10.1109/78.984773
  • Beyond the Kalman Filter: Particle Filters for Tracking Applications, by B Ristic, S Arulampalam, N Gordon. Artech House, 2004. ISBN 1-58053-631-X.

参照

  1. ^ a b c Kitagawa, G. (1993-01). “A Monte Carlo filtering and smoothing method for non-Gaussian nonlinear state space models”. Proceedings of the 2nd U.S.-Japan Joint Seminar on Statistical Time Series: 110-131. https://www.ism.ac.jp/~kitagawa/1993_US-Japan.pdf 2019年11月20日閲覧。. 
  2. ^ a b Gordon, N.J.; Salmond, D.J.; Smith, A.F.M. (1993-04). “Novel approach to nonlinear/non-Gaussian Bayesian state estimation”. IEE Proceedings F - Radar and Signal Processing 140 (2): 107-113. doi:10.1049/ip-f-2.1993.0015. 
  3. ^ 北川源四郎『時系列解析入門』岩波書店、2005年、209頁。ISBN 4000054554。 
  4. ^ 樋口知之『予測にいかす統計モデリングの基礎―ベイズ統計入門から応用まで』講談社、2011年、29頁。ISBN 4061557955。 

外部リンク

  • Sequential Monte Carlo Methods (Particle Filtering) homepage on University of Cambridge
  • Dieter Fox's MCL Animations
  • Nando de Freitas' free software
  • Rob Hess' free software
離散単変量で
有限台
離散単変量で
無限台
  • ベータ負二項(英語版)
  • ボレル(英語版)
  • コンウェイ–マクスウェル–ポワソン(英語版)
  • 離散位相型(英語版)
  • ドラポルト(英語版)
  • 拡張負二項(英語版)
  • ガウス–クズミン
  • 幾何
  • 対数(英語版)
  • 負の二項
  • 放物フラクタル(英語版)
  • ポワソン
  • スケラム(英語版)
  • ユール–サイモン(英語版)
  • ゼータ(英語版)
連続単変量で
有界区間に台を持つ
  • 逆正弦(英語版)
  • ARGUS(英語版)
  • バルディング–ニコルス(英語版)
  • ベイツ(英語版)
  • ベータ
  • beta rectangular(英語版)
  • アーウィン–ホール(英語版)
  • クマラスワミー(英語版)
  • ロジット-正規(英語版)
  • 非中心ベータ(英語版)
  • raised cosine(英語版)
  • reciprocal(英語版)
  • 三角
  • U-quadratic(英語版)
  • 一様
  • ウィグナー半円
連続単変量で
半無限区間に台を持つ
  • ベニーニ(英語版)
  • ベンクタンダー第一種(英語版)
  • ベンクタンダー第二種(英語版)
  • 第2種ベータ
  • Burr(英語版)
  • カイ二乗
  • カイ(英語版)
  • Dagum(英語版)
  • デービス(英語版)
  • 指数-対数(英語版)
  • アーラン
  • 指数
  • F
  • folded normal(英語版)
  • Flory–Schulz(英語版)
  • フレシェ
  • ガンマ
  • gamma/Gompertz(英語版)
  • 一般逆ガウス(英語版)
  • Gompertz(英語版)
  • half-logistic(英語版)
  • half-normal(英語版)
  • Hotelling's T-squared(英語版)
  • 超アーラン(英語版)
  • 超指数(英語版)
  • hypoexponential(英語版)
  • 逆カイ二乗(英語版)
    • scaled inverse chi-squared(英語版)
  • 逆ガウス
  • 逆ガンマ
  • コルモゴロフ
  • レヴィ
  • 対数コーシー
  • 対数ラプラス(英語版)
  • 対数ロジスティック(英語版)
  • 対数正規
  • ロマックス(英語版)
  • 行列指数(英語版)
  • マクスウェル–ボルツマン
  • マクスウェル–ユットナー(英語版)
  • ミッタク-レフラー(英語版)
  • 仲上(英語版)
  • 非心カイ二乗
  • パレート
  • 位相型(英語版)
  • poly-Weibull(英語版)
  • レイリー
  • relativistic Breit–Wigner(英語版)
  • ライス(英語版)
  • shifted Gompertz(英語版)
  • 切断正規
  • タイプ2ガンベル(英語版)
  • ワイブル
    • 離散ワイブル(英語版)
  • ウィルクスのラムダ(英語版)
連続単変量で
実数直線全体に台を持つ
連続単変量で
タイプの変わる台を持つ
  • 一般極値
  • 一般パレート(英語版)
  • マルチェンコ–パストゥール(英語版)
  • q-指数(英語版)
  • q-ガウス
  • q-ワイブル(英語版)
  • shifted log-logistic(英語版)
  • トゥーキーのラムダ(英語版)
混連続-離散単変量
  • rectified Gaussian(英語版)
多変量 (結合)
【離散】
エウェンズ(英語版)
多項
ディリクレ多項(英語版)
負多項(英語版)
【連続】
ディリクレ
一般ディリクレ(英語版)
多変量正規
多変量安定(英語版)
多変量 t(英語版)
正規逆ガンマ(英語版)
正規ガンマ(英語版)
行列値
逆行列ガンマ(英語版)
逆ウィッシャート(英語版)
行列正規(英語版)
行列 t(英語版)
行列ガンマ(英語版)
正規逆ウィッシャート(英語版)
正規ウィッシャート(英語版)
ウィッシャート
方向
【単変量 (円周) 方向
円周一様(英語版)
単変数フォン・ミーゼス
wrapped 正規(英語版)
wrapped コーシー(英語版)
wrapped 指数(英語版)
wrapped 非対称ラプラス(英語版)
wrapped レヴィ(英語版)
【二変量 (球面)】
ケント(英語版)
【二変量 (トロイダル)】
二変数フォン・ミーゼス(英語版)
【多変量】
フォン・ミーゼス–フィッシャー(英語版)
ビンガム(英語版)
退化特異
  • 円周(英語版)
  • 混合ポワソン(英語版)
  • 楕円(英語版)
  • 指数
  • 自然指数(英語版)
  • 位置尺度(英語版)
  • 最大エントロピー(英語版)
  • 混合(英語版)
  • ピアソン(英語版)
  • トウィーディ(英語版)
  • wrapped(英語版)
サンプリング法(英語版)
  • 一覧記事 一覧(英語版)
  • カテゴリ カテゴリ