配適 AR(1) 模型
回顧一下,你會同時使用 ACF 與 PACF 來協助判定 ARMA 模型的階數 \(p\) 與 $q$。下表為結果摘要:
| AR(\(p\)) | MA(\(q\)) | ARMA(\(p,q\)) | |
|---|---|---|---|
| ACF | 漸漸衰減 | 在延遲 \(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