Previsioni con un modello AR
Oltre a stimare i parametri di un modello, come hai fatto nell’esercizio precedente, con statsmodels puoi anche fare previsioni sia in-sample sia out-of-sample. L’in-sample è la previsione del punto dati successivo usando i dati fino a quel momento; l’out-of-sample prevede un qualsiasi numero di punti futuri. Puoi tracciare i dati previsti con la funzione plot_predict(). Devi fornire il punto di inizio e quello di fine della previsione, che può essere un numero qualsiasi di punti dopo la fine dell’insieme di dati.
Per i dati simulati nel DataFrame simulated_data_1, con \(\small \phi=0.9\), traccerai previsioni out-of-sample e gli intervalli di confidenza attorno a queste previsioni.
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 simulati nel DataFramesimulated_data_1e l’ordine (p,d,q) del modello (in questo caso, per un AR(1)),order=(1,0,0) - Stima il modello
modusando 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 e gli intervalli di confidenza con la funzione
plot_predict(), iniziando dove i dati finiscono al punto 1000 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 AR(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()