1. 学ぶ
  2. /
  3. コース
  4. /
  5. Rで学ぶ予測入門

Connected

演習

週次データの予測

週次データでは、季節の周期が大きい(およそ 52)ため、ETS や ARIMA モデルで季節性を扱うのは難しいことがあります。そこで、サイン波とコサイン波で季節性を表現する調和回帰(harmonic regression)を使います。

fourier() 関数を使うと、必要な調和項を簡単に生成できます。次数($K$)が大きいほど、季節パターンはより「細かく」変動できるようになります。\(K=1\) なら単純な正弦曲線です。\(K\) の値は AICc を最小化するように選べます。ビデオで見たとおり、fourier() は必須の時系列、生成するフーリエ項の数、そして予測に必要な任意の行数を受け取ります。

> # fourier(x, K, h = NULL)

> fit <- auto.arima(cafe, xreg = fourier(cafe, K = 6),
                    seasonal = FALSE, lambda = 0)
> fit %>%
    forecast(xreg = fourier(cafe, K = 6, h = 24)) %>%
    autoplot() + ylim(1.6, 5.1)

あらかじめ読み込まれている gasoline データは、米国の完成モーターガソリン製品に関する週次データです。この演習では、このデータに調和回帰を適用し、今後3年間を予測します。

指示

100 XP
  • AICc を最小化するように選ばれた次数 \(K=13\) を用いて、gasoline に対して fourier() を使い、harmonics という名前の xreg 行列を作成します。
  • 動的回帰モデルを fit に当てはめます。xreg には harmonics を、季節性は回帰変数で扱うため seasonal は FALSE に設定します。
  • 同様の方法で新しい xreg 行列 newharmonics を作成し、次の3年間の予測を fc として計算します。
  • 最後に、予測 fc をプロットします。