Совпадение "на следующий день", используя прогноз () в 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))