So berechnen Sie gleitende Durchschnitte mit NumPySo berechnen Sie gleitende Durchschnitte mit NumPy
Bild vom Herausgeber | Ideogramm

Erfahren Sie, wie Sie mit NumPy gleitende Durchschnitte berechnen.

Vorbereitung

Stellen Sie sicher, dass in Ihrer Umgebung die NumPy-Bibliothek installiert ist. Wenn nicht, können Sie sie über Pip mit dem folgenden Code installieren:

Wenn die NumPy-Bibliothek installiert ist, erfahren wir im nächsten Teil mehr über die Berechnung gleitender Durchschnitte.

Berechnen Sie gleitende Durchschnitte mit NumPy

Shifting Averages (MA) ist eine statistische Technik, die eine Reihe von Datenpunkten erstellt, die aus verschiedenen Fenstern des Datensatzes gemittelt werden. Es wird häufig in der Zeitreihenanalyse verwendet, um den Datensatz zu glätten und so einen einfacheren Ausblick auf längerfristige Traits zu ermöglichen, die aufgrund kurzfristiger Störungen schwer zu erkennen sind.

Gleitende Durchschnitte (MAs) werden in der Wirtschaft und Finanzbranche häufig verwendet, um aktuelle Traits, Prognosen und Signalindikatoren zu verstehen. Die MA-Technik gilt auch als nachlaufender Indikator, da sie auf historischen Daten basiert und Informationen über die aktuelle Scenario liefert.

Lassen Sie uns NumPy verwenden, um gleitende Durchschnitte zu berechnen. Zuerst würden wir versuchen, den Easy Shifting Common (SMA) zu berechnen. Es gilt als sehr einfach, da es den Datensatz nur innerhalb der rollierenden Fenster berechnet und den Durchschnitt als Datenpunkt verwendet.

Wir haben zum Beispiel zehn Datenpunkte, für die wir den SMA mit einer Fenstergröße von fünf nehmen wollen. Das können wir mit dem folgenden Code machen.

import numpy as np

knowledge = np.array((10, 15, 10, 30, 20, 45, 70, 50, 40, 60))
window_size = 5

weights = np.ones(window_size) / window_size
sma = np.convolve(knowledge, weights, mode="legitimate")
Output>>
(17. 24. 35. 43. 45. 53.)

Wie wir der Ausgabe entnehmen können, erhalten wir aus den Daten den gleitenden Durchschnitt mit einer Fenstergröße von 5.

Eine weitere Technik des gleitenden Durchschnitts, die wir anwenden können, ist der kumulative gleitende Durchschnitt (CMA). Die CMA-Technik würde Datenpunkte liefern, indem sie für jede Place den Durchschnitt der vorherigen Datenelemente, einschließlich sich selbst, ermittelt.

knowledge = np.array((10, 15, 10, 30, 20, 45, 70, 50, 40, 60))
cma = np.cumsum(knowledge) / np.arange(1, len(knowledge) + 1)

cma
Output>>
array((10, 12.5, 11.66666667, 16.25, 17.,
      21.66666667, 28.57142857, 31.2, 32.22222222, 35.))

Dann gibt es eine MA-Technik, die das Gewicht in ihre Berechnung einbezieht und als Exponential Shifting Averages (EMA) bezeichnet wird. EMA misst neueren Datenpunkten mehr Gewicht bei als den späteren. EMA ist viel empfindlicher als SMA, da es Informationen über aktuelle Änderungen in der Berechnung ermöglicht. Diese Informationen werden als Alpha dargestellt.

Probieren wir die NumPy-Implementierung in Python aus.

knowledge = np.array((10, 15, 10, 30, 20, 45, 70, 50, 40, 60))

def exponential_moving_average(knowledge, alpha):
    ema = np.zeros_like(knowledge)
    ema(0) = knowledge(0)
   
    for i in vary(1, len(knowledge)):
        ema(i) = alpha * knowledge(i) + (1 - alpha) * ema(i-1)
   
    return ema

ema = exponential_moving_average(knowledge, 0.5) 
Output>>
array((10, 12, 11, 20, 20, 32, 51, 50, 45, 52))

Das ist alles für die grundlegende NumPy-Implementierung zur Berechnung gleitender Durchschnitte mit NumPy. Versuchen Sie, sie zu beherrschen, um Ihre Zeitreihenanalyse zu vereinfachen.

Zusätzliche Ressourcen

Cornellius Yudha Wijaya ist stellvertretender Supervisor und Datenautor im Bereich Knowledge Science. Während er Vollzeit bei Allianz Indonesia arbeitet, teilt er gerne Python- und Datentipps über soziale Medien und Schreibmedien. Cornellius schreibt über eine Vielzahl von Themen zu KI und maschinellem Lernen.

Unsere Prime 3 Partnerempfehlungen

1. Bestes VPN für Ingenieure – 3 Monate kostenlos – Bleiben Sie on-line sicher mit einer kostenlosen Testversion

2. Bestes Projektmanagement-Software für Tech-Groups – Steigern Sie noch heute die Effizienz Ihres Groups

4. Bestes Passwortverwaltungstool für Tech-Groups – Zero-Belief- und Zero-Information-Sicherheit

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert