始める無料で始める

AR(1)モデルの当てはめ

ARMAモデルの次数 \(p\) と \(q\) を特定するには、ACF と PACF の組み合わせを使います。以下は結果の要約です。

AR(\(p\)) MA(\(q\)) ARMA(\(p,q\))
ACF 逓減(tails off) ラグ \(q\) 以降で打ち切り 逓減
PACF ラグ \(p\) 以降で打ち切り 逓減 逓減

この演習では、AR(1)モデル $$X_t = .9 X_{t-1} + W_t$$ からデータを生成し、シミュレーションデータと標本ACF・PACFを確認して次数を判断します。次に、モデルを当てはめて、推定されたパラメータを真のパラメータと比較します。

このコース全体を通じて、astsa パッケージの sarima() を使って、手軽にモデルをデータへ当てはめます。このコマンドは残差診断のグラフィックも出力しますが、診断については章の後半で扱うまで無視してかまいません。

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

Rで学ぶARIMAモデル

コースを見る

演習の手順

  • astsa パッケージは事前に読み込まれています。
  • 事前に用意された arima.sim() コマンドを使って、AR パラメータが 0.9 の AR(1) モデルから 100 観測を生成し、x に保存します。
  • 生成したデータを plot() で描画します。
  • astsa パッケージの acf2() コマンドで、標本 ACF と PACF のペアを描画します。
  • astsasarima() を用いて、先ほど生成したデータに AR(1) を当てはめます。t テーブルを確認し、推定値を真の値と比較してください。たとえば、時系列が x にある場合、AR(1) を当てはめるには sarima(x, p = 1, d = 0, q = 0) または単に sarima(x, 1, 0, 0) を使います。

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

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

# Generate 100 observations from the AR(1) model
x <- arima.sim(model = list(order = c(1, 0, 0), ar = .9), n = 100) 

# Plot the generated data 


# Plot the sample P/ACF pair


# Fit an AR(1) to the data and examine the t-table

コードを編集して実行