広告費を考慮した売上予測
コースの最終章へようこそ!
auto.arima() 関数は、ARIMA 誤差をもつ動的回帰モデルを当てはめます。これまでと異なる点は、回帰変数の行列を含む xreg 引数を使うことだけです。以下は動画で紹介したコード例です。
> fit <- auto.arima(uschange[, "Consumption"],
xreg = uschange[, "Income"])
> # rep(x, times)
> fcast <- forecast(fit, xreg = rep(0.8, 8))
ここでは、データとして uschange の Consumption 列を、回帰変数として Income 列を指定しています。さらに、この場合の rep() 関数は、行列引数 xreg に対して値 0.8 をちょうど 8 回繰り返します。
この演習では、回帰の誤差に自己相関がある場合を考慮して ARMA 誤差を含めつつ、広告費に対して回帰した売上データをモデル化します。データはワークスペースの advert にあり、自動車部品会社の 24 か月分の売上と広告費で構成されています。プロットは売上と広告費の関係を示しています。
これまで学んだ内容を思い出しつつ、コンソールで advert データを確認し、指示をよく読んで、このチャレンジングな演習に取り組んでください。
この演習はコースの一部です
Rで学ぶ予測入門
演習の手順
advertのデータをプロットしてください。変数のスケールが異なるので、facets = TRUEを使います。auto.arima()の第1引数を"sales"列、第2引数xregを"advert"列、第3引数stationaryをTRUEに設定して、advertに対して ARIMA 誤差つき回帰を当てはめてください。- 当てはめたモデルが AR(1) 誤差をもつ回帰であることを確認してください。広告が 1 単位増えるごとの売上の増加はいくらですか?この係数は
coefficients()の出力の 3 番目の要素です。 - 次の 6 か月の広告費を毎月 10 単位として指定し、当てはめたモデルから予測して
fcに保存してください。10 を 6 回繰り返すには、上の例と同様にxregの中でrep()関数を使います。 - 予測値
fcをプロットし、x 軸ラベルを"Month"、y 軸ラベルを"Sales"にするように、用意されたコードを補ってください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Time plot of both variables
autoplot(___, ___)
# Fit ARIMA model
fit <- auto.arima(___[, ___], xreg = ___[, ___], stationary = ___)
# Check model. Increase in sales for each unit increase in advertising
salesincrease <- ___(___)[___]
# Forecast fit as fc
fc <- forecast(___, xreg = ___)
# Plot fc with x and y labels
autoplot(___) + xlab(___) + ylab(___)