Совпадение "на следующий день", используя прогноз () в R

Я работаю через курс DataCamp "Прогнозирование с использованием R". Я выполнил все, кроме последней части одного конкретного упражнения (ссылка здесь, если у вас есть аккаунт), где я полностью потерян. Помощь по ошибкам, которую он мне дает, тоже не помогает. Я опишу различные части задачи с помощью кода, который я использую для их решения:

Создайте временные графики только дневной потребности и максимальных температур с фацетированием.
autoplot(elec[, c("Demand", "Temperature")], facets = TRUE)
Индекс elec соответственно настроить матрицу регрессоров для включения MaxTemp для максимальных температур, MaxTempSq которая представляет собой квадратичное значение максимальной температуры, и Workday, в этой последовательности.
xreg <- cbind(MaxTemp = elec[, "Temperature"], 
          MaxTempSq = elec[, "Temperature"] ^2, 
          Workday = elec[,"Workday"])
Установите динамическую регрессионную модель столбца спроса с ошибками ARIMA и вызовите это fit,
fit <- auto.arima(elec[,"Demand"], xreg = xreg)
Если следующий день является рабочим днем ​​(показатель 1) с прогнозом максимальной температуры 20°C, каков прогноз спроса? Заполните соответствующие значения в cbind() для xreg аргумент в forecast(),

Вот где я застрял. Пример кода, который они предоставляют, выглядит следующим образом:

forecast(___, xreg = cbind(___, ___, ___))

Мне удалось выяснить, что первый пробел fitпоэтому я пытаюсь код, который выглядит следующим образом:

forecast(fit, xreg = cbind(elec[,"Workday"]==1, elec[, "Temperature"]==20, elec[,"Demand"]))

Но это дает мне подсказку об ошибке: "Обязательно прогнозируйте следующий день, используя данные, приведенные в инструкциях". Что... не говорит мне ничего полезного. Любые идеи, что я должен делать вместо этого?

1 ответ

Решение

Когда вы делаете прогноз заранее, вы используете новые данные, которые не были включены в elec (который является набором данных, который вы использовали, чтобы соответствовать вашей модели). Новые данные были предоставлены вам в вопросе (температура 20С и рабочий день 1). Поэтому вам не нужно elec в вашем forecastвызов. Просто используйте новые данные для прогнозирования:

forecast(fit, xreg = cbind(20, 20^2, 1))
Другие вопросы по тегам