Een AR(1)-model fitten
Onthoud dat je de ACF en PACF samen gebruikt om de ordes \(p\) en \(q\) van een ARMA-model te bepalen. De volgende tabel vat de resultaten samen:
| AR(\(p\)) | MA(\(q\)) | ARMA(\(p,q\)) | |
|---|---|---|---|
| ACF | Loopt langzaam af | Kapt af na vertraging \(q\) |
Loopt langzaam af |
| PACF | Kapt af na vertraging \(p\) |
Loopt langzaam af | Loopt langzaam af |
In deze oefening genereer je data uit het AR(1)-model, $$X_t = .9 X_{t-1} + W_t,$$ bekijk je de gesimuleerde data en het paar steekproef-ACF en -PACF om de orde te bepalen. Daarna fit je het model en vergelijk je de geschatte parameters met de echte parameters.
In deze cursus gebruik je sarima() uit het astsa-pakket om eenvoudig modellen op data te fitten. De opdracht geeft ook een diagnostische grafiek van de residuen, die je kunt negeren totdat de diagnostiek later in het hoofdstuk wordt besproken.
Deze oefening maakt deel uit van de cursus
ARIMA-modellen in R
Oefeninstructies
- Het pakket astsa is vooringeladen.
- Gebruik het voorgeschreven
arima.sim()-commando om 100 observaties te genereren uit een AR(1)-model met AR-parameter .9. Sla dit op inx. - Plot de gegenereerde data met
plot(). - Plot het paar steekproef-ACF en -PACF met het
acf2()-commando uit hetastsa-pakket. - Gebruik
sarima()uitastsaom een AR(1) te fitten op de zojuist gegenereerde data. Bekijk de t-tabel en vergelijk de schattingen met de echte waarden. Bijvoorbeeld: als de tijdreeks inxstaat, kun je een AR(1) op de data fitten metsarima(x, p = 1, d = 0, q = 0)of simpelwegsarima(x, 1, 0, 0).
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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