状態を追いかける粒子の雲 粒子フィルタは、隠れ状態についての信念を N N N 個の粒子の雲として持ちます。各粒子は状態のありうる値で、その尤もらしさを表す重みをもちます。釣鐘形は仮定しないので、雲はどんな形にもなれます。毎日同じサイクルを回します。伝播:モデル自身のランダムな動きで各粒子を進める。重み付け:その粒子のもとでの今日の観測の尤度を重みとする。推定:フィルタされた平均は粒子の重み付き平均。リサンプリング:良い粒子はコピーされ、悪い粒子は消える新しい雲を引く。
x t ( i ) = x t − 1 ( i ) + q z ( i ) , w ( i ) = p ( y t ∣ x t ( i ) ) , m ^ t = ∑ i w ~ ( i ) x t ( i ) , p ^ ( y t ) = 1 N ∑ i w ( i ) x_t^{(i)}=x_{t-1}^{(i)}+\sqrt q\,z^{(i)},\quad w^{(i)}=p(y_t\mid x_t^{(i)}),\quad \hat m_t=\sum_i\tilde w^{(i)}x_t^{(i)},\quad \hat p(y_t)=\frac1N\sum_i w^{(i)} x t ( i ) = x t − 1 ( i ) + q z ( i ) , w ( i ) = p ( y t ∣ x t ( i ) ) , m ^ t = i ∑ w ~ ( i ) x t ( i ) , p ^ ( y t ) = N 1 i ∑ w ( i ) (1) 提案分布が最も単純な、モデル自身の遷移なので、ブートストラップフィルタと呼ばれます。このとき粒子の重みはちょうど尤度になります。このレシピは、前向きにシミュレーションでき、観測の尤度を評価できるモデルならどれにでも使えるので、カルマンフィルタに厳密な答えがない非線形の状態、厚い裾、隠れたボラティリティも扱えます。代償はランダム性です。乱数が違えば答えも少し違い、誤差は 1 / N 1/\sqrt N 1/ N のように縮みます。実際には乱数のシードを固定して、実行を再現できるようにします。
4粒子での1サイクル 伝播の後、4つの粒子は
− 1 , 0 , 1 , 2 -1,0,1,2 − 1 , 0 , 1 , 2 にあり、
r = 1 r=1 r = 1 で
y = 1 y=1 y = 1 を観測します。尤度は
0.054 , 0.242 , 0.399 , 0.242 0.054,\ 0.242,\ 0.399,\ 0.242 0.054 , 0.242 , 0.399 , 0.242 (
1 / 2 π 1/\sqrt{2\pi} 1/ 2 π を含む正規密度)、重みは
0.058 , 0.258 , 0.426 , 0.258 0.058,\ 0.258,\ 0.426,\ 0.258 0.058 , 0.258 , 0.426 , 0.258 です。フィルタされた平均は
0.885 0.885 0.885 。平均尤度
0.234 0.234 0.234 は観測がどれだけ起こりやすかったかの推定で、全日についてこの平均の対数を足したものがモデルの対数尤度です。リサンプリングでは、一様乱数
0.05 , 0.5 , 0.6 , 0.9 0.05,\ 0.5,\ 0.6,\ 0.9 0.05 , 0.5 , 0.6 , 0.9 を累積重み
0.058 , 0.316 , 0.742 , 1 0.058,\ 0.316,\ 0.742,\ 1 0.058 , 0.316 , 0.742 , 1 で探します。選ばれるのは粒子
1 , 3 , 3 , 4 1,3,3,4 1 , 3 , 3 , 4 で、新しい雲は
− 1 , 1 , 1 , 2 -1,1,1,2 − 1 , 1 , 1 , 2 、重みは等しく
0.25 0.25 0.25 、平均は
0.75 0.75 0.75 です。
1日4ステップ :伝播、重み付け、推定、リサンプリング。重み=尤度 :今日の観測を見るのは重み付けの段階だけ。シミュレーションできるどんなモデルでも :非線形・非ガウスの場合も扱えるが、代償として 1 / N 1/\sqrt N 1/ N 程度のランダム誤差が残る。カルマンにどれだけ近いか カルマンフィルタが厳密になるアップルのベータモデルで、粒子500個のブートストラップフィルタは平均 0.016 0.016 0.016 、2000個では 0.0065 0.0065 0.0065 だけカルマンとずれました。粒子を4倍にすると誤差がほぼ半分になり、1 / N 1/\sqrt N 1/ N の予想どおりです。 ラボ:採点される内容 粒子の重み 15点 フィルタされた平均 15点 観測の尤度 15点 リサンプリング後 10点 どの段階がデータを使うか 10点 毎日のサイクル 10点 用語を結び付ける 10点 なぜここでは粒子がカルマンに勝つのか 15点