Approche des moyennes mobiles avec Python et NumPy/SciPy
Malgré la prévalence des moyennes mobiles dans l'analyse des données, leur mise en œuvre dans NumPy ou SciPy a s'est avéré être un défi en raison de l'absence d'une fonction dédiée. Cela a donné lieu à des solutions complexes et soulevé des questions sur les raisons de cette omission.
Mise en œuvre simplifiée avec NumPy
Pour une moyenne mobile de base non pondérée, une mise en œuvre simple l'utilisation de la fonction np.cumsum de NumPy apparaît comme une option viable. Cette approche surpasse même les méthodes basées sur la FFT en termes d'efficacité :
def moving_average(a, n=3): ret = np.cumsum(a, dtype=float) ret[n:] = ret[n:] - ret[:-n] return ret[n - 1:] / n
Cette fonction calcule en douceur les moyennes mobiles de tailles de fenêtre spécifiées.
La question demeure : pourquoi aucun construit- dans la mise en œuvre ?
Compte tenu de la facilité de mise en œuvre, l'absence d'une fonction de moyenne mobile intégrée dans NumPy peut faire sourciller. Cependant, la réponse réside dans l'accent mis par NumPy sur la fourniture d'opérations numériques de base tout en laissant les fonctionnalités spécialisées aux bibliothèques externes. Cela permet à NumPy de rester simple et efficace, laissant la place à des packages plus personnalisés pour répondre à des besoins analytiques spécifiques.
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!