Numpy Gleitender Durchschnitt

Numpy Gleitender Durchschnitt



Bevor wir mit unserem Thema beginnen, lassen Sie uns verstehen, was der gleitende Durchschnitt ist. In der Statistik ist ein gleitender Durchschnitt eine Technik zur Berechnung und Analyse von Datenpunkten. Es berechnet Datenpunkte, indem es eine Reihe von Durchschnittswerten verschiedener Teilmengen aus einem vollständigen Datensatz erstellt. Ein gleitender Durchschnitt ist also eine Messung, die die typische Änderung einer Informationsreihe im Laufe der Zeit erfasst. Moving ist einer der flexibelsten und am häufigsten verwendeten Indikatoren der technischen Analyse. Da es so einfach zu bedienen ist, verwenden professionelle Anleger es als Mittel für einen bestimmten Datensatz in Statistiken. Wir können auch einen gleitenden Durchschnitt in einem kürzeren Zeitraum berechnen, indem wir ihn auf Tages- oder Minutendaten anwenden. Zum Beispiel: Wenn wir in unserem Fall einen gleitenden 10-Tage-Durchschnitt bestimmen, summieren wir einfach die Schlusskurse von einem der letzten zehn Tage und teilen Sie das Ergebnis durch zehn. Am nächsten Tag berechnen wir auch den Preis der letzten zehn Tage, d.h. wir berechnen nicht den Preis des ersten Tages. Er wird vielmehr durch unseren Preis von gestern ersetzt. Die Daten ändern sich auf diese Weise mit jedem beweglichen Tag, aus diesem Grund wird sie als gleitender Durchschnitt bezeichnet. Der Zweck des gleitenden Durchschnitts besteht darin, den Beginn eines Trends zu bestimmen, dann seinen Fortschritt zu verfolgen und auch seine Umkehrung zu melden, falls sie auftritt. Die Formel zur Berechnung des gleitenden Durchschnitts lautet Ft = (Dt1+Dt2+Dt3…+Dtn)/n. Wobei Dt die Nachfrage in Periode t und Ft die Prognose in Zeit t ist.

Syntax:

Wir können den gleitenden Durchschnitt auf verschiedene Arten berechnen, die wie folgt sind:

Methode 1:

NumPy. zusammen ( )

Es gibt die Summe der Elemente im angegebenen Array zurück. Wir können den gleitenden Durchschnitt berechnen, indem wir die Ausgabe von cumsum() durch die Größe des Arrays dividieren.







Methode 2:

NumPy. und . Durchschnitt ( )

Es hat die folgenden Parameter.



a: Daten in Array-Form, die gemittelt werden sollen.



Achse: Ihr Datentyp ist int und sie ist ein optionaler Parameter.





Gewicht: Es ist auch ein Array und ein optionaler Parameter. Es kann die gleiche Form wie eine 1-D-Form haben. Im Falle eines eindimensionalen Arrays muss es die gleiche Länge wie das Array „a“ ​​haben.

Beachten Sie, dass es in NumPy anscheinend keine Standardfunktion zur Berechnung des gleitenden Durchschnitts gibt, sodass dies mit einigen anderen Methoden erfolgen kann.



Methode 3:

Eine andere Methode, die zur Berechnung des gleitenden Durchschnitts verwendet werden kann, ist:

z.B. falten ( a , in , Modus = 'voll' )

In dieser Syntax ist a der erste dimensionale Eingabewert und v der zweite dimensionale Eingabewert. Modus ist der optionale Wert, er kann vollständig, gleich und gültig sein.

Beispiel # 01:

Um nun mehr über den gleitenden Durchschnitt in Numpy zu erklären, geben wir ein Beispiel. In diesem Beispiel nehmen wir den gleitenden Durchschnitt eines Arrays mit der Convolve-Funktion von NumPy heraus. Wir nehmen also ein Array „a“ ​​mit 1,2,3,4,5 als seinen Elementen. Jetzt rufen wir die Funktion np.convolve auf und speichern ihre Ausgabe in unserer Variablen „b“. Danach drucken wir den Wert unserer Variablen „b“. Diese Funktion berechnet die gleitende Summe unseres Eingabearrays. Wir drucken die Ausgabe, um zu sehen, ob unsere Ausgabe korrekt ist oder nicht.

Danach konvertieren wir unsere Ausgabe mit der gleichen Faltungsmethode in den gleitenden Durchschnitt. Um den gleitenden Durchschnitt zu berechnen, müssen wir nur die gleitende Summe durch die Anzahl der Samples dividieren. Das Hauptproblem hier ist jedoch, dass sich die Anzahl der Proben je nach Standort, an dem wir uns befinden, ständig ändert, da es sich um einen gleitenden Durchschnitt handelt. Um dieses Problem zu lösen, erstellen wir einfach eine Liste der Nenner und müssen diese in einen Durchschnitt umwandeln.

Dazu haben wir für den Nenner eine weitere Variable „denom“ initialisiert. Mit dem Bereichstrick ist es für das Listenverständnis einfach. Unser Array hat fünf verschiedene Elemente, sodass die Anzahl der Proben an jeder Stelle von eins auf fünf steigt und dann wieder von fünf auf eins zurückgeht. Wir fügen also einfach zwei Listen zusammen und speichern sie in unserem „denom“-Parameter. Jetzt werden wir diese Variable drucken, um zu überprüfen, ob das System uns die wahren Nenner gegeben hat oder nicht. Danach dividieren wir unsere gleitende Summe durch die Nenner und drucken sie aus, indem wir die Ausgabe in der Variablen „c“ speichern. Lassen Sie uns unseren Code ausführen, um die Ergebnisse zu überprüfen.

importieren taub wie z.B.

a = [ 1 , zwei , 3 , 4 , 5 ]

b = z.B. falten ( a , z.B. ones_like ( a ) )

drucken ( 'Gleitende Summe' , b )

Name = aufführen ( Angebot ( 1 , 5 ) ) + aufführen ( Angebot ( 5 , 0 , - 1 ) )

drucken ( „Nenner“ , Name )

c = z.B. falten ( a , z.B. ones_like ( a ) ) / Name

drucken ( 'Gleitender Durchschnitt ' , c )

Nach erfolgreicher Ausführung unseres Codes erhalten wir folgende Ausgabe. In der ersten Zeile haben wir die „Gleitende Summe“ gedruckt. Wir können sehen, dass wir „1“ am Anfang und „5“ am Ende des Arrays haben, genau wie in unserem ursprünglichen Array. Der Rest der Zahlen sind die Summen verschiedener Elemente unseres Arrays.

Beispielsweise ergibt sich sechs auf dem dritten Index des Arrays aus der Addition von 1, 2 und 3 aus unserem Eingabearray. Zehn auf dem vierten Index ergibt sich aus 1, 2, 3 und 4. Fünfzehn ergibt sich aus der Summe aller Zahlen und so weiter. Jetzt haben wir in der zweiten Zeile unserer Ausgabe die Nenner unseres Arrays gedruckt.

Aus unserer Ausgabe können wir sehen, dass alle Nenner exakt sind, was bedeutet, dass wir sie mit unserem Moving-Sum-Array dividieren können. Gehen Sie nun zur letzten Zeile der Ausgabe. In der letzten Zeile können wir sehen, dass das erste Element unseres Moving Average Array 1 ist. Der Durchschnitt von 1 ist 1, also ist unser erstes Element korrekt. Der Durchschnitt von 1+2/2 beträgt 1,5. Wir können sehen, dass das zweite Element unseres Ausgabearrays 1,5 ist, sodass der zweite Durchschnitt ebenfalls korrekt ist. Der Durchschnitt von 1,2,3 wird 6/3=2 sein. Es macht auch unsere Ausgabe korrekt. Aus der Ausgabe können wir also sagen, dass wir den gleitenden Durchschnitt eines Arrays erfolgreich berechnet haben.

Fazit

In diesem Leitfaden haben wir etwas über gleitende Durchschnitte gelernt: Was ist ein gleitender Durchschnitt, wofür wird er verwendet und wie wird der gleitende Durchschnitt berechnet? Wir haben es sowohl aus mathematischer als auch aus Programmiersicht im Detail untersucht. In NumPy gibt es keine spezielle Funktion oder Prozess zur Berechnung des gleitenden Durchschnitts. Aber es gibt verschiedene andere Funktionen, mit deren Hilfe wir den gleitenden Durchschnitt berechnen können. Wir haben ein Beispiel zur Berechnung des gleitenden Durchschnitts erstellt und jeden Schritt unseres Beispiels beschrieben. Gleitende Durchschnitte sind ein nützlicher Ansatz, um mithilfe vorhandener Daten zukünftige Ergebnisse vorherzusagen.