Am häufigsten erfolgt die Abstimmung der Kalman-Filterrauschmatrizen durch Ausprobieren oder Domänenkenntnisse. Gibt es mehr grundsätzliche Möglichkeiten, um alle Kalman-Filterparameter abzustimmen?
quelle
Am häufigsten erfolgt die Abstimmung der Kalman-Filterrauschmatrizen durch Ausprobieren oder Domänenkenntnisse. Gibt es mehr grundsätzliche Möglichkeiten, um alle Kalman-Filterparameter abzustimmen?
Sie können experimentelle Daten abrufen und statistische Analysen durchführen, um das Prozessrauschen (Rauschen zwischen Zeitschritten) und das Sensorrauschen (im Vergleich zu einer Grundwahrheit) zu bestimmen.
Um die Wahrheit über das Grundrauschen des Sensors herauszufinden, benötigen Sie entweder einen genaueren Sensor oder Sie testen ihn experimentell, während Sie den interessierenden Zustand auf einem bekannten (normalerweise festen) Wert halten.
Wenn Sie keine experimentellen Daten haben, können Sie die Datenblätter oder Spezifikationen für jeden Sensor verwenden, um dessen Rauschen zu bestimmen. Das Prozessgeräusch wäre in diesem Fall schwieriger, aber Sie können möglicherweise seinen Wert erraten, indem Sie einen bestimmten Geräuschpegel annehmen, der beispielsweise auf einen Aktuator zurückzuführen ist, wenn der Aktuator die Hauptquelle für Prozessgeräusche ist.
Eine andere Möglichkeit besteht darin, die für die Schätzung maximal zulässige Einschwingzeit zu berücksichtigen. Dadurch wird das Verhältnis zwischen dem Prozessrauschen und dem Sensorrauschen bestimmt. Auf diese Weise können Sie den maximalen Filtereffekt erzielen und gleichzeitig Ihre Anforderungen an die Einschwingzeit erfüllen.
Beachten Sie, dass dies keine gute Möglichkeit zum Abstimmen des Verhältnisses zwischen verschiedenen Sensoren oder zwischen verschiedenen Zuständen bietet und daher nicht perfekt ist.
Grundsätzlich können Sie mit experimentellen Daten eine optimale Leistung erzielen. Andernfalls können Sie das Prozessrauschen nur berechnen, indem Sie das wahrscheinliche Rauschen des Hauptverursachers des Prozessrauschens annehmen oder die erforderliche Mindestleistung ermitteln (die nicht optimal ist, aber zumindest die erforderliche Leistung erbringt).
Im Bereich des maschinellen Lernens betrachten wir einen Kalman-Filter als Inferenzalgorithmus für ein latentes Variablenmodell. Die Messungen sind sichtbar, aber der wahre Zustand ist verborgen. Sie möchten nun die wahren Zustände ableiten.
Wie üblich stützt sich diese Methode auf eine Reihe von Parametern, und im Prinzip besteht die Möglichkeit, die beste Punktschätzung für die Parameter zu erhalten, darin, die Wahrscheinlichkeit für die Daten (unter Berücksichtigung der Parameter) zu untersuchen und die zu erhaltenden Parameter zu optimieren der maximale Wert. Dies gibt Ihnen die maximale Wahrscheinlichkeitsschätzung.
Leider ist dieser Ansatz beim Kalman-Filter nicht so einfach und in geschlossener Form umsetzbar. Dies liegt daran, dass wir die verborgenen Zustände nicht beobachten. Daher muss man einige Tricks anwenden. Eine davon ist die Verwendung des Expecation Maximization (EM) -Algorithmus, bei dem es sich um einen iterativen Ansatz handelt: Im ersten Schritt berechnen Sie den wahrscheinlichsten Wert für Ihre verborgenen Zustände (den erwarteten Wert) unter Ihren aktuellen Parametern. Im zweiten Schritt behalten Sie die verborgenen Zustände bei und optimieren die Parameter, um die Lösung mit der höchsten Wahrscheinlichkeit zu erhalten. Diese Schritte werden bis zur Konvergenz wiederholt.
Das allgemeine Konzept von EM können Sie in einer ganzen Reihe von Lehrbüchern zum maschinellen Lernen nachlesen (nur ein Beispiel: "Bayesian Reasoning and Machine Learning" von David Barber). Der Prozess der Ableitung der Parameter für lineare dynamische Systeme (der Ihnen den Kalman-Filtertyp des Modells gibt) ist in einem technischen Bericht von Zoubin Ghahramani und Geoffrey Hinton gut beschrieben .
Vielleicht möchten Sie "Ein Werkzeug für die Kalman-Filterabstimmung" von Bernt M. Åkesson, et. al. Es beschreibt die Autokovarianz-Methode der kleinsten Quadrate (ALS).