単純移動平均モデルを推定する
これまでに MA モデルをいくつかシミュレーションし、その ACF を計算しました。次は、arima() コマンドを使って実データに単純移動平均(MA)モデルを当てはめてみます。ある時系列 x に対しては、arima(..., order = c(0, 0, 1)) で単純移動平均(MA)モデルを推定できます。参考までに、MA モデルは ARIMA(0, 0, 1) モデルに相当します。
この演習では、右のプロットに表示された事前読み込みの時系列(x)と、前の章でも使った Nile データセットを使って練習します。
この演習はコースの一部です
Rで学ぶ時系列分析
演習の手順
arima()を使って系列xに MA モデルを当てはめてください。arima()の出力から、傾き(ma1)、平均(intercept)、イノベーション分散(sigma^2)の推定値はいくつですか? それらをワークスペースに貼り付けてください。- 同様に
arima()を呼び出して、Nileデータに MA モデルを当てはめてください。結果をMAとして保存し、print()で出力を表示します。 - 最後に、あらかじめ用意されたコマンドを使って、
Nileデータと推定した MA のフィット値をプロットしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fit the MA model to x
arima(___, order = ___)
# Paste the slope (ma1) estimate below
# Paste the slope mean (intercept) estimate below
# Paste the innovation variance (sigma^2) estimate below
# Fit the MA model to Nile
MA <- arima(___, order = ___)
print(MA)
# Plot Nile and MA_fit
ts.plot(Nile)
MA_fit <- Nile - resid(MA)
points(MA_fit, type = "l", col = 2, lty = 2)