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 のペアを描画します。astsaのsarima()を用いて、先ほど生成したデータに 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