Прогнозирование спроса на электроэнергию
Суточный спрос на электроэнергию можно также моделировать как функцию температуры. Как вы, возможно, замечали по счетам за электричество, в жаркие дни потребление растёт из-за кондиционирования воздуха, а в холодные — из-за отопления.
В этом упражнении вы построите квадратичную регрессионную модель с ошибкой ARMA. Один год суточных данных хранится в elecdaily и включает общий суточный спрос, индикаторную переменную рабочих дней (рабочий день обозначен как 1, нерабочий — как 0) и дневные максимальные температуры. Поскольку в данных присутствует недельная сезонность, параметр frequency установлен равным 7.
Взглянем на первые три строки:
> elecdaily[1:3, ]
Demand Temperature Workday
[1,] 174.8963 26.0 0
[2,] 188.5909 23.0 1
[3,] 188.9169 22.2 1
elecdaily уже загружен в вашу рабочую среду.
Это упражнение является частью курса
Прогнозирование в R
Инструкции к упражнению
- Постройте временны́е графики только для суточного спроса и максимальных температур с разбивкой на панели.
- Сформируйте матрицу регрессоров, включив
MaxTempдля максимальных температур,MaxTempSq— квадрат максимальной температуры — иWorkday, именно в таком порядке. Обратите внимание: второй аргументcbind()потребует простого математического оператора. - Подберите динамическую регрессионную модель для столбца спроса с ошибками ARIMA и сохраните результат в переменную
fit. - Если следующий день является рабочим (индикатор равен 1), а прогноз максимальной температуры составляет 20°C, каков прогнозируемый спрос? Укажите соответствующие значения в
cbind()для аргументаxregфункцииforecast().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Time plots of demand and temperatures
autoplot(elecdaily[, c(___, ___)], facets = ___)
# Matrix of regressors
xreg <- cbind(MaxTemp = elecdaily[, "Temperature"],
MaxTempSq = ___,
Workday = ___)
# Fit model
fit <- auto.arima(___, xreg = xreg)
# Forecast fit one day ahead
forecast(___, xreg = cbind(___, ___, ___))