У меня есть фрейм данных 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']