Пакет для анализа временных рядов в python
Я работаю над временными рядами в python. Библиотеки, которые я нашел полезными и перспективными,
- pandas;
- statsmodel (для ARIMA);
- простое экспоненциальное сглаживание предоставляется из pandas.
Также для визуализации: matplotlib
Кто-нибудь знает библиотеку для экспоненциального сглаживания?
Ответы
Ответ 1
Pandas имеет экспоненциально взвешенные функции движущегося момента
http://pandas.pydata.org/pandas-docs/dev/computation.html?highlight=exponential#exponentially-weighted-moment-functions
Кстати, в пакете scikits.timeseries не должно быть никакой функциональности, которая также не находится в pandas.
Изменить. Поскольку этот вопрос по-прежнему остается популярным, в настоящее время выполняется запрос на растягивание, чтобы добавить более полнофункциональное сглаживание экспоненциальной структуры в statsmodels здесь
Ответ 2
Как-то некоторые вопросы были объединены или удалены, поэтому я отправлю свой ответ здесь.
Сглаживание Exp в Python изначально.
'''
simple exponential smoothing
go back to last N values
y_t = a * y_t + a * (1-a)^1 * y_t-1 + a * (1-a)^2 * y_t-2 + ... + a*(1-a)^n * y_t-n
'''
from random import random,randint
def gen_weights(a,N):
ws = list()
for i in range(N):
w = a * ((1-a)**i)
ws.append(w)
return ws
def weighted(data,ws):
wt = list()
for i,x in enumerate(data):
wt.append(x*ws[i])
return wt
N = 10
a = 0.5
ws = gen_weights(a,N)
data = [randint(0,100) for r in xrange(N)]
weighted_data = weighted(data,ws)
print 'data: ',data
print 'weights: ',ws
print 'weighted data: ',weighted_data
print 'weighted avg: ',sum(weighted_data)
Ответ 3
вы можете предсказать будущие значения, используя Pandas Экспоненциально-взвешенную скользящую среднюю http://pandas.pydata.org/pandas-docs/stable/generated/pandas.stats.moments.ewma.html как
from pandas.stats.moments import ewma
import numpy as np
pred_period = 12
def predict(x,span,periods = pred_period):
x_predict = np.zeros((span+periods,))
x_predict[:span] = x[-span:]
pred = ewma(x_predict,span)[span:]
return pred
Ответ 4
Для тройки я нашел в Интернете это http://adorio-research.org/wordpress/?p=1230