電力需要の予測
日次の電力需要は気温の関数としてもモデル化できます。電気料金の明細で見たことがあるかもしれませんが、暑い日は冷房、寒い日は暖房のために電力使用量が増えます。
この演習では、ARMA 誤差を伴う二次回帰モデルを当てはめます。1 年分の日次データは elecdaily に保存されており、日次の総需要、稼働日を表すダミー変数(稼働日は 1、非稼働日は 0)、そして日次の最高気温が含まれます。週次の季節性があるため、frequency は 7 に設定されています。
最初の 3 行を見てみましょう。
> 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()の第 2 引数には簡単な数学演算子が必要になります。 - 需要列に対して 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(___, ___, ___))