2011-11-08 6 views
4

Je cherche une fonction pour calculer la somme mobile exponentielle en numpy ou scipy. Je veux éviter d'utiliser les boucles python car elles sont vraiment lentes.somme mobile exponentielle en numpy/scipy?

pour être spécifique, j'ai deux séries A [] et T []. T [i] est l'horodatage de la valeur A [i]. Je définis une période de demi-déclin tau. Pour un temps t donné, la somme mobile exponentielle est la somme de toutes les valeurs A [i] qui se produit avant t, avec le poids exp (- (t-T [i])/tau) pour chaque A [i].

Merci beaucoup!

+0

Jetez un oeil à http://pytseries.sourceforge.net/contents.html. – Tarantula

Répondre

6

Jetez un oeil à numpy.convolve. La somme mobile exponentielle est une convolution.

0

Vous pouvez essayer d'améliorer les boucles python en faisant de bonnes "pratiques" (comme éviter les points). Peut-être que vous pouvez coder votre fonction en C (dans une "bibliothèque numpy") et l'appeler à partir de python.

Questions connexes