始める無料で始める

単純移動平均(MA)モデルをシミュレーションする

単純移動平均(MA)モデルは、ごく短期の自己相関を捉えるために用いられる、パラメータ数の少ない時系列モデルです。回帰のような形をとりますが、各観測値は実際には観測されない直前の撹乱項(イノベーション)に対して回帰されます。自己回帰(AR)モデルと同様に、MAモデルはホワイトノイズ(WN)モデルを特別な場合として含みます。

これまでのモデルと同様に、MAモデルは arima.sim() コマンドで model 引数を list(ma = theta)theta は区間 (-1, 1) の傾きパラメータ)に設定してシミュレーションできます。加えて、n 引数で系列の長さも指定する必要があります。

この演習では、傾きパラメータが 0.5、0.9、-0.5 の3つのMAモデルをそれぞれシミュレーションしてプロットします。

この演習はコースの一部です

Rで学ぶ時系列分析

コースを見る

演習の手順

  • arima.sim() を使い、傾きパラメータを 0.5、系列長を 100 に設定したMAモデルをシミュレーションし、x に保存します。
  • 別の arima.sim() 呼び出しで、傾きパラメータを 0.9 にしたMAモデルをシミュレーションし、y に保存します。
  • 3つ目の arima.sim() 呼び出しで、傾きパラメータを -0.5 にしたMAモデルをシミュレーションし、z に保存します。
  • plot.ts() を使って、3つのモデルをすべて表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Generate MA model with slope 0.5
x <- arima.sim(model = ___, n = ___)

# Generate MA model with slope 0.9
y <- 

# Generate MA model with slope -0.5
z <- 

# Plot all three models together
plot.ts(cbind(___, ___, ___))
コードを編集して実行