Unregelmäßig Gleitender Durchschnitt

Im versuchen zu graben einige Metriken, die auf, wie zuverlässig Clients Verbindung zu einem Dienst zu sehen. Die Rohdaten sind in Form von Client A, kam onlineoffline zum Zeitpunkt X. Die Verbindung ist sehr unzuverlässig, und ich möchte irgendeine Art von gleitenden Durchschnitt zu zeigen, ob die Verbindung verbessert oder nicht im Laufe der Zeit. Clients sind nicht immer verbunden, also einfach offline zu gehen bedeutet nicht, dass es ein Fehler ist. So weit, Ive genommen dann Daten und angewandt einige Annahmen, um es zu vereinfachen, nehme ich an, dass, wenn ein Client wieder innerhalb einer Minute der Trennung, dann ist das ein Fehler. Diese Ive modelliert als eine einfache impluses, dh. Client A hatte zum Zeitpunkt X Fehler. Der Teil Im, der kämpft, ist, wie man dieses Diagramm in einen gleitenden Durchschnitt umdreht (Im, das mit R spielt, um die Zahlen zu knacken). Ich glaube, ich sollte in der Lage, dies mit einem Tiefpassfilter tun, oder verwenden Sie das Zoo-Paket und Rollmean. Jedoch weiß ich nicht, wie man die Fälle behandelt, in denen der Klient einfach nicht online sein wollte. Exxponential Bewegungsdurchschnitte für unregelmäßige Zeit-Reihe In der Zeitreihenanalyse gibt es häufig eine Notwendigkeit an den Glättungfunktionen, die schnell auf Änderungen im Signal reagieren. In der typischen Anwendung können Sie ein Eingangssignal in Echtzeit verarbeiten und so etwas wie den aktuellen Durchschnittswert berechnen oder eine momentane Steilheit erhalten. Aber reale Welt Signale sind oft laut. Bei einigen verrauschten Abtastungen wird der aktuelle Wert des Signals oder seine Steigung stark variieren. Moving Averages Die einfachste Glättungsfunktion ist ein gleitender Durchschnitt. Als Muster kommen Sie in einen Durchschnitt der neuesten N-Werte. Dies führt zu einer Verzögerung 8211 oder Latenz. Ihr Durchschnitt wird immer um die Breite des gleitenden Durchschnitts verzögert. Das obige Beispiel ist relativ teuer zu berechnen. Für jede Probe müssen Sie über die gesamte Größe des Fensters iterieren. Aber es gibt billigere Möglichkeiten 8211 die Summe aller Samples im Fenster in einem Puffer zu halten und die Summe einzustellen, wenn neue Samples kommen: Ein anderer Typ von gleitendem Durchschnitt ist der 8220gewichtete gleitende Durchschnitt8221, der für jede Position im Sample-Fenster gewichtet wird. Vor dem Mitteln multiplizieren Sie jede Probe mit dem Gewicht dieser Fensterposition. Technisch wird dies als 8220convolution8221 bezeichnet. Eine typische Gewichtungsfunktion wendet eine Glockenkurve auf das Probenfenster an. Dies ergibt ein Signal, das stärker auf die Mitte des Fensters abgestimmt ist und noch etwas tolerant gegenüber verrauschten Abtastwerten ist. In der Finanzanalyse verwenden Sie häufig eine Gewichtungsfunktion, die die jüngsten Stichproben mehr bewertet, um einen gleitenden Durchschnitt zu geben, der die jüngsten Stichproben genauer verfolgt. Ältere Proben erhalten zunehmend weniger Gewicht. Dadurch werden die Effekte der Latenz etwas etwas gemildert und dennoch eine gute Glättung gegeben: Mit einem gewichteten Mittelwert müssen Sie immer über die gesamte Fenstergröße für jede Probe iterieren (es sei denn, Sie können die zulässigen Gewichte auf bestimmte Funktionen beschränken). Der exponentielle gleitende Durchschnitt Eine andere Art von Durchschnitt ist der exponentielle gleitende Durchschnitt oder EMA. Dies ist oft verwendet, wo Latenz ist kritisch, wie in Echtzeit Finanzanalyse. In diesem Durchschnitt nehmen die Gewichte exponentiell ab. Jede Probe wird um einige Prozent kleiner bewertet als die nächstfolgende Probe. Mit dieser Einschränkung können Sie den gleitenden Durchschnitt sehr effizient berechnen. Wo alpha eine Konstante ist, die beschreibt, wie die Fenstergewichte im Laufe der Zeit abnehmen. Zum Beispiel, wenn jede Probe mit 80 des Wertes des vorherigen Samples gewichtet werden sollte, würden Sie Alpha 0.2 setzen. Je kleiner alpha wird, desto länger ist Ihr gleitender Durchschnitt. (Z. B. wird es glatter, aber weniger reaktiv gegenüber neuen Proben). Die Gewichte für eine EMA mit alpha0.20 Wie Sie sehen können, müssen Sie für jede neue Stichprobe nur den Durchschnitt des vorherigen Mittelwertes berechnen. Also ist die Berechnung sehr sehr schnell. In der Theorie tragen alle vorhergehenden Proben zum gegenwärtigen Durchschnitt bei, aber ihr Beitrag wird mit der Zeit exponentiell kleiner. Dies ist eine sehr leistungsfähige Technik, und wahrscheinlich die beste, wenn Sie einen gleitenden Durchschnitt, der schnell auf neue Proben reagieren wollen, hat gute Glättungseigenschaften und ist schnell zu berechnen. Der Code ist trivial: EMA für irreguläre Zeitreihen Die Standard-EMA ist in Ordnung, wenn das Signal in regelmäßigen Zeitabständen abgetastet wird. Aber was ist, wenn Ihre Proben in unregelmäßigen Intervallen kommen Stellen Sie sich ein kontinuierliches Signal, das in unregelmäßigen Abständen abgetastet wird. Dies ist die übliche Situation in der Finanzanalyse. In der Theorie gibt es eine kontinuierliche Funktion für den Wert eines Finanzinstruments, aber Sie können nur dieses Signal Probe, wenn jemand tatsächlich führt einen Handel. So besteht Ihr Datenstrom aus einem Wert, plus die Zeit, zu der es beobachtet wurde. Eine Möglichkeit, dies zu bewältigen, besteht darin, das irreguläre Signal in ein reguläres Signal umzuwandeln, indem Interpolation zwischen Beobachtungen und Resampling durchgeführt wird. Aber das verliert Daten, und es führt wieder Latenz. Es ist möglich, eine EMA für eine unregelmäßige Zeitreihe direkt zu berechnen: In dieser Funktion geben Sie die aktuelle Stichprobe aus Ihrem Signal und dem vorherigen Sample sowie die Zeit zwischen den beiden und den vorherigen Wert zurück Funktion. So wie gut funktioniert diese Arbeit Um zu zeigen, I8217ve erzeugt eine Sinuswelle, dann probiert es in unregelmäßigen Abständen, und führte etwa 20 Lärm. Das ist das Signal wird zufällig variieren - 20 aus dem ursprünglichen 8220true8221 Sinus-Signal. Wie gut der irreguläre exponentielle gleitende Durchschnitt das Signal wiederherstellt. Die rote Linie ist die ursprüngliche Sinuswelle 8211, die in unregelmäßigen Intervallen abgetastet wird. Die blaue Linie ist das Signal mit dem Rauschen hinzugefügt. Die blaue Linie ist das einzige Signal, das die EMA sieht. Die grüne Linie ist die geglättete EMA. Sie sehen, dass es das Signal ziemlich gut erholt. Ein wenig wackelig, aber was kann man von solch einem verrauschten Quellsignal erwarten Es ist um 15 nach rechts verschoben, weil die EMA etwas Latenz einführt. Je mehr Sie wollen, desto mehr Latenz werden Sie sehen. Aber von diesem können Sie zB eine augenblickliche Steigung für ein lautes unregelmäßiges Signal berechnen. Was können Sie mit dem Hmm8230 tun. Ressourcen:


Comments

Popular Posts