粒子フィルターを理解するための数学的および統計的前提条件?


10

私は現在、粒子フィルターとそれらの財務での可能な使用法を理解しようとしており、私はかなり苦労しています。(i)パーティクルフィルターの基本にアクセスできるようにするため、および(ii)後でそれらを完全に理解するために、私が再検討する必要がある数学的および統計的な前提条件(定量的ファイナンスの背景から)は何ですか?私はまだカバーしていない状態空間モデルを除いて、大学院レベルの時系列計量経済学に関する確かな知識を持っています。

ヒントは大歓迎です!


4
ベイジアン統計は(IMHO)主題にとって重要です。束を知る必要はありません。それに関連する用語(事前、尤度、事後など)と、それらがモデリングの仮定からどのように発生するかを理解してください
Yair Daon

1
Doucetの論文を読むのは素晴らしいアイデアだと思います。彼は本当に優れた作家です。彼のウェブサイトには、スライド、講義、ビデオなどの包括的なリソースリストがあります。彼はまた彼の同僚の一人からの別の包括的なリストを含んでいます。
bdeonovic 2016年

回答:


9

ほんのいくつかの基本的な概念で驚くほど遠くまで行くことができます。表記法、変数の爆発などで物事複雑に見える場合がありますが、パーティクルフィルタリングのコアアイデアは非常に単純です。

あなたが理解する必要がある(そしておそらくすでにそうしている!)いくつかの基本的な確率:

  • P(X=x)=iP(X=x,Y=yi)
  • P(XY)=P(X,Y)P(Y)
  • P(XY)=P(YX)P(X)P(Y)
  • ベイジアン用語:例 事前、可能性、事後(+1 @Yair Daon、同意する!)

パーティクルフィルターの基本的な手順は非常に簡単です。

最初:

  • いくつかの隠された状態についてのいくつかの信念から始めます。たとえば、ロケットが発射台にあるという信念から始めることができます。(パーティクルフィルターでは、隠された状態に関する信念は点の雲で表されます。各点は隠された状態の可能な値を示します。各点は、状態が真の状態である確率にも関連付けられます。)

tt+1

  1. 予測ステップ:運動の法則に基づいてポイントの位置を進めます。(たとえば、ロケットの現在の速度、軌道などに基づいてポイントを前方に移動します...)。これは通常、不確実性が増加するにつれて点群を拡張します。
  2. 確率更新ステップ:データ、センサー入力を使用して、ベイズルールを使用してポイントに関連付けられた確率を更新します。これは通常、不確実性が減少するため、点群に折りたたまれます。
  3. パーティクルフィルタリングの特定のステップ/トリックをいくつか追加します。例えば。:
    • ときどきポイントをリサンプリングして、各ポイントの確率が等しくなるようにします。
    • ノイズを混ぜて、確率ステップ(2)がポイントのクラウドを過度に崩壊させないようにします(パーティクルフィルタリングでは、正の確率を持つ少なくとも1つのポイントが実際の場所に漠然と存在することが重要です!)

例:

フィルターを初期化します。-立っている場所を確認します。目を閉じてください。

次に反復します:

  1. 目を閉じて前に進みます。
  2. 予測ステップ:自分立っていた場所についての過去の信念を踏まえて、現在の自分がどこに立っているかを予測します。(目を閉じた状態での前進はそれほど正確ではないため、不確実性がどのように拡大するかに注意してください!)
  3. 更新手順:センサーを使用して(たとえば、周囲の感触など)、自分が立っている場所についての信念を更新します。

繰り返す!

実装に必要な確率機構は、基本的には基本的な確率です。ベイズ規則、限界分布の計算など...

全体像の理解に役立つ可能性のある関連性の高いアイデア:

ある意味では、ステップ(1)と(2)はベイズフィルタリングの問題に共通です。おそらく関連するいくつかの関連性の高い概念:

  • 隠れマルコフモデル。現在の状態を考えると、過去が未来から独立している場合、プロセスはマルコフです。ほとんどすべての時系列は、ある種のマルコフプロセスとしてモデル化されます。A 隠れマルコフモデルは、状態が直接(例えば。あなたが直接あなたのロケットの正確な位置を観察しておらず、代わりに、ベイジアンフィルタを介してそれの位置を推測決して)が観察されていないものです。
  • カルマンフィルター。これは、一般的に使用されているパーティクルフィルタリングの代替手段です。基本的には、すべてが多変量ガウスであると想定されるベイジアンフィルターです。

2

まず、コーディングが容易な状態空間モデルと閉形式フィルタリング(カルマンフィルター、隠れマルコフモデル)について学習する必要があります。Matthew Gunnは正解です。単純な概念で驚くほど遠くまで到達できますが、私の考えでは、これを中間目標にする必要があります。

1.)相対的に言えば、状態空間モデルにはより多くの可動部分があります。SSMまたは隠れマルコフモデルを学習する場合、多くの表記法があります。これは、物事を確認して遊んでいる間、作業メモリに保持する必要のあるものがさらにあることを意味します。個人的に、最初にカルマンフィルターと線形ガウスSSMについて学習していたとき、基本的には「これはすべて多変量正規ベクトルのプロパティにすぎない...どの行列がどれであるかを追跡する必要があるだけだ」と考えていました。また、本を切り替えると、表記が変わることがよくあります。

その後、私はそれについて「ええ、これはすべての時点でのベイズの規則にすぎない」と考えました。このように考えると、カルマンフィルターの場合のように、共役族が優れている理由がわかります。離散状態空間を備えた隠れマルコフモデルをコード化すると、尤度を計算する必要がない理由がわかり、フィルタリング/平滑化が簡単です。(私は、ここでは従来の専門用語から逸脱していると思います。)

2.)これらの多くをコーディングすることに歯を磨くと、状態空間モデルの定義がいかに一般的であるかを理解できます。すぐに、使用したいモデルを書き留めると同時に、使用できない理由を確認します。最初に、慣れている2つの形式のいずれかでそれを書き留めることができないことが最終的にわかります。もう少し考えてみると、ベイズの法則を書き留めておくと、問題は、データのある種の可能性を計算できないことです。

したがって、これらの事後分布(状態の分布の平滑化またはフィルタリング)を計算することに失敗することになります。これを処理するために、おおよそのフィルタリングに関するものがたくさんあります。パーティクルフィルタリングはその1つにすぎません。パーティクルフィルタリングの主なポイント:計算できないため、これらの分布からシミュレーションします。

どのようにシミュレートしますか?ほとんどのアルゴリズムは、重要度サンプリングの一部の変形にすぎません。ただし、ここでも複雑になります。DoucetとJohansenによるチュートリアルペーパー(http://www.cs.ubc.ca/~arnaud/doucet_johansen_tutorialPF.pdf)をお勧めします。クローズドフォームフィルタリングがどのように機能するかを理解すると、重要度サンプリングの一般的な概念が紹介され、次にモンテカルロ法の一般的な概念が紹介されます。次に、これら2つを使用して優れた財務時系列の例を開始する方法を示します。私見、これは私が遭遇した粒子フィルタリングに関する最高のチュートリアルです。

ミックスに2つの新しいアイデア(重要度のサンプリングとモンテカルロ法)を追加することに加えて、現在はより多くの表記法があります。あなたが今からサンプリングしているいくつかの密度; 評価しているものもあれば、それらを評価するときはサンプルで評価しているものもあります。すべてをコード化した結果、重み付けされたサンプル、つまりパーティクルと見なされます。彼らはすべての新しい観察の後に変わります。これらすべてを一度に取得するのは非常に困難です。それはプロセスだと思います。

私が謎めいた、または手を振ってしまったことをお詫び申し上げます。これは、私がこの主題に慣れるためのタイムラインにすぎません。マシューガンの投稿はおそらくあなたの質問にもっと直接的に答えます。私はこの反応を放棄するだろうと考えました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.