始める無料で始める

電力需要の予測

日次の電力需要は気温の関数としてもモデル化できます。電気料金の明細で見たことがあるかもしれませんが、暑い日は冷房、寒い日は暖房のために電力使用量が増えます。

この演習では、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(___, ___, ___))
コードを編集して実行