σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Particle filtering and non-stationary time series スキル›モジュール 2 · 粒子フィルタ›トピック 2.2·~1 時間 5 分上級

ブートストラップ粒子フィルタ

スキル上の位置モジュール 2/3 · トピック 2/5
2.2 ブートストラップ粒子フィルタ
—ラボスコア— / 100合計XP—連続日数—

状態を追いかける粒子の雲

粒子フィルタは、隠れ状態についての信念を NNN 個の粒子の雲として持ちます。各粒子は状態のありうる値で、その尤もらしさを表す重みをもちます。釣鐘形は仮定しないので、雲はどんな形にもなれます。毎日同じサイクルを回します。伝播:モデル自身のランダムな動きで各粒子を進める。重み付け:その粒子のもとでの今日の観測の尤度を重みとする。推定:フィルタされた平均は粒子の重み付き平均。リサンプリング:良い粒子はコピーされ、悪い粒子は消える新しい雲を引く。

xt(i)=xt−1(i)+q z(i),w(i)=p(yt∣xt(i)),m^t=∑iw~(i)xt(i),p^(yt)=1N∑iw(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)}xt(i)​=xt−1(i)​+q​z(i),w(i)=p(yt​∣xt(i)​),m^t​=i∑​w~(i)xt(i)​,p^​(yt​)=N1​i∑​w(i)(1)

提案分布が最も単純な、モデル自身の遷移なので、ブートストラップフィルタと呼ばれます。このとき粒子の重みはちょうど尤度になります。このレシピは、前向きにシミュレーションでき、観測の尤度を評価できるモデルならどれにでも使えるので、カルマンフィルタに厳密な答えがない非線形の状態、厚い裾、隠れたボラティリティも扱えます。代償はランダム性です。乱数が違えば答えも少し違い、誤差は 1/N1/\sqrt N1/N​ のように縮みます。実際には乱数のシードを固定して、実行を再現できるようにします。

4粒子での1サイクル伝播の後、4つの粒子は −1,0,1,2-1,0,1,2−1,0,1,2 にあり、r=1r=1r=1 で y=1y=1y=1 を観測します。尤度は 0.054, 0.242, 0.399, 0.2420.054,\ 0.242,\ 0.399,\ 0.2420.054, 0.242, 0.399, 0.242(1/2π1/\sqrt{2\pi}1/2π​ を含む正規密度)、重みは 0.058, 0.258, 0.426, 0.2580.058,\ 0.258,\ 0.426,\ 0.2580.058, 0.258, 0.426, 0.258 です。フィルタされた平均は 0.8850.8850.885。平均尤度 0.2340.2340.234 は観測がどれだけ起こりやすかったかの推定で、全日についてこの平均の対数を足したものがモデルの対数尤度です。リサンプリングでは、一様乱数 0.05, 0.5, 0.6, 0.90.05,\ 0.5,\ 0.6,\ 0.90.05, 0.5, 0.6, 0.9 を累積重み 0.058, 0.316, 0.742, 10.058,\ 0.316,\ 0.742,\ 10.058, 0.316, 0.742, 1 で探します。選ばれるのは粒子 1,3,3,41,3,3,41,3,3,4 で、新しい雲は −1,1,1,2-1,1,1,2−1,1,1,2、重みは等しく 0.250.250.25、平均は 0.750.750.75 です。
  • 1日4ステップ:伝播、重み付け、推定、リサンプリング。
  • 重み=尤度:今日の観測を見るのは重み付けの段階だけ。
  • シミュレーションできるどんなモデルでも:非線形・非ガウスの場合も扱えるが、代償として 1/N1/\sqrt N1/N​ 程度のランダム誤差が残る。
カルマンにどれだけ近いかカルマンフィルタが厳密になるアップルのベータモデルで、粒子500個のブートストラップフィルタは平均 0.0160.0160.016、2000個では 0.00650.00650.0065 だけカルマンとずれました。粒子を4倍にすると誤差がほぼ半分になり、1/N1/\sqrt N1/N​ の予想どおりです。

ラボ:採点される内容

  • 粒子の重み15点
  • フィルタされた平均15点
  • 観測の尤度15点
  • リサンプリング後10点
  • どの段階がデータを使うか10点
  • 毎日のサイクル10点
  • 用語を結び付ける10点
  • なぜここでは粒子がカルマンに勝つのか15点
0/ 8問回答済み
問題
1数値で答える15点未回答

−1,0,1,2-1,0,1,2−1,0,1,2 にある4つの粒子の尤度は 0.054, 0.242, 0.399, 0.2420.054,\ 0.242,\ 0.399,\ 0.2420.054, 0.242, 0.399, 0.242 で、合計は 0.9370.9370.937 です。111 にある粒子の正規化した重みはいくつですか。小数第3位まで答えてください。

w=w =w=許容:± 0.002
2数値で答える15点未回答

粒子 −1,0,1,2-1,0,1,2−1,0,1,2 の重みは 0.058, 0.258, 0.426, 0.2580.058,\ 0.258,\ 0.426,\ 0.2580.058, 0.258, 0.426, 0.258 です。粒子の重み付き平均であるフィルタされた平均はいくつですか。小数第3位まで答えてください。

m=m =m=許容:± 0.003
3数値で答える15点未回答

4つの粒子の尤度の合計は 0.9370.9370.937 です。フィルタは観測の確率をその平均で推定します。いくつですか。小数第3位まで答えてください。

p=p =p=許容:± 0.002
4数値で答える10点未回答

リサンプリングで粒子 −1, 1, 1, 2-1,\ 1,\ 1,\ 2−1, 1, 1, 2 が選ばれ、それぞれの重みは 0.250.250.25 になりました。新しい雲の平均はいくつですか。

m=m =m=許容:± 0.005
5選択10点未回答

ブートストラップフィルタで、今日の観測を見る段階はどれですか。

6手順を並べ替える10点未回答

ブートストラップフィルタの1日の手順を正しい順に並べてください。

ドラッグして並べ替えます。または項目にフォーカスし、スペースで持ち上げ、矢印キーで移動、スペースで置きます。

  1. 1雲をリサンプリングする
  2. 2モデルのランダムな動きで各粒子を動かす
  3. 3重み付き平均を推定値とする
  4. 4観測の尤度で各粒子に重みを付ける
7対応づけ10点未回答

各用語をその意味に結び付けてください。

左の各項目に対応するものを選んでください。

粒子
重み
伝播
リサンプリング
8言葉で説明する15点未回答

1〜2文で、モデルが非線形または非ガウスのときに粒子フィルタは使えるのに、カルマンフィルタは使えない理由を説明してください。

数学モードキーボードまたは LaTeX で入力問題1/8 · Ctrl ⏎ で確認

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける