#python-3.x #pandas #statsmodels
#python-3.x #pandas #statsmodels
Вопрос:
Я использую метод Холта для экспоненциального сглаживания из пакета python statsmodels. Я пытаюсь создать прогнозы для некоторых данных временных рядов. Я могу создать 2 из 3 прогнозов. Когда я пытаюсь использовать экспоненциальную модель, а не аддитивную модель Холта, я получаю ошибку.
Я использую python 3.6.8 и statsmodels 0.9.0.
Это работает:
fit1 = Holt(df1).fit(smoothing_level=0.8, smoothing_slope=0.2, optimized=False)
fcast1 = fit1.forecast(12).rename("Holt's linear trend")
Это не работает:
fit2 = Holt(df1, exponential=True).fit(smoothing_level=0.8, smoothing_slope=0.2, optimized=False)
fcast2 = fit2.forecast(12).rename("Exponential trend")
Я получаю ошибку:
Ошибка значения: значение истинности ряда неоднозначно. Используйте.empty, a.bool(), a.item(), a.any() или a.all()
Комментарии:
1. Возможно, вы захотите включить полную обратную трассировку для своей ошибки, поскольку ошибка, с которой вы сталкиваетесь, очень распространена.
2. Я предполагаю, что вы передавали
DataFrame
, а неSeries
вHolt
модель, что вызвало бы проблему, когдаexponential=True
. Попробуйтеfit2 = Holt(df1.iloc[:,0], exponential=True).fit(smoothing_level=0.8, smoothing_slope=0.2, optimized=False)
.3. @Ian, большое тебе спасибо, что решил это! Спасибо!