Pandas exponentieller gleitender Durchschnitt

Pandas exponentieller gleitender Durchschnitt

Der gleitende Durchschnitt, der auch als Roll- oder Running-Durchschnitt bezeichnet wird, ist ein Time-Serie-Datenanalyse-Tool, das die Durchschnittswerte verschiedener Teilmengen des gesamten Datensatzes berechnet. Es ist auch als beweglicher Mittelwert (MM) oder Rollmittel bekannt, da er über einen bestimmten Zeitraum den Mittelwert des Datensatzes berechnet wird. Der gleitende Durchschnitt kann in einer Vielzahl von Methoden berechnet werden, von denen eine eine definierte Teilmenge aus einer gesamten Reihenfolge von Zahlen auswählen kann.

Pandas DataFrame.Ewm ()

EWMA liefert den Daten mehr Gewicht für die Daten oder weniger Gewicht an Daten, wenn es sich weiter in die Zeit zurückzieht und es ermöglicht, die jüngsten Trends relativ schneller aufzuzeichnen. Der „DataFrame.EWM () ”Pandas -Methode wird zur Durchführung von EMA verwendet.

Syntax:

Pandas.Datenrahmen.ewm (com = none, span = keine, halflife = keine, alpha = keine, min_periods = 0,
einstellen = true, ignore_na = false, axis = 0).bedeuten()

Parameter:

    1. Der erste Parameter, „COM“, ist die Verringerung des Gewichtszentrums.
    2. Die "Spannweite" ist der spanbezogene Abbau.
    3. Das „Halfleben“ repräsentiert den Niedergang des Halflebens.
    4. Der Parameter „Alpha“ ist ein Glättungselement, dessen Wert von 0 bis 1 inklusive reicht. Die "min_periods" gibt die minimale Anzahl von Beobachtungen in einem Zeitrahmen an, der erforderlich ist, um einen Wert zu erzeugen. Ansonsten wird NA zurückgegeben.
    5. Um ein Ungleichgewicht in relativen Gewichtungen wie „Anpassung“ zu korrigieren, teilen Sie sich durch einen rückläufigen Einstellfaktor in die Startperioden teilen.
    6. Bei der Berechnung der Gewichte ignorieren die fehlenden Werte "Ignore_na".
    7. Die „Achse“ ist die entsprechende Achse, die sie verwenden sollten. Die Zeilen werden durch die Nummer 0 identifiziert, während die Spalten durch den Wert 1 identifiziert werden.

Beispiel 1: Mit dem Parameter des Span -Parameters

In diesem Beispiel haben wir einen Analytics -Datenframe. Wir haben Produkt-, Mengen- und Kostensäulen, und das Unternehmen muss den exponentiellen gleitenden Durchschnitt mit einer Spannweite von 5 Tagen abschätzen.

Pandas importieren
# Erstellen Sie Pandas DataFrame, um den exponentiellen gleitenden Durchschnitt zu berechnen
# mit 3 Spalten.
Analytics = Pandas.DataFrame ('Produkt': [11,22,33,44,55,66,77,88,99,110],
'Quantität': [200.455.800.900.900.122.400.700.80.500],
'Kosten': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])))
drucken (Analytics)
drucken()
# Berechnen Sie den exponentiellen gleitenden Durchschnitt für 5 Tage
Analytics ['5 -Tage -EWM'] = Analytics ['Quantity'].EWM (Span = 5).bedeuten()
drucken (Analytics)


Ausgang:

Produktmengenkosten
0 11 200 2400
1 22 455 4500
2 33 800 5090
3 44 900 600
4 55 900 8000
5 66 122 7800
6 77 400 1100
7 88 700 2233
8 99 80 500
9 110 500 1100
Produktmenge Kosten 5 Tage EWM
0 11 200 2400 200.000000
1 22 455 4500 353.000000
2 33 800 5090 564.736842
3 44 900 600 704.000000
4 55 900 8000 779.241706
5 66 122 7800 539.076692
6 77 400 1100 489.835843
7 88 700 2233 562.734972
8 99 80 500 397.525846
9 110 500 1100 432.286704


Erläuterung:

In der ersten Ausgabe haben wir die gesamte Analytik angezeigt. Im zweiten Ausgang berechnen wir den exponentiellen gleitenden Durchschnitt für die Mengenspalte und speichern die Werte in der Spalte „5 -Tage -EWM“.

Beispiel 2: Visualisieren Sie das EWM

Lassen Sie uns den exponentiellen gleitenden Durchschnitt für die Spalte „Menge“ über einen Zeitraum von 5 Tagen unter Verwendung des Matplotlib -Moduls visualisieren.

von Matplotlib Pyplot importieren
Pandas importieren
Analytics = Pandas.DataFrame ('Produkt': [11,22,33,44,55,66,77,88,99,110],
'Quantität': [200.455.800.900.900.122.400.700.80.500],
'Kosten': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])))
# Die tatsächliche Menge zeichnen
Pyplot.Diagramm (Analytics ['Quantity'], Label = 'Quantity')
# Berechnen Sie den exponentiellen gleitenden Durchschnitt für 5 Tage
Analytics ['5 -Tage -EWM'] = Analytics ['Quantity'].EWM (Span = 5).bedeuten()
# Zeichnen Sie die 5 -tägige exponentielle gleitende Durchschnittsmenge
Pyplot.Plot (Analytics ['5-Tage-EWM'], Label = '5-Tage-EWM')
# Setzen Sie die Legende auf 1
Pyplot.Legende (loc = 1)


Ausgang:



Erläuterung:

Wir berechnen den exponentiellen gleitenden Durchschnitt für die Mengenspalte und speichern die Werte in der Spalte „5 -Tage -EWM“. Jetzt können Sie sehen, dass in der Grafik die blaue Linie die tatsächliche „Menge“ angibt und die orangefarbene Farbe den exponentiellen gleitenden Durchschnitt mit einer Spannweite von 5 Tagen angibt.

Beispiel 3: mit Spann- und Anpassungsparametern

Schätzen Sie den exponentiellen gleitenden Durchschnitt für die Spalte „Kosten“ mit einer Zeitspanne von 2 Tagen, indem.

von Matplotlib Pyplot importieren
Pandas importieren
Analytics = Pandas.DataFrame ('Produkt': [11,22,33,44,55,66,77,88,99,110],
'Quantität': [200.455.800.900.900.122.400.700.80.500],
'Kosten': [2400.4500.5090.600.8000.7800.1100.2233.500.1100])))
# Zeichnen Sie die tatsächlichen Kosten
Pyplot.Plot (Analytics ['Kosten'], Label = 'Kauf')
# Berechnen Sie den exponentiellen gleitenden Durchschnitt für 2 Tage
Analytics ['2 -Tage -EWM'] = Analytics ['Kosten'].ewm (span = 2, einstellen = false).bedeuten()
# Zeichnen Sie die 2 -tägigen exponentiellen gleitenden Durchschnittskosten
Pyplot.Diagramm (Analytics ['2 Tage EWM'], Label = '2-Tage-EWM')
# Setzen Sie die Legende auf 1
Pyplot.Legende (loc = 1)
drucken (Analytics)


Ausgang:

Produktmenge Kosten 2 Tage EWM
0 11 200 2400 2400.000000
1 22 455 4500 3800.000000
2 33 800 5090 4660.000000
3 44 900 600 1953.333333
4 55 900 8000 5984.444444
5 66 122 7800 7194.814815
6 77 400 1100 3131.604938
7 88 700 2233 2532.534979
8 99 80 500 1177.511660
9 110 500 1100 1125.837220



Erläuterung:

Wir speichern die Werte in der Spalte „2 -Tage -EWM“ für Kosten und Anzeige. Schließlich visualisieren wir mithilfe der Matplotlib -Pyplot.

Beispiel 4: Mit Ignore_NA -Parameter

Sehen Sie den exponentiellen gleitenden Durchschnitt für die Spalte „Produkt“ mit einer Werte mit einer Zeitspanne von 3 Tagen an, indem Sie die Ignore_NA auf False einstellen.

von Matplotlib Pyplot importieren
Pandas importieren
Analytics = Pandas.DataFrame ('Produkt': [Keine, 22,33, None, 55, None],
'Quantität': [200.455, keine, 900.900.122])
# Zeichnen Sie die tatsächlichen Kosten
Pyplot.Diagramm (Analytics ['Produkt'], Label = 'Produkt')
# Berechnen Sie den exponentiellen gleitenden Durchschnitt mit einer Spanne von 3 Tagen, ohne NAN -Werte zu ignorieren.
Analytics ['3 -Tage -EWM mit Nan'] = Analytics ['Produkt'].ewm (span = 3, ignore_na = false).bedeuten()
# Zeichnen Sie das 3 -tägige exponentielle gleitende Durchschnittsprodukt
Pyplot.Plot (Analytics ['3-Tage-EWM mit Nan'], Label = '3-Tage-EWM')
# Setzen Sie die Legende auf 1
Pyplot.Legende (loc = 1)


Ausgang:


Abschluss

Das Konzept der Berechnung des exponentiell gewichteten gleitenden Durchschnitts wird in diesem Artikel erörtert. Im Einführungsabschnitt dieses Schreibens haben wir die Idee von EWM erläutert. Der „DataFrame.ewm ().Mean () ”” Pandas -Methode ist mit allen seinen Parametern enthalten, die kurz beschrieben werden. Wir haben vier Beispiele durchgeführt. Die grundlegenden Strategien für die Berechnung von EWM werden in diesem Lernen ausgearbeitet.