pandas-statsmodels: генерировать прогнозы временных рядов для каждой группы в столбце - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть фрейм данных df:

DATE        GROUP    COUNT
01-01-2018    A        12
01-02-2018    A        8
01-03-2018    A        30
..
01-02-2018    Y        221
01-03-2018    Y        343
01-01-2018    Z        67
01-02-2018    Z        65
01-03-2018    Z        88

Я хотел бы использовать ExponentialSmoothing из statsmodels для генерации независимых прогнозов для каждой группы (A, B..Z).Я смог заставить его работать, если я создаю совершенно новый фрейм данных для группы:

from statsmodels.tsa.api import ExponentialSmoothing

A_df=df.[df['GROUP']=='A']

train=A_df[0:200]
test=A_df[200:]

fit=ExponentialSmoothing(np.asarray(train["COUNT"]), seasonal_periods=360, 
trend='add', seasonal='add').fit()

A_df['ExpSmooth']=fit.forecase(len(test))

Гипотетический результат:

DATE      GROUP    COUNT  ExpSmooth
01-01-2018  A       12      15
01-02-2018  A       8       10
01-03-2018  A       30      15
01-04-2018  A       11      11

Есть ли способ получить панды / statsmodelsрассматривать каждую группу как свой собственный полный набор данных в большом фрейме данных с созданием новых фреймов данных для каждой группы?то есть

Bdf=df[df['GROUP']=='B']
Cdf=df[df['GROUP']=='C']
...