Maison >développement back-end >Tutoriel Python >Comment calculer la moyenne courante d'un tableau 1D à l'aide de la fonction « np.convolve » de NumPy ?
Comment calculer la moyenne mobile d'un tableau 1D à l'aide de SciPy ou NumPy
La moyenne mobile, également connue sous le nom de moyenne mobile, est un mesure statistique qui calcule la moyenne d'un sous-ensemble de points de données dans une fenêtre spécifiée lorsque la fenêtre glisse sur les données. En Python, il existe plusieurs façons de calculer la moyenne cumulée à l'aide des fonctions SciPy et NumPy.
Fonction SciPy
SciPy n'a pas de fonction dédiée pour calculer la moyenne cumulée . Cependant, vous pouvez utiliser la fonction np.convolve de NumPy pour implémenter le calcul de la moyenne courante.
Fonction NumPy
La fonction np.convolve de NumPy effectue des opérations de convolution. La convolution, dans le contexte de la moyenne mobile, est le processus consistant à appliquer un noyau aux données et à additionner les résultats. Pour calculer la moyenne mobile, le noyau est une distribution uniforme, qui donne un poids égal à chaque point de données dans la fenêtre.
Pour utiliser np.convolve pour la moyenne courante, vous pouvez utiliser le code suivant :
running_mean = np.convolve(array, np.ones(window_size) / window_size, mode='valid')
où :
Explication
Le np.ones(window_size) / window_size crée un noyau avec des poids uniformes. np.convolve applique ce noyau au tableau, ce qui donne un tableau de moyennes pour chaque fenêtre. L'argument mode='valid' garantit que les bords du tableau ne sont pas inclus dans le calcul, produisant un tableau de sortie qui reflète la moyenne glissante sur l'ensemble des données.
Gestion des bords
L'argument mode de np.convolve spécifie comment gérer les bords du tableau. Différents modes entraînent différents comportements des bords. Le tableau ci-dessous répertorie les modes couramment utilisés :
Mode | Edge Handling |
---|---|
full | Pads the array with zeros and returns an output array that is the same size as the input array. |
same | Pads the array with zeros to match the kernel size and returns an output array that is the same size as the input array. |
valid | Ignores the edges of the array, resulting in an output array that is shorter than the input array. |
Le choix du mode dépend de vos besoins spécifiques et de l'interprétation que vous souhaitez pour la moyenne mobile aux bords du tableau.
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!