Model.forecast() не показывает прогноз данных на следующую дату, а прогнозирует данные на дату, которая уже есть в данныPython

Программы на Python
Anonymous
Model.forecast() не показывает прогноз данных на следующую дату, а прогнозирует данные на дату, которая уже есть в данны

Сообщение Anonymous »

Проблема в Python: model.forecast() не отображает следующую дату
Я столкнулся с проблемой с функцией model.forecast() в Python. В частности, он не отображает следующую дату, то есть день после последнего дня в моем y_train, который я использовал для обучения. Вот подробности:
Я работаю над проектом прогнозирования временных рядов.
Я разделил свои данные на y_train и y_test.
Я использую библиотеку AutoRegAutoReg.
Вот упрощенная версия моего кода:

Код: Выделить всё

from statsmodels.tsa.ar_model import AutoReg

data = pd.DataFrame(df).set_index("Date")
data.index = pd.DatetimeIndex(data.index).to_period('D')
# drop nan values
data.fillna(method="ffill", inplace=True)

series_data=data["Price"]

cutoff = int(len(series_data)*0.9)
y_train = series_data.iloc[:cutoff]
y_test = series_data.iloc[cutoff:]

# Fit an autoregressive model to the history with lags=13
model = AutoReg(y_train, lags=13).fit()
# Forecast the next value
forecast=model.forecast()

# Displaying the forecast
print(forecast)

output:2011-09-08    2.799414
Freq: D, dtype: float64

y_test.head(1)
output:Date2018-04-23    2.78

Проблема:
Вывод библиотеки не включает следующую дату после последней даты в y_train. Вместо этого он показывает
Что я пробовал:
  • Я проверил, что даты в y_train правильно отформатированы и смежны.
  • Я пробовал использовать разные значения для шагов в функции прогноза().
Желаемый результат:
Я хочу, чтобы прогноз отображал прогнозируемое значение на день, следующий сразу за последним днем ​​в y_train.
Дополнительная информация:
  • Я использую библиотеку AutoReg.
  • print(прогноз) должен дать мне дату2018-04- 23 вместо 08.09.2011


Подробнее здесь: https://stackoverflow.com/questions/785 ... -rather-is

Вернуться в «Python»