Friday 17 November 2017

Bewegliche Durchschnittliche Elasticsearch


Moving average verschoben 20667 Hey l8liu. Sorry für die Verzögerung bei der Beantwortung. Wir haben intern über diese ein wenig chatten. Ill Start mit dem einfachen: Auch könnte man bedenken, fügen Sie eine Moving Standard Abweichung in der Zukunft Definitiv Weve sprach darüber ein paar Mal und ich kenne Id persönlich wie ein. Wurden derzeit versucht, die beste Möglichkeit, es hinzuzufügen (dedizierte agg, oder umbenennen movingaverage zu movingfunction und implementieren std dev als eine Funktion, etc.). Ich denke, itll enden als dedizierte movingstddev agg, da das ist die einfachste. Ich erwarte, dass der gleitende Durchschnitt dem Durchschnitt des aktuellen Tages und der vorherigen 2 Tage entspricht, aber die Ergebnisse sind der Durchschnitt der vorhergehenden 3 Tage und nicht einschließlich des aktuellen Tages. Also haben wir darüber gesprochen, warum wir dies getan haben, und ich denke, das Verhalten ist richtig, weil wir mit einem linken gleitenden Durchschnitt häufig in Finanz-und anderen Nicht-Signal-Use-Fällen verwendet (zB der Wert von heute ist das Ergebnis der bisherigen Werte) . Zum Beispiel verwenden finanzielle gleitende Durchschnittswerte die Schlusskurse, und der heutige Wert ist intrinsisch unberechenbar, weil heute noch nicht geschlossen hat. Was bedeutet, dass Sie nur berechnen können gleitende Mittelwerte auf früheren Datenpunkten, nicht heute. Dies spiegelt die Wiki-Definition für eine Finanz-SMA wider: Bei Finanzanwendungen ist ein einfacher gleitender Durchschnitt (SMA) der ungewichtete Mittelwert der vorhergehenden n Daten. Für eine Anzahl von Anwendungen ist es vorteilhaft, die Verschiebung zu vermeiden, die durch die Verwendung nur vergangener Daten induziert wird. Daher kann ein zentraler gleitender Durchschnitt berechnet werden, wobei Daten verwendet werden, die beiderseits des Punktes in der Reihe gleich sind, wo der Mittelwert berechnet wird. Auch wenn heutige Werte enthalten waren, würde sich der Wert des heutigen Movavg jedesmal ändern, wenn Sie die Aggregation ausführen Eimer füllt weiter. Dies unterscheidet sich wesentlich von den mehrwissenschaftlichen Ingenieurwissenschaften, bei denen Sie zentrierte Bewegungsdurchschnitte verwenden (die Bewegung eines Punktes ist der Durchschnitt von n2 auf jeder Seite). In diesem Fall ist es sinnvoll, den Eimer in seinen eigenen Film einzubinden. Da wir aber momentan nur eine Orientierung unterstützen, halte ich das aktuelle Verhalten für richtig. Viele Angst Zitate oben, weil ich zustimmen, seine mehr eine Frage der Perspektive und wie Sie den gleitenden Durchschnitt verwenden möchten. Wir haben noch havent zu einer endgültigen Entscheidung kommen, aber ich denke, so weit weve zumindest stimmte die aktuelle Umsetzung ist nicht falsch per se. ) Polyfractal Vielen Dank für Ihre Detail-Erklärung und ich stimme mit Ihrer Berücksichtigung der aktuellen gleitenden Durchschnitt Umsetzung. In der Zukunft sind Sie möglich, einen Verschiebungsparameter hinzuzufügen, also können Benutzer Optionen haben, um zu wählen, wohin sie die movavg ausgeben möchten. Wir möchten, dass sie sich an den aktuellen Tag angleichen, aber nicht am Vortag, wenn wir die statistische Kontrolle durchführen. Auch sein froh zu wissen, dass Sie die bewegliche Standardabweichung Eigenschaft zukünftig haben werden. Vielen Dank für die großartige Arbeit und wir erwarten Ihre neue Arbeit Ich denke, ein Schalt-Parameter könnte nützlich sein, obwohl Im neugierig über seinen Umfang. Wäre es nur möglich, einen Tag nach vorne zu verschieben, um den Durchschnitt auszurichten, oder sollten wir eine willkürliche Verschiebung (z. B. 10 Buckets) erlauben? Aus einer Codeperspektive ist movavg schon ziemlich kompliziert, so dass nicht so viel zusätzliche Komplexität einzuführen wäre. Vielleicht könnten wir eine dedizierte Verschiebung Pipeline agg, die sitzt vor dem movavg Nicht sicher, havent dachte es durch sehr sorgfältig :) Sie können nicht diese Aktion zu diesem Zeitpunkt. Sie haben sich mit einem anderen Tab oder Fenster angemeldet. Aktualisieren Sie Ihre Sitzung neu. Sie haben sich in einem anderen Tab oder Fenster angemeldet. Reload, um Ihre Sitzung zu aktualisieren. Wir haben zahlreiche Pipeline-Aggregationen in früheren Beiträgen gesehen. Hier diskutieren wir eine weitere Pipeline-Aggregation, die so genannte Moving Average Aggregation und deren Bedeutung sowie deren Anwendung in realen Szenarien. Moving Average Explained Ein einfacher gleitender Durchschnitt kann berechnet werden, indem der Durchschnittspreis einer Metrik über eine feste Anzahl von Perioden genommen wird. Dies erzeugt die Durchschnittswerte, die sich bewegen, was bedeutet, dass nach dem angegebenen Zeitraum ein anderer Durchschnitt berechnet wird und daher der Name gleitender Durchschnitt. Außerdem werden, während sie sich vorwärts bewegt, die alten Werte gelöscht und neue Werte für die Berechnung des Durchschnitts berücksichtigt. Der gleitende Durchschnitt bewegt sich entlang einer Zeitskala, wenn neue Werte hinzugefügt werden. So finden sie in der Trendkalkulation profuse Verwendung. Da die gleitenden Mittelwerte über ein bestimmtes Fenster berechnet werden, sind sie gute Trends. Diese Berechnung ist äußerst nützlich, wenn es um Daten geht, die einem Trend nicht folgen. Wir untersuchen die Möglichkeiten der gleitenden Mittelwerte in den folgenden Beispielen. Ein Beispiel für die Berechnung der gleitenden Durchschnittswerte finden Sie hier. Für dieses Beispiel ist es gut, einige kontinuierliche Daten für die Auswertung der Trends zu haben. Ich habe einen Beispieldatensatz erstellt, der aus stündlichen Aktienwerten für einen Zeitraum von 10 Tagen besteht, einer Firma, die sehr volatil ist. Der Datensatz hat insgesamt 240 Dokumente mit jedem Dokument der folgenden Struktur: Simple Moving Average Lassen Sie uns die volatilen Bestandsdaten untersuchen, die wir detailliert indexiert haben, indem Sie die Werte darstellen. Die zu verwendende Abfrage ist unten angegeben: Die obige Abfrage gibt uns die stockValue pro Stunde als Antwort. Die Darstellung des obigen in Bezug auf das Zeitfeld wird uns den folgenden Graphen liefern: Wie Sie sehen können, gibt es bei der Darstellung der Werte gegen die Zeit keine Anzeichen für Trends, wo die Aktienwerte gehen. Dies ist, wo gleitende durchschnittliche Aggregationen ins Spiel kommen. Lassen Sie uns eine Abfrage erstellen, die die gleitenden Mittelwerte berechnet: In der obigen Abfrage heißt die Aggregation, die den gleitenden Durchschnitt berechnet, den Namen themovingavg. Darunter, abgesehen von der Eimerspitze. Haben wir zwei Parameter namens Fenster und Modell. Der Fensterparameter wird verwendet, um die Fenstergröße für die Berechnung der Mittelwerte einzustellen. Hier haben wir den Wert 5 gesetzt, das heißt, es würde 5 Werte auf einmal nehmen und den Durchschnitt berechnen und dann auf die nächsten 5 fallen den ersten Wert fallen. Der Modellparameter gibt an, welches Modell des gleitenden Durchschnitts wir verwenden. Das Modell, das wir derzeit verwenden, ist der einfache gleitende Durchschnitt, daher der Wert einfach. Die Antwort ist unten, wobei sowohl der Wert als auch die gleitenden Durchschnittswerte in einem einzigen Eimer enthalten sind. Nun zeichnen wir einen einzelnen Graphen, der sowohl die Werte als auch die gleitenden Mittelwerte enthält, um zu verstehen, was der Unterschied war, und er würde wie der folgende aussehen: Die orange Linie zeigt die gezeichneten Werte und die gelbe Linie zeigt die gleitenden Durchschnittswerte. Es kann beobachtet werden, dass der Anfangswert der gelben Linie Null ist. Dies liegt daran, dass nicht genügend Daten vorhanden sind, um den gleitenden Durchschnitt des ersten Punktes zu berechnen. Wenn wir nun in die Graphik hineinschauen, können wir sehen, dass die Spitzen der gelben Linie (die gleitenden Durchschnittswerte) geglättet wurden. Allerdings folgt es ziemlich genau den gleichen Trend wie die orange Linie. Eine Qualitätstrendanalyse kann deshalb nicht durchgeführt werden, weil wir eine kleine Fenstergröße gewählt haben. Ändern Sie die Fenstergröße auf einen größeren Wert, z. B. 50, und zeichnen Sie die Grafik erneut. Der daraus resultierende Graphen wäre wie der nachstehende: Aus dem obigen Graphen ist die gelbe Linie, die die gleitenden Durchschnittswerte anzeigt, im allgemeinen am Ende des Graphen steigend, was anzeigt, dass es einen zunehmenden Trend im Aktienwert des Unternehmens gibt . Predictive Moving Average Moving durchschnittliche Aggregationen unterstützen auch die Vorhersage zukünftiger Werte. Dies kann durch Hinzufügen eines Vorhersageparameters und Ändern der Abfrage wie folgt erfolgen: Als Antwort auf diese Abfrage können wir sehen, dass die letzten fünf Buckets die vorhergesagten Werte der gleitenden durchschnittlichen Aggregation enthalten, obwohl es keine ursprünglichen Bestandswerte gibt zu prognostizieren. Die Vorhersagewerte konvergieren üblicherweise gegen den errechneten Endmittelwert. Zusammenfassung In diesem Artikel haben wir eine grundlegende gleitende durchschnittliche Aggregation eingeführt und wie sie verwendet wird, um die Trends der Bestandsdaten für ein Unternehmen zu verstehen. Die nächste Aggregationsverwandte Post wird die Arten von gleitenden durchschnittlichen Aggregationen und die Unterschiede zwischen ihnen im Detail zu diskutieren. Holen Sie sich den nächsten Artikel Melden Sie sich für unseren Newsletter, und verpassen Sie nicht auf unsere Top-Artikel. Im letzten Artikel haben wir erklärt, wie die einfache gleitende durchschnittliche Pipeline Aggregation arbeitete und wie die Trends der Aktienwerte eines Unternehmens mit ihm zu analysieren. In diesem Beitrag diskutieren wir mehr gleitende durchschnittliche Aggregationsmodelle und ihre Unterschiede im Detail. Wir verwenden den gleichen Datensatz wie im vorherigen Beitrag. Es gibt zwei Modelle für die Berechnung der gleitenden Mittelwerte: Einfach und Gewichtet. Wenn wir in Datensätze mit höherer Komplexität umziehen, wird die Trendsanalyse genauer sein, wenn wir Gewichte den neuen Werten zuordnen. Gewichtete Modelle von gleitenden Mittelwerten weisen jedem Wert des Datensatzes nach seinem Alter Gewicht zu. Es gibt verschiedene Arten von gewichteten gleitenden Mittelwerten: Linearer gleitender Durchschnitt Im linearen gleitenden Durchschnittsmodell werden Datenpunkten eine lineare Gewichtung zugewiesen. Dies bedeutet, dass in dem betrachteten Fenster von Datenpunkten ältere Datenpunkte einen linear weniger bedeutenden Wert zugewiesen werden als die jüngsten. In diesem Beispiel verwenden wir die Abfrage, die verwendet wird, um den einfachen gleitenden Durchschnitt zu berechnen. Verwenden Sie es, um den linearen gleitenden Durchschnitt zu berechnen und den Unterschied zwischen den beiden zu zeichnen: Die Antwort aus der Abfrage hat drei Abschnitte in den Aggregations-Buckets, wie unten: Wenn Sie diese Werte in einem einzigen Diagramm darstellen, erhalten Sie folgende Grafik: Wie Sie sehen können , Zeigt die lineare gleitende Durchschnittskurve zwar eine ähnliche Kurve wie die des einfachen gleitenden Durchschnitts, zeigt jedoch eine leichte Verschiebung der linearen Kurve nach unten. Dies ist aufgrund der Gewichtung der jüngsten Werte. Wenn wir die Fenstergröße für die lineare Aggregation erhöhen, werden die Niederfrequenzschwankungen in der ursprünglichen Reihe besser reflektiert. Die hohen Frequenzen werden jedoch geglättet. Exponentiell gewichteter gleitender Durchschnitt Der exponentiell gewichtete gleitende Durchschnitt verwendet dieselbe Methodik wie der linear gleitende Durchschnitt. Die Abhängigkeit von alten Datenpunkten nimmt jedoch im Vergleich zur linearen Abhängigkeit des linearen gleitenden Durchschnittsmodells exponentiell ab. Die Rate, mit der der Abhängigkeitsabfall bei alten Datenpunkten ansteigt, kann durch den der Aggregation zugeführten Parameter alpha gesteuert werden. Kleinere Werte für den Parameter machen den Abfall langsamer, während der höhere Wert höher ist. Hier ist der Abfrageteil für die exponentiell gewichtete gleitende Durchschnittsaggregation, wobei der Alpha-Wert auf einen moderaten Wert von 0,3 eingestellt ist. Wenn wir das Ergebnis dieser Abfrage mit den tatsächlichen Werten in ein Diagramm einzeichnen, würde es wie folgt aussehen: Da wir den Wert von alpha erhöhen. Wird die ewma-Kurve der ursprünglichen Kurve näher kommen, wobei die Verzögerung auch abnimmt, wenn die Abhängigkeit von den älteren Werten exponentiell entfettet wird. Holt Moving Average In den bisherigen Modellen der gleitenden durchschnittlichen Aggregationen haben wir angenommen, dass es keine Trends in den angegebenen Datenpunkten gab. Wir haben die einfachen, linearen und die exponentiell gewichteten Modelle auf die Daten angewendet und daraus lineare Trenddaten generiert. Was passiert, wenn wir kurzfristige Trends in den angegebenen Daten haben. Kurzfristige Trends sind zyklische Muster, die periodisch und deutlich in Daten vorkommen. Bei den bisherigen Modellen besteht die Chance, dass diese zyklischen Muster nicht richtig identifiziert werden, da sie lineare Trends berechnen, vor allem, wenn die Trends mehr als einmal prognostiziert werden müssen voraus. In solchen Fällen verwenden wir das Holt-Modell der gleitenden Mittelwerte. Hier haben wir zwei Parameter. Alpha. Wie die EWMA, die Ebenen berechnet. Der Parameter Beta wird verwendet, um lokale Trendwerte abzuschätzen. Wenn der Beta-Parameter zunimmt, geht man davon aus, dass sich die lokalen Trends schneller ändern. Wenn der Betawert abnimmt, wird angenommen, dass sich die lokalen Trends langsam ändern. Die Abfrage für das Holt-Modell mit Alpha - und Beta-Werten von 0,5 ist nachfolgend aufgeführt: Wenn die Ausgabe dieser Aggregation gegen die ursprünglichen Lagerwerte und das ewma-Modell aufgetragen wird, sieht sie wie folgt aus: Sie können sehen, dass der Plan für das Holt ist Viel näher an die niedrigeren Werte der ursprünglichen Bestandswerte als die der EWMA, was auf die lokalen Trends hindeutet. Holt-Winters Moving Average Während die normalen Holt-Modell deckt lokale Trends, es nicht die Frage der saisonalen Trends, die in den Daten versteckt werden könnte. Das Holt-Winters-Modell dient der saisonalen Entwicklung. Dies bedeutet im Wesentlichen, dass es eng an die Daten-Trends. Für den saisonalen Trendeinbau müssen wir zwei Parameter hinzufügen: Gamma. Der der Glättungsparameter für saisonale Daten und die Option Periode ist, die die Periodizität der Daten angibt. Im folgenden Beispiel verwende ich eine Periode von 5 mit einer Fenstergröße von 10 und Gamma-Wert gleich 0,5: Die Ausgabe sollte wie folgt aussehen: Sie sollten beachten, dass die Holt-Winters erst nach einer bestimmten Zeit beginnen. Dies liegt daran, dass das Holt-Winters-Diagramm Daten von mindestens 2 Perioden berechnet. Die Holt-Winters-Handlung folgt dem der ursprünglichen Lagerwerte, wie es beabsichtigt ist. Diese Nähe kann verwendet werden, um die Trends vorherzusagen, aber in Elasticsearch ist das Vorhersage-Feature für Holt-Winters derzeit nicht verfügbar. Fazit In dieser letzten Tranche unserer Pipeline-Aggregationsreihe haben wir verschiedene Arten der gleitenden Durchschnittsaggregationen gesehen, und wir haben jede von ihnen für ein besseres Verständnis aufgezeichnet. Fragen Kommentare Lassen Sie uns eine Zeile unten. Holen Sie sich den nächsten Artikel Melden Sie sich für unseren Newsletter, und verpassen Sie nicht auf unsere Top-Artikel.

No comments:

Post a Comment