Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man effizient einen laufenden Mittelwert in NumPy?

Wie berechnet man effizient einen laufenden Mittelwert in NumPy?

Barbara Streisand
Barbara StreisandOriginal
2024-12-18 05:42:15116Durchsuche

How to Efficiently Calculate a Running Mean 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn