Mathematische und statistische Voraussetzungen zum Verständnis von Partikelfiltern?


10

Ich versuche gerade, Partikelfilter und ihre möglichen Anwendungen im Finanzbereich zu verstehen, und ich habe ziemlich viel zu kämpfen. Was sind die mathematischen und statistischen Voraussetzungen, die ich überdenken sollte (vor dem Hintergrund der quantitativen Finanzierung), um (i) die Grundlagen von Partikelfiltern zugänglich zu machen und (ii) sie später gründlich zu verstehen? Ich habe solide Kenntnisse in der Zeitreihenökonometrie auf Graduiertenebene, mit Ausnahme von Zustandsraummodellen, die ich noch nicht behandelt habe.

Alle Hinweise werden sehr geschätzt!


4
Die Bayes'sche Statistik ist (IMHO) für das Thema wichtig. Sie müssen keine Gruppe kennen, stellen Sie nur sicher, dass Sie die damit verbundenen Begriffe (z. B. Prior, Likelihood, Posterior) und deren
Entstehung

1
Ich denke, Doucets Papiere zu lesen ist eine großartige Idee, er ist ein wirklich guter Schriftsteller. Auf seiner Website hat er eine umfassende Liste von Ressourcen einschließlich Folien / Vorträgen und Videos! Er enthält auch eine weitere umfassende Liste von einem seiner Kollegen.
Bdeonovic

Antworten:


9

Mit nur wenigen Grundkonzepten können Sie schockierend weit kommen. Notation, eine Explosion von Variablen usw. können die Dinge kompliziert aussehen lassen , aber die Kernidee der Partikelfilterung ist bemerkenswert einfach.

Einige grundlegende Wahrscheinlichkeiten, die Sie verstehen müssten (und wahrscheinlich bereits tun müssen!):

  • Berechnung der Randverteilung :P(X=x)=iP(X=x,Y=yi)
  • Def. Bedingte Wahrscheinlichkeit:P(XY)=P(X,Y)P(Y)
  • Bayes-Regel:P(XY)=P(YX)P(X)P(Y)
  • Bayesianische Begriffe: z. vorher, Wahrscheinlichkeit, posterior (+1 @Yair Daon, ich stimme zu!)

Die grundlegenden Schritte eines Partikelfilters sind unglaublich einfach:

Zuerst:

  • Beginnen Sie mit einigen Überzeugungen über einen verborgenen Zustand. Sie können beispielsweise mit der Annahme beginnen, dass sich Ihre Rakete auf der Startrampe befindet. (In einem Partikelfilter werden Überzeugungen über den verborgenen Zustand mit einer Punktwolke dargestellt. Jeder Punkt bezeichnet einen möglichen Wert des verborgenen Zustands. Jeder Punkt ist auch mit einer Wahrscheinlichkeit verbunden, dass der Zustand der wahre Zustand ist.)

Anschließend wiederholen Sie die folgenden Schritte, um von Zeitpunkt auf Zeitpunkt zu aktualisieren :t + 1tt+1

  1. Vorhersageschritt: Verschieben Sie die Position von Punkten basierend auf dem Bewegungsgesetz vorwärts . (z. B. Punkte vorwärts bewegen, basierend auf der aktuellen Geschwindigkeit, Flugbahn usw. der Rakete usw.). Dies erweitert normalerweise die Punktwolke, wenn die Unsicherheit zunimmt.
  2. Schritt zur Aktualisierung der Wahrscheinlichkeit : Verwenden Sie Daten und Sensoreingaben, um die mit Punkten verbundenen Wahrscheinlichkeiten mithilfe der Bayes-Regel zu aktualisieren . Dies wird normalerweise die Punktwolke zurückfallen lassen, wenn die Unsicherheit verringert wird.
  3. Fügen Sie einige Schritte / Tricks zur Partikelfilterung hinzu. Z.B. ::
    • Probieren Sie Ihre Punkte gelegentlich neu aus, sodass jeder Punkt die gleiche Wahrscheinlichkeit hat.
    • Mischen Sie etwas Rauschen ein und verhindern Sie, dass Ihr Wahrscheinlichkeitsschritt (2) Ihre Punktwolke zu stark kollabiert (bei der Partikelfilterung ist es wichtig, dass sich mindestens ein Punkt mit positiver Wahrscheinlichkeit vage an Ihrem wahren Standort befindet!).

Beispiel:

Initialisieren Sie Ihren Filter: - Sehen Sie sich Ihren Standort an, an dem Sie stehen. Jetzt schließe deine Augen.

Dann iterieren Sie:

  1. Machen Sie einen Schritt vorwärts mit geschlossenen Augen.
  2. Vorhersageschritt: Wenn Sie in der Vergangenheit davon überzeugt waren , wo Sie standen , sagen Sie voraus, wo Sie jetzt stehen, und geben Sie einen Schritt nach vorne. (Beachten Sie, wie sich die Unsicherheit erweitert, weil Ihr Schritt nach vorne mit geschlossenen Augen nicht sehr präzise ist!)
  3. Aktualisierungsschritt: Verwenden Sie Sensoren (z. B. Herumfühlen usw.), um Ihre Überzeugungen darüber zu aktualisieren, wo Sie stehen.

WIEDERHOLEN!

Die zur Implementierung erforderliche Wahrscheinlichkeitsmaschinerie ist im Grunde genommen nur eine Grundwahrscheinlichkeit: Bayes-Regel, Berechnung der Randverteilung usw.

In hohem Maße verwandte Ideen, die helfen könnten, das Gesamtbild zu verstehen:

In gewissem Sinne sind die Schritte (1) und (2) jedem Bayes'schen Filterproblem gemeinsam . Einige sehr verwandte Konzepte, über die Sie möglicherweise lesen sollten:

  • Verstecktes Markov-Modell . Ein Prozess ist Markov, wenn die Vergangenheit angesichts des aktuellen Zustands unabhängig von der Zukunft ist. Fast jede Zeitreihe wird als eine Art Markov-Prozess modelliert. Ein Hidden- Markov-Modell ist ein Modell, bei dem der Zustand nicht direkt beobachtet wird (z. B. Sie beobachten niemals direkt den genauen Standort Ihrer Rakete und schließen stattdessen den Standort durch einen Bayes'schen Filter ab).
  • Kalman Filter . Dies ist eine Alternative zur häufig verwendeten Partikelfilterung. Es ist im Grunde ein Bayes'scher Filter, bei dem angenommen wird, dass alles multivariate Gauß'sche Filter sind.

2

Sie sollten zuerst etwas über einfacher zu codierende Zustandsraummodelle und Filterung in geschlossener Form lernen (z. B. Kalman-Filter, Hidden-Markov-Modelle). Matthew Gunn hat Recht, dass Sie mit einfachen Konzepten überraschend weit kommen können, aber meiner bescheidenen Meinung nach sollten Sie dies zu einem Zwischenziel machen, weil:

1.) Relativ gesehen gibt es in Zustandsraummodellen mehr bewegliche Teile. Wenn Sie SSMs oder Hidden-Markov-Modelle lernen, gibt es viele Notationen. Dies bedeutet, dass Sie mehr Dinge in Ihrem Arbeitsgedächtnis behalten müssen, während Sie mit der Überprüfung der Dinge herumspielen. Als ich persönlich zuerst etwas über Kalman-Filter und linear-Gaußsche SSMs lernte, dachte ich im Grunde: "Das sind alles nur Eigenschaften multivariater Normalvektoren ... Ich muss nur verfolgen, welche Matrix welche ist." Wenn Sie zwischen Büchern wechseln, ändern sie häufig die Notation.

Danach dachte ich darüber nach wie "eh, das ist alles nur Bayes 'Regel zu jedem Zeitpunkt." Wenn Sie es so sehen, verstehen Sie, warum konjugierte Familien nett sind, wie im Fall des Kalman-Filters. Wenn Sie ein verstecktes Markov-Modell mit seinem diskreten Zustandsraum codieren, sehen Sie, warum Sie keine Wahrscheinlichkeit berechnen müssen und das Filtern / Glätten einfach ist. (Ich glaube, ich weiche hier vom konventionellen hmm-Jargon ab.)

2.) Wenn Sie sich beim Codieren vieler dieser Zähne die Zähne abschneiden, werden Sie feststellen, wie allgemein die Definition eines Zustandsraummodells ist. Ziemlich bald werden Sie Modelle aufschreiben, die Sie verwenden möchten, und gleichzeitig sehen, warum Sie dies nicht können. Zuerst werden Sie irgendwann feststellen, dass Sie es einfach nicht in einer dieser beiden Formen aufschreiben können, die Sie gewohnt sind. Wenn Sie etwas mehr darüber nachdenken, schreiben Sie die Bayes-Regel auf und sehen, dass das Problem darin besteht, dass Sie nicht in der Lage sind, eine Wahrscheinlichkeit für die Daten zu berechnen.

Sie werden also möglicherweise nicht in der Lage sein, diese posterioren Verteilungen zu berechnen (Glättungs- oder Filterverteilungen der Zustände). Um dies zu gewährleisten, gibt es viele ungefähre Filterelemente. Partikelfilterung ist nur eine davon. Das Wichtigste bei der Partikelfilterung: Sie simulieren aus diesen Verteilungen, weil Sie sie nicht berechnen können.

Wie simulierst du? Die meisten Algorithmen sind nur eine Variante der Wichtigkeitsabtastung. Aber auch hier wird es komplizierter. Ich empfehle dieses Tutorial von Doucet und Johansen ( http://www.cs.ubc.ca/~arnaud/doucet_johansen_tutorialPF.pdf ). Wenn Sie wissen, wie die Filterung geschlossener Formulare funktioniert, führen sie die allgemeine Idee der Wichtigkeitsabtastung und dann die allgemeine Idee der Monte-Carlo-Methode ein und zeigen Ihnen dann, wie Sie diese beiden Dinge verwenden, um mit einem schönen Beispiel für finanzielle Zeitreihen zu beginnen. IMHO, dies ist das beste Tutorial zur Partikelfilterung, das mir begegnet ist.

Zusätzlich zum Hinzufügen von zwei neuen Ideen zum Mix (Wichtigkeitsabtastung und Monte-Carlo-Methode) gibt es jetzt mehr Notation. Einige Dichten, die Sie ab sofort abtasten; Einige bewerten Sie, und wenn Sie sie bewerten, bewerten Sie anhand von Stichproben. Das Ergebnis, nachdem Sie alles codiert haben, sind gewichtete Proben, die als Partikel betrachtet werden. Sie ändern sich nach jeder neuen Beobachtung. Es wäre sehr schwer, all dies auf einmal aufzunehmen. Ich denke, es ist ein Prozess.

Ich entschuldige mich, wenn ich als kryptisch oder handgewellt rüberkomme. Dies ist nur die Zeitleiste für meine persönliche Vertrautheit mit dem Thema. Matthew Gunns Beitrag beantwortet Ihre Frage wahrscheinlich direkter. Ich dachte nur, ich würde diese Antwort wegwerfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.