预测用电需求
您也可以将每日用电需求建模为气温的函数。正如您在电费账单中可能观察到的,炎热天气因空调导致用电上升,寒冷天气因取暖导致用电上升。
在本练习中,您将拟合带 ARMA 误差的二次回归模型。包含 1 年逐日数据的数据集已存为 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,那么预测的用电需求是多少?请在
forecast()的xreg参数中,为cbind()填写相应的取值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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(___, ___, ___))