始める無料で始める

単純移動平均モデルを推定する

これまでに 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)
コードを編集して実行