Wann liefert ein Kalman-Filter bessere Ergebnisse als ein einfacher gleitender Durchschnitt?

14

Ich habe kürzlich einen Kalman-Filter am einfachen Beispiel der Messung einer Partikelposition mit einer zufälligen Geschwindigkeit und Beschleunigung implementiert. Ich habe festgestellt, dass der Kalman-Filter gut funktioniert, habe mich dann aber gefragt, was der Unterschied zwischen diesem und einem gleitenden Durchschnitt ist. Ich habe festgestellt, dass bei Verwendung eines Fensters mit etwa 10 Abtastwerten der gleitende Durchschnitt den Kalman-Filter übertraf und ich versuche, ein Beispiel für die Verwendung eines Kalman-Filters zu finden, das den Vorteil hat, nur den gleitenden Durchschnitt zu verwenden.

Ein gleitender Durchschnitt ist meiner Meinung nach weitaus intuitiver als der Kalman-Filter, und Sie können ihn blind auf das Signal anwenden, ohne sich Gedanken über den Zustandsraummechanismus zu machen. Ich habe das Gefühl, dass ich hier etwas Grundlegendes vermisse, und würde mich über jede Hilfe freuen, die jemand anbieten könnte.

dvreed77
quelle
Ich habe diesen Beitrag gesehen, aber meine Frage fragt nach einem Beispiel, wann ein Kalman-Filter bessere Ergebnisse liefert als ein gleitender Durchschnitt.
DVREED77
Wenn der gleitende Durchschnitt in Ihrer Anwendung ausreicht, benötigen Sie den Kalman-Filter (KF) nicht. Unter bestimmten Voraussetzungen liefert die KF die bestmögliche Schätzung. Entweder gelten diese Annahmen nicht für Ihre Anwendung, oder Ihre KF-Implementierung sollte überprüft werden.
Ali
Was sind diese Annahmen? Gaußsches Rauschen? Wenn ja, ist es das, was meine Simulation hinzufügt. Mein Code ist eine leicht modifizierte Version des Codes, den ich aus einer Signalverarbeitungsklasse erhalten habe. Ich habe ihn mit mehreren anderen Quellen verglichen und meine Aktualisierungs- und Vorhersagegleichungen sollten korrekt sein. Ich frage mich, ob der Grund, warum der gleitende Durchschnitt besser abschneidet, darin besteht, dass er die letzten 10 Stichproben verwendet, anstatt nur die letzte Stichprobe, die der KF verwendet. Obwohl ich denke, dass die Fehlerkovarianz mit jeder weiteren Stichprobe enger wird, bin ich verwirrt darüber, wie es dem MA besser geht.
DVREED77
und wenn es einen Unterschied macht, wenn ich äußere Leistung sage, meine ich, dass die MSE unter Verwendung des gleitenden Durchschnitts kleiner ist.
dvreed77

Antworten:

4

Die Schätzung eines gleitenden Durchschnitts wird hinter dem wahren Zustand zurückbleiben.

Angenommen, Sie möchten die Höhe eines Flugzeugs messen, das mit einer konstanten Geschwindigkeit ansteigt, und Sie haben laute (Gaußsche) Höhenmessungen. Ein Durchschnitt über ein Zeitintervall von lauten Höhenmessungen gibt Ihnen wahrscheinlich eine gute Schätzung, wo sich das Flugzeug in der Mitte dieses Zeitintervalls befand .

Wenn Sie ein größeres Zeitintervall für Ihren gleitenden Durchschnitt verwenden, ist der Durchschnitt genauer, er schätzt jedoch die Höhe des Flugzeugs zu einem früheren Zeitpunkt. Wenn Sie ein kleineres Zeitintervall für Ihren gleitenden Durchschnitt verwenden, ist der Durchschnitt ungenauer, schätzt jedoch die Höhe des Flugzeugs zu einem neueren Zeitpunkt.

Das heißt, die Verzögerung eines gleitenden Durchschnitts kann in einigen Anwendungen kein Problem darstellen.

Bearbeiten: Dieser Beitrag stellt die gleiche Frage und hat mehr Antworten und Ressourcen

Gerber
quelle
2

Ich stellte fest, dass der gleitende Durchschnitt bei Verwendung der ursprünglichen Parameter, die ich zum Einrichten des Problems verwendet hatte, besser lief, aber als ich anfing, mit den Parametern zu spielen, die mein dynamisches Modell definierten, stellte ich fest, dass der Kalman-Filter viel besser lief. Jetzt, da ich etwas eingerichtet habe, um die Auswirkungen der Parameter zu sehen, denke ich, dass ich eine bessere Vorstellung davon bekommen werde, was genau passiert. Vielen Dank an diejenigen, die geantwortet haben und es tut mir leid, wenn meine Frage vage war / ist.

dvreed77
quelle
1
Es kann für andere hilfreich sein, sich mit der Frage zu beschäftigen, wenn Sie reproduzierbaren Spielzeugcode in Ihre Antwort einfügen, damit sie "es in Aktion sehen" können. Persönlich neigen meine Antworten, die andere am meisten bewertet haben, dazu, reproduzierbaren Inhalt zu haben.
EngrStudent