Previsioni con modello MA
Come hai fatto con i modelli AR, userai i modelli MA per generare previsioni in-sample e out-of-sample con la funzione plot_predict() di statsmodels.
Per la serie simulata simulated_data_1 con \(\small \theta=-0.9\), traccerai previsioni in-sample e out-of-sample. Una grande differenza che vedrai tra le previsioni out-of-sample con un modello MA(1) e un modello AR(1) è che, a più di un periodo nel futuro, le previsioni dell’MA(1) coincidono semplicemente con la media del campione.
Questo esercizio fa parte del corso
Analisi delle serie temporali in Python
Istruzioni dell'esercizio
- Importa la classe
ARIMAe la funzioneplot_predict - Crea un’istanza della classe
ARIMAchiamatamodusando i dati simulatisimulated_data_1e l’ordine (p,d,q) del modello (in questo caso, per un MA(1)),order=(0,0,1) - Stima il modello
modcon il metodo.fit()e salva il risultato in un oggetto chiamatores - Traccia i dati in-sample a partire dal punto dati 950
- Traccia le previsioni out-of-sample dei dati e gli intervalli di confidenza usando la funzione
plot_predict(), partendo dal punto dati 950 e terminando la previsione al punto 1010
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import the ARIMA and plot_predict from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict
# Forecast the first MA(1) model
mod = ARIMA(___, order=___)
res = mod.fit()
# Plot the data and the forecast
fig, ax = plt.subplots()
simulated_data_1.loc[950:].plot(ax=ax)
plot_predict(res, start=___, end=___, ax=ax)
plt.show()