Dopasowywanie modelu AR(1)
Przypomnij sobie, że do identyfikacji rzędów \(p\) i \(q\) modelu ARMA używa się pary ACF i PACF. Poniższa tabela podsumowuje wyniki:
| AR(\(p\)) | MA(\(q\)) | ARMA(\(p,q\)) | |
|---|---|---|---|
| ACF | Zanika | Urywa się po opóźnieniu \(q\) |
Zanika |
| PACF | Urywa się po opóźnieniu \(p\) |
Zanika | Zanika |
W tym ćwiczeniu wygenerujesz dane z modelu AR(1), $$X_t = .9 X_{t-1} + W_t,$$ przeanalizujesz zasymulowane dane oraz parę ACF i PACF, aby określić rząd modelu. Następnie dopasujesz model i porównasz oszacowane parametry z prawdziwymi wartościami.
W całym kursie będziesz korzystać z funkcji sarima() z pakietu astsa, która ułatwia dopasowywanie modeli do danych. Polecenie generuje wykres diagnostyczny reszt, który możesz zignorować – diagnostyka zostanie omówiona w dalszej części rozdziału.
To ćwiczenie jest częścią kursu
Modele ARIMA w R
Instrukcje do ćwiczenia
- Pakiet astsa jest już wczytany.
- Użyj gotowego polecenia
arima.sim(), aby wygenerować 100 obserwacji z modelu AR(1) z parametrem AR równym .9. Zapisz wynik dox. - Zwizualizuj wygenerowane dane za pomocą
plot(). - Wyrysuj parę próbkową ACF i PACF, używając polecenia
acf2()z pakietuastsa. - Użyj
sarima()z pakietuastsa, aby dopasować model AR(1) do wcześniej wygenerowanych danych. Przeanalizuj tabelę t i porównaj oszacowania z prawdziwymi wartościami. Na przykład, jeśli szereg czasowy jest zapisany wx, użyjsarima(x, p = 1, d = 0, q = 0)lub w skróciesarima(x, 1, 0, 0).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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