Een MA-model schatten
Je gaat de MA(1)-parameter, \(\small \theta\), schatten van een van de gesimuleerde reeksen die je in de vorige oefening hebt gegenereerd. Omdat de parameters bekend zijn voor een gesimuleerde reeks, is dit een goede manier om de schattingsroutines te begrijpen voordat je ze op echte data toepast.
Voor simulated_data_1 met een echte \(\small \theta\) van -0.9, print je de schatting van \(\small \theta\) uit. Daarnaast print je ook de volledige uitvoer die wordt geproduceerd wanneer je een tijdreeks model fit, zodat je een idee krijgt van welke andere tests en samenvattende statistieken beschikbaar zijn in statsmodels.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in Python
Oefeninstructies
- Importeer de klasse
ARIMAuit de modulestatsmodels.tsa.arima.model. - Maak een instantie van de klasse
ARIMAmet de naammodmet de gesimuleerde datasimulated_data_1en de orde (p,d,q) van het model (in dit geval, voor een MA(1)) isorder=(0,0,1). - Fit het model
modmet de methode.fit()en sla het op in een resultatenobjectres. - Print de volledige samenvatting van de resultaten met de methode
.summary(). - Print alleen een schatting van de theta-parameter met het attribuut
.params[1].
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Import the ARIMA module from statsmodels
from statsmodels.tsa.arima.model import ARIMA
# Fit an MA(1) model to the first simulated data
mod = ARIMA(___, order=___)
res = mod.___
# Print out summary information on the fit
print(res.___)
# Print out the estimate for the constant and for theta
print("When the true theta=-0.9, the estimate of theta is:")
print(res.___)