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.< /li>

[*]print(forecast) должен дать мне дату 2018-04-23 вместо 2011-09-08

Будем очень признательны за любые советы или предложения о том, как это исправить.
print(forecast) должен дать мне дату 2018-04-23 вместо 2011- 09–08

Подробнее здесь: https://stackoverflow.com/questions/785 ... -rather-is
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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