Maison > développement back-end > Tutoriel Python > Comment calculer efficacement une moyenne mobile dans NumPy ?

Comment calculer efficacement une moyenne mobile dans NumPy ?

Barbara Streisand
Libérer: 2024-12-18 05:42:15
original
113 Les gens l'ont consulté

How to Efficiently Calculate a Running Mean in 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')
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal