Maison >développement back-end >Tutoriel Python >Comment calculer efficacement une moyenne mobile dans NumPy ?
Calcul de la moyenne mobile dans NumPy et SciPy
Dans l'analyse des données, le calcul de la moyenne mobile, également connue sous le nom de moyenne mobile, est une méthode courante opération qui lisse les fluctuations d’une série temporelle. Cette technique consiste à faire glisser une fenêtre d'une taille spécifiée le long d'un tableau d'entrée et à calculer la moyenne des valeurs dans la fenêtre à chaque étape.
Approche NumPy
NumPy, une bibliothèque bien connue pour le calcul scientifique en Python, fournit une méthode pratique pour calculer la moyenne mobile. En utilisant la fonction np.convolve, nous pouvons appliquer efficacement l'opération de convolution pour y parvenir. Voici le 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')
Comprendre l'opération de convolution
L'opération de convolution effectue essentiellement une somme pondérée des valeurs dans la fenêtre. Pour la moyenne mobile, nous utilisons un noyau uniforme, où chaque poids est de 1/window_size. Cela garantit que toutes les valeurs dans la fenêtre contribuent de manière égale à la moyenne calculée.
Gestion des effets de limite
Le paramètre mode dans np.convolve détermine la manière dont les effets de limite sont gérés pendant la convolution. Le mode 'valide' renvoie le résultat où l'opération de convolution n'a aucune influence sur la taille du tableau. Cela signifie que la moyenne mobile aura une longueur égale au tableau d'entrée moins la taille de la fenêtre, ignorant ainsi les valeurs sur les bords. Si vous avez besoin de gérer les effets de limite différemment, vous pouvez explorer d'autres modes pris en charge par np.convolve, tels que « complet » ou « identique ».
Ainsi, en utilisant les capacités de convolution de NumPy, nous pouvons calculer efficacement la valeur en cours d'exécution. moyenne d'un tableau 1D, vous offrant un outil pour lisser et analyser facilement les données de séries chronologiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!