Эта ошибка возникает, если индекс не относится к типу DatetimeIndex
или RangeIndex
.
В вашем случае список просто преобразуется в "обычный" Int64Index
.
* 1007. * Я пробовал несколько вещей, например, конвертирование индекса в
RangeIndex
myinput = pd.Series(mylist, range(1979, 1989))
или DatetimeIndex
years_index = [datetime(_, 1, 1) for _ in years]
myinput = pd.Series(mylist, years_index)
, но есть еще одно исключение.
Я думаю, что решение вашей проблемы состоит в том, чтобы указать ключевое слово аргумента smoothing_level
для соответствия, например
fit_model = SimpleExpSmoothing(myinput).fit(smoothing_level=0.2)
Тогда возвращаемые числа не будут идентичными. Я не проверял результаты, но большую часть кода для построения графика можно найти в учебнике statsmodel .
Значение по умолчанию, похоже, smoothing_level=None
, но я не уверен, почему функция подгонки не работает из коробки.
Состояние только документов
Значение smoothing_level простого экспоненциального сглаживания, если значение установлено, то это значение будет использоваться в качестве значения.
Этот является описанием простого метода экспоненциального сглаживания, как упомянуто в документации, если вас интересует, как определяется уровень сглаживания.