CommencezCommencez gratuitement

Estimer l'ordre du modèle : PACF

Un outil utile pour déterminer l'ordre d'un modèle AR consiste à examiner la fonction d'autocorrélation partielle (PACF). Dans cet exercice, vous allez simuler deux séries temporelles, une AR(1) et une AR(2), puis calculer la PACF empirique pour chacune. Vous remarquerez que, pour une AR(1), la PACF devrait avoir une valeur significative au retard 1, puis essentiellement des zéros par la suite. Et pour une AR(2), la PACF empirique devrait avoir des valeurs significatives aux retards 1 et 2, puis des zéros après.

Comme vous avez utilisé la fonction plot_acf dans les exercices précédents, vous utiliserez ici une fonction appelée plot_pacf du module statsmodels.

Cette activité fait partie du cours

Analyse des séries chronologiques en Python

Voir le cours

Instructions de l’exercice

  • Importez les modules pour simuler des données et pour tracer la PACF
  • Simulez une AR(1) avec \(\small \phi=0.6\) (rappelez-vous que le signe du paramètre AR est inversé)
  • Tracez la PACF pour simulated_data_1 à l'aide de la fonction plot_pacf
  • Simulez une AR(2) avec \(\small \phi_1=0.6, \phi_2=0.3\) (encore une fois, inversez les signes)
  • Tracez la PACF pour simulated_data_2 à l'aide de la fonction plot_pacf

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import the modules for simulating data and for plotting the PACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_pacf

# Simulate AR(1) with phi=+0.6
ma = np.array([1])
ar = np.array([1, -0.6])
AR_object = ArmaProcess(ar, ma)
simulated_data_1 = ___.generate_sample(nsample=5000)

# Plot PACF for AR(1)
plot_pacf(___, lags=20)
plt.show()

# Simulate AR(2) with phi1=+0.6, phi2=+0.3
ma = np.array([1])
ar = np.array([1, ___, ___])
AR_object = ArmaProcess(ar, ma)
simulated_data_2 = ___.generate_sample(nsample=5000)

# Plot PACF for AR(2)
plot_pacf(___, lags=20)
plt.show()
Modifier et exécuter le code