Ich habe versucht, Kalman Filter zu verstehen. Hier sind einige Beispiele, die mir bisher geholfen haben: Diese verwenden den Algorithmus, um einige konstante Spannung abzuschätzen. Wie könnte mit einem Kalman-Filter für diese besser sein als nur halten einen laufenden Durchschnitt sind diese Beispiele nur vereinfacht Anwendungsfälle des Filters (Wenn ja, was ist ein Beispiel, wo ein laufender Durchschnitt nicht ausreichen) Zum Beispiel betrachten die folgenden Java-Programm und Ausgabe . Die Kalman-Ausgabe entspricht nicht dem Durchschnitt, aber theyre sehr nah. Warum wählen Sie eine über die anderen JA ist es zu vereinfacht Beispiel, mehr irreführend als Bildung. Wenn ja, was ist ein Beispiel, wo ein laufender Durchschnitt reicht nicht Jeder Fall, wenn Signal ändert. Stellen Sie sich bewegende Fahrzeug. Mittelwertberechnung bedeutet, dass wir von jedem Zeitpunkt aus einen Signalwert annehmen, um gleichermaßen wichtig zu sein. Offensichtlich ist es falsch. Intuition sagt, die letzte Messung ist zuverlässiger als die von einer Stunde vor. Ein sehr schönes Beispiel zum Experimentieren ist von der Form frac. Es hat einen Zustand, so dass die Gleichungen nicht kompliziert wird. In diskreter Zeit könnte es wie folgt aussehen: Theres den Code, der es verwendet (Im sorry seine Matlab, ich habe nicht Python vor kurzem verwendet): Es gibt einige Tipps: immer Q und R größer als Null gesetzt. Fall Q 0 ist SEHR SCHLECHTES Beispiel. Du sagst zu dem Filter: es gibt keine Störung, die auf die Pflanze wirkt, so daß nach einer Weile der Filter nur auf seine Vorhersagen basiert, die auf dem Modell basieren und nicht auf Messungen basieren. Mathematisch gesprochen Kk zu 0. Wie wir wissen, Modelle beschreiben die Realität nicht perfekt. Experimentieren Sie mit einer Modell-Ungenauigkeit - modelError Ändern Sie die anfängliche Schätzung des Zustands (xpost (1)) und sehen Sie, wie schnell es für verschiedene Q-, R - und erste Ppost konvergiert (1) Überprüfen Sie, wie sich die Filterverstärkung K im Laufe der Zeit in Abhängigkeit von Q und ändert R beantwortet Okt 3 12 at 22:37 In der Tat, sie sind die gleiche Sache in gewissem Sinne, werde ich zeigen, Ihre etwas hinter Kalman Filter und Sie werden überrascht sein. Betrachten Sie das folgende einfachste Problem der Schätzung. Wir erhalten eine Reihe von Messungen z1, z2, cdots, zk einer unbekannten Konstanten x. Wir nehmen an, dass der additive Modellanfang zi x vi, i1,2, cdots, k (1) end ist, wobei vi Messgeräusche sind. Wenn nichts anderes bekannt ist, dann wird jeder einverstanden sein, daß eine vernünftige Schätzung von x bei den k Messungen gegeben werden kann durch Anfangshut k frac sum zi Nun können wir über eq. (2) durch einfache algebraische Manipulation wieder anfangen, um Hut zu bekommen (3) Die Gleichung (3), die in rekursiver Form einfach die Gleichung (2) ist, hat eine interessante Interpretation. Sie sagt, dass die beste Schätzung von x nach k Messung die beste Schätzung von x nach k-1 Messungen plus einem Korrekturterm ist. Der Korrekturterm ist die Differenz zwischen dem, was Sie erwarten, auf der Grundlage der k-1-Messung zu messen, d. h. und was Sie tatsächlich messen, zk. Wenn wir die Korrektur frac als Pk beschreiben, dann kann wiederum einfach algebraische Manipulation die rekursive Form von Pk als Anfang schreiben PkP - P (P 1) P Glauben Sie es oder nicht, Gleichungen (3-4) können als Kalman-Filter erkannt werden Gleichungen für diesen einfachen Fall. Jede Diskussion ist willkommen. Um etwas Geschmack, sehen Sie diese Liste der Bücher: Ich habe GrewalAndrews mit MatLab, auch GrewalWeillAndrews über GPS. Das ist das grundlegende Beispiel, GPS. Hier ist ein vereinfachtes Beispiel, interviewte ich für einen Job, wo sie waren schriftlich Software für die Verfolgung aller LKW gehen in und aus einer riesigen Lieferung Hof, für Walmart oder dergleichen. Sie hatten zwei Arten von Informationen: basierend auf dem Einsetzen eines RFID-Geräts in jedem LKW, hatten sie ziemlich gute Informationen über die Richtung jedes Lkw ging mit Messungen möglich viele Male pro Sekunde, aber schließlich wachsen in Fehler, wie jede im Wesentlichen ODE-Näherung. Auf einer viel längeren Zeitskala konnten sie die GPS-Position eines Lkws nehmen, der eine sehr gute neutrale Lage bietet, aber eine große Abweichung hat, man bekommt Position innerhalb von 100 Metern oder so. Wie diese Thats die Hauptnutzung des Kalman-Filters zu kombinieren, wenn Sie zwei Quellen von Informationen, die etwa entgegengesetzte Arten von Fehler. Meine Idee, die ich ihnen gesagt hätte, wenn sie mich bezahlt hätten, war, ein Gerät auf jedem Semi zu platzieren, wo das Fahrerhaus den Anhänger traf, was dem aktuellen Wenderadius entspricht. Dies könnte integriert worden sein, um sehr gute Kurzzeit-Informationen über die Richtung zu liefern, in die der Lastwagen fuhr. Nun, das ist, was sie mit fast etwas bewegen heutzutage tun. Die, die ich dachte, war niedlich war Farmen in Indien, verfolgen, wo Traktoren waren. Der bewegte Körper muss sich nicht schnell bewegen, um die gleichen Fragen zu bewirken. Aber natürlich war die erste große Nutzung der NASA Apollo-Projekt. Mein Vater traf Kalman irgendwann. Dad arbeitete hauptsächlich auf der Navigation, zunächst Raketen für die Armee, später U-Boote für die Marine. Antwort # 2 am: Mai 19, 2010, 07:10:25 am »Kalkman Filter - New Moving Average Registriert seit: May 2008 Status: Mitglied 58 Beiträge Beigefügt ist die complied Version für die mehrere Zeitrahmen und Einzelzeitrahmen Kalman Filter. Denken Sie nur an es als eine andere Art von exponentiellen gleitenden Durchschnitt. Die Einstellungen sind einfach. Für AppliedPrice verwenden Sie die folgenden: 0 - Open Preis 1 - Low Price 2 - High Price 3 - Close Price Ich habe keine anderen Arten von Preisen hinzugefügt, und aufgrund der Natur des Filters werde ich nicht mehr hinzufügen in beiden. Ich möchte erwähnen, dass die Zeit ein wenig anders ist, als Sie es in MAs gewöhnt sind. Es ist immer noch technisch das gleiche wie die Periode in einem EMA, aber aufgrund der Natur der Kalman-Filter, die die Periode hat nicht die gleiche Wirkung wie bei anderen beweglichen Durchschnitten. Sie können mit ihm spielen, aber ein persönlicher Vorschlag ist, den Zeitraum auf 20.50.100 oder höher zu halten. Der Kalman ist für einige generische Einstellungen jetzt eingerichtet, aber wenn jemand den Ehrgeiz hat, mit den Matrizen, die es für Berechnungen verwendet verwirren, lassen Sie mich wissen, und ich werde den Code schießen Sie Ihren Weg. Da, wie Sie feststellen, die normale Kalman cant wirklich effektiv eine langfristige Tendenzindikator wie ein 200 SMA ist, können Sie die mehrfache Zeitrahmenversion benutzen, um das Kalman auf längeren Zeitrahmen laufen zu lassen und dieses als quottrend indicator. quot persönlich zu verwenden Ich bevorzuge dies, da es weniger Verzögerung schafft und simuliert das Mitschneiden bei längeren Diagramm, um sicherzustellen, Signale Matchquot Theorie. Eine Idee ist, eine Daily oder H4 Kalman auf einer 15 oder 30 min Diagramm, und verwenden Sie es, um die langfristige Trend für diesen Tag spielen. Ich habe gerade beendet Debugging der Indikator heute, und obwohl sehr nützlich, ist diese Version des Indikators nicht wirklich mein Fokus jetzt. Ich arbeite an Optimierung es für meine spezifischen Bedürfnisse, die einige schwere mathematische Arbeit beinhaltet, aber diese Version ist Setup, um ein quotmiddle manquot in der Glätte vs Reaktionszeit Kampf, dass MAs immer Erfahrung sein. Darüber hinaus habe ich gerade diese heute habe ich nicht über eine Strategie, die derzeit angewendet wird, und ich habe nicht einen goldenen Weg zum Reichtum nur mit einem glatten Filter. Verwenden Sie den Filter, wie Sie möchten, vielleicht, wenn Sie Spielzeug herum mit ihm und kreativ es nur seinen Weg in Ihre nächste Trading-Strategie zu finden. Verschiedene Kalman-Perioden - Blue: 500 Kalman - Lichtblau: 200 Kalman - Grün: 100 Kalman - Red: 50 Kalman - Orange: 20 Kalman i295.photobucketalbumsm. Manperiods. gif Kissn den ganzen Weg nach oben Mitglieder müssen mindestens 0 Gutscheine in diesem Thread posten. 1 Händler, der jetzt betrachtet wird Forex Factoryreg ist ein eingetragenes Warenzeichen. Dieser Thread fragt, wann ein diskreter Zeit-Kalman-Filter besser ist als ein einfacher gleitender Durchschnitt der Beobachtungen: theres keine endgültige Antwort. Kann jemand ein endgültiges Beispiel geben, wo der kalman-Filter, idealerweise im einfachen 1D-Fall, etwas anderes (und besser) als einen gleitenden Durchschnitt macht und die Bedingungen angibt, wenn der kalman-Filter auf einen einfachen gleitenden Durchschnitt reduzieren würde Kalman-Filter würde nicht alle Datenpunkte gleichmäßig wiegen, weil seine Varianz anfänglich kleiner ist und mit der Zeit besser wird. Aber es klingt wie das wäre nur in der Nähe von Anfangsbeobachtungen und dass, sobald die Varianz konvergiert, würde die kalman Filter jede Beobachtung gleichermaßen wie ein gleitender Durchschnitt wiegen, also nicht sehen, wenn die beiden unterschiedlich sind und warum, wenn der Filter besser machen würde. Fragte am 17. Februar 15 um 23:52 als erste Antwort (mit den meisten Stimmen) sagt, ist der kalman Filter besser in jedem Fall, wenn Signal ändert sich. Beachten Sie die Problem-Anweisung Verwenden Sie den Algorithmus, um einige konstante Spannung abzuschätzen. Wie könnte mit einem Kalman-Filter für diese besser als nur halten einen laufenden Durchschnitt sind diese Beispiele nur vereinfacht Einsatzfälle des Filters mit einem kalman-Filter, um eine konstante Spannung zu schätzen ist definitiv, overkill. In diesem speziellen Problem ist es besser, den laufenden Durchschnitt zu verwenden, den wir kennen, ist der beste Schätzer für Gaußsche Verteilungen. In diesem Beispiel ist die gemessene Spannung die tatsächliche Spannung V, aber mit einem Rauschen, das typischerweise als 0 mittleres Gaussian (weißes Rauschen) modelliert ist. So dass unsere Messungen Gaußsche mit meanV und Sigmasigma-Rauschen sind. Der kalman-Filter eignet sich besser zum Schätzen von Dingen, die sich mit der Zeit ändern. Das greifbarste Beispiel ist das Verfolgen von sich bewegenden Objekten. Lässt sich vorstellen, einen Ball zu werfen, wir wissen, dass es einen parabolischen Bogen macht, aber was werden unsere Schätzer zeigen, dass ein Kalman-Filter sehr nahe an der tatsächlichen Flugbahn liegt, weil es die neueste Messung ist wichtiger als die älteren sagt (wenn die Kovarianz Niedrig ist). Der laufende Durchschnitt nimmt alle Messungen gleich Blau-Ball-Trajektorie, rot-laufender Durchschnitt (sorry kein kalman, wenn ich Zeit krank es in dort werfen, wenn ich Zeit habe, aber es würde mir viel näher an der blauen Linie vorausgesetzt, dass Sie das System gut modelliert ) Der Kalman-Filter auf der anderen Seite sagt, wenn unsere Konvarianz und Rest waren klein (was bedeutet, wir hatten eine gute Schätzung), dann werden wir bleiben mit früheren Schätzung und tweak es ein kleines bisschen auf der Grundlage der restlichen (oder unsere Einschätzung Fehler). Jetzt, da unser xhat kk sehr nah an dem tatsächlichen Zustand ist, wenn wir das nächste Update machen, werden wir einen Systemzustand verwenden, der genau dem tatsächlichen Zustand entspricht. Bei x30 bedeutet der laufende Durchschnitt, dass die Anfangsbedingung y (0) genauso wichtig ist wie y (29), und das ist ein großer Fehler. Die kalman Filter für diese. Es sagte, da unsere Fehler letzten Mal war riesig, können wir eine drastische Veränderung unserer Schätzung (unsere xhat), so dass, wenn wir es für die nächste Aktualisierung verwenden, wird es näher an dem, was tatsächlich passiert ist, hoffe ich, dass einige Sinn macht ich gerade bemerkt Ihre Frage fragt nach einem gleitenden Durchschnitt vs kalman. Ich antwortete ausgeführt avg vs kalman (das ist das Thema der Link, den Sie zur Verfügung gestellt) Nur um ein wenig mehr Informationen speziell auf die bewegenden (Fenster) Durchschnitt hinzuzufügen. Der gleitende Durchschnitt ist eine bessere Schätzung der sich verändernden Werte. Da es nur neuere Proben berücksichtigt. Leider hat es eine Verzögerung mit ihm verbunden, vor allem um sich ändernde Derivate (nur in der Nähe von t30, wo die Ableitung geht von positiven zu negativen). Dies liegt daran, dass der Durchschnitt ist langsam, um Fluktuation zu sehen. Das ist typisch, warum wir es verwenden, um Fluktuation (Lärm) zu entfernen. Auch die Fenstergröße spielt eine Rolle. Ein kleineres Fenster ist in der Regel näher an den Messwerten, was sinnvoll und klingt gut, rechts Der Nachteil dieser ist, wenn Sie laute Messungen haben, bedeutet ein kleines Fenster mehr Lärm zeigt sich mehr in der Ausgabe. Schauen wir uns die andere Frage noch einmal mit den Mittelwerten .5, Sigma .1 z 0.3708435, 0.4985331, 0.4652121. Der Durchschnitt der ersten 3 Abtastwerte 0.4448629 nicht genau in der Nähe des Erwartungswertes von .5 liegt. Dies zeigt wiederum, dass mit dem kleineren Fenster Rauschen eine tiefere Wirkung auf den Ausgang hat. Also dann logisch unser nächster Schritt ist, größere Fenster zu nehmen, um unsere Störfestigkeit zu verbessern. Nun, fällt aus größeren Fenstern sind sogar langsamer, um tatsächliche Änderungen zu reflektieren (wieder auf t30 in meinem Diagramm zu betrachten) und der extremste Fall von Fensterung ist im Grunde der laufende Durchschnitt (die wir bereits wissen, ist schlecht für die Änderung von Daten) Jetzt zurück zu den magischen Kalman-Filter. Wenn man darüber nachdenkt es ähnlich einem 2-Sample gefenstert Durchschnitt (ähnlich nicht das gleiche). Schauen Sie sich X kk im Update-Schritt an, es nimmt den vorherigen Wert und fügt eine gewichtete Version des aktuellen Samples hinzu. Sie könnten denken, auch was über Lärm Warum ist es nicht anfällig für das gleiche Problem wie fenstered Durchschnitt mit einer kleinen Stichprobengröße Weil die kalman Filter berücksichtigt die Unsicherheit der einzelnen Messungen. Der Gewichtungswert K (kalman gain) kann jedoch als Verhältnis zwischen der Kovarianz (Unsicherheit) Ihrer Schätzung und der Kovarianz (Unsicherheit) der aktuellen Schätzung (eigentlich ihr Restwert, aber ihre leichter zu denken, so) . Wenn also die letzte Messung eine große Unsicherheit aufweist, nimmt K ab, und somit spielt die jüngste Probe eine kleinere Rolle. Wenn die letzte Messung eine geringere Unsicherheit als die Vorhersage aufweist, erhöht sich k, und die neue Information spielt in der nächsten Schätzung eine größere Rolle. So auch mit einer kleinen Stichprobengröße, die kalman Filter ist immer noch blockiert eine Menge des Lärms. Wie auch immer, ich hoffe, dass die Antworten auf die Fenster-avg vs kalman Frage nun beantwortet 18 Februar, um 3:34 Eine andere nehmen: Die Kalman Filter können Sie weitere Informationen darüber, wie das System Sie Filterung funktioniert. Mit anderen Worten, Sie können ein Signalmodell verwenden, um die Ausgabe des Filters zu verbessern. Natürlich kann ein gleitender Filter sehr gute Ergebnisse liefern, wenn man eine nahezu konstante Leistung erwartet. Aber sobald das Signal, das Sie modellieren, dynamisch ist (denken Sie Sprach - oder Positionsmessungen), dann ändert sich der einfache gleitende mittlere Filter nicht schnell genug (oder überhaupt) im Vergleich zu dem, was der Kalman Filter tun wird. Der Kalman-Filter verwendet das Signalmodell, das Ihr Wissen erfasst, wie sich das Signal ändert, um seine Leistung in Bezug auf die Varianz von der Wahrheit zu verbessern. Antwortete am 18. Februar um 13:11 Uhr
No comments:
Post a Comment