CommencerCommencer gratuitement

Estimer l’ordre du modèle : PACF

Un outil pratique pour déterminer l’ordre d’un modèle AR est d’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 constaterez que pour une AR(1), la PACF présente une valeur significative au retard 1, puis est approximativement nulle ensuite. Pour une AR(2), la PACF empirique présente des valeurs significatives aux retards 1 et 2, puis des valeurs nulles au‑delà.

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.

Cet exercice fait partie du cours

Analyse des séries temporelles en Python

Afficher le cours

Instructions

  • Importez les modules pour simuler des données et 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 de simulated_data_1 avec la fonction plot_pacf
  • Simulez une AR(2) avec \(\small \phi_1=0{,}6, \phi_2=0{,}3\) (là aussi, inversez les signes)
  • Tracez la PACF de simulated_data_2 avec la fonction plot_pacf

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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