экспоненциальная движущаяся сумма в numpy / scipy?

#python #numpy #scipy #vectorization

#python #numpy #scipy #векторизация

Вопрос:

Я ищу функцию для вычисления экспоненциальной суммы перемещения в numpy или scipy. Я хочу избежать использования циклов python, потому что они действительно медленные.

если быть точным, у меня есть две серии A [] и T []. T [i] — это временная метка значения A [i]. Я определяю период полураспада tau. За заданное время t экспоненциальная движущаяся сумма представляет собой сумму всех значений A [i], которые произошли до t, с весом exp(-(t-T [i]) / tau) для каждого A [i].

Большое спасибо!

Комментарии:

1. Взгляните на pytseries.sourceforge.net/contents.html .

Ответ №1:

Взгляните на numpy.convolve. Экспоненциальная движущаяся сумма является сверткой.

Ответ №2:

Вы можете попытаться улучшить циклы python, выполняя хорошие «практики» (например, избегая точек).

Может быть, вы можете закодировать свою функцию на C (в «библиотеку numpy») и вызвать ее из python.