Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man effizient einen laufenden Mittelwert in NumPy?
Berechnung des laufenden Mittelwerts in NumPy und SciPy
In der Datenanalyse ist die Berechnung des laufenden Mittelwerts, auch als gleitender Durchschnitt bekannt, üblich Operation, die die Schwankungen in einer Zeitreihe glättet. Bei dieser Technik wird ein Fenster einer bestimmten Größe entlang eines Eingabearrays verschoben und bei jedem Schritt der Mittelwert der Werte innerhalb des Fensters berechnet.
NumPy-Ansatz
NumPy, eine bekannte Bibliothek für wissenschaftliches Rechnen in Python, bietet eine praktische Methode zur Berechnung des laufenden Mittelwerts. Mithilfe der Funktion np.convolve können wir die Faltungsoperation effizient anwenden, um dies zu erreichen. Hier ist der Code:
import numpy as np # Define the input array array = np.array([1, 2, 3, 4, 5]) # Specify the window size window_size = 3 # Calculate the running mean using convolution running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')
Verstehen der Faltungsoperation
Die Faltungsoperation führt im Wesentlichen eine gewichtete Summe der Werte im Fenster durch. Für den laufenden Mittelwert verwenden wir einen einheitlichen Kernel, bei dem jedes Gewicht 1/Fenstergröße beträgt. Dadurch wird sichergestellt, dass alle Werte innerhalb des Fensters gleichermaßen zum berechneten Mittelwert beitragen.
Umgang mit Grenzeffekten
Der Modusparameter in np.convolve bestimmt, wie Grenzeffekte während behandelt werden die Faltung. Der „gültige“ Modus gibt das Ergebnis zurück, bei dem die Faltungsoperation keinen Einfluss auf die Array-Größe hat. Dies bedeutet, dass der laufende Mittelwert eine Länge hat, die dem Eingabearray minus der Fenstergröße entspricht, wodurch die Werte an den Rändern effektiv ignoriert werden. Wenn Sie Grenzeffekte anders handhaben müssen, können Sie andere von np.convolve unterstützte Modi erkunden, z. B. „vollständig“ oder „gleich“.
Durch die Nutzung der Faltungsfunktionen von NumPy können wir den Lauf effizient berechnen Mittelwert eines 1D-Arrays, wodurch Sie ein Tool zum einfachen Glätten und Analysieren von Zeitreihendaten erhalten.
Das obige ist der detaillierte Inhalt vonWie berechnet man effizient einen laufenden Mittelwert in NumPy?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!