CommencezCommencez gratuitement

Simuler des séries temporelles AR(1)

Vous allez simuler et tracer quelques séries temporelles AR(1), chacune avec un paramètre \(\small \phi\) différent, en utilisant le module arima_process de statsmodels. Dans cet exercice, vous étudierez un modèle AR(1) avec un \(\small \phi\) fortement positif et un autre fortement négatif, mais n'hésitez pas à essayer vos propres paramètres.

Il existe quelques conventions à connaître avec le module arima_process. D'abord, ces fonctions sont conçues de façon générale pour prendre en charge à la fois les modèles AR et MA. Nous verrons les modèles MA ensuite, donc pour l'instant, ignorez la partie MA. Ensuite, lors de la saisie des coefficients, vous devez inclure le coefficient de décalage zéro égal à 1, et le signe des autres coefficients est l'inverse de ce que nous avons utilisé jusqu'ici (pour être cohérent avec la littérature sur les séries temporelles en traitement du signal). Par exemple, pour un processus AR(1) avec \(\small \phi=0,9\), le tableau représentant les paramètres AR serait ar = np.array([1, -0.9])

Cette activité fait partie du cours

Analyse des séries chronologiques en Python

Voir le cours

Instructions de l’exercice

  • Importez la classe ArmaProcess du module arima_process.
  • Tracez les processus AR simulés :
    • Laissez ar1 représenter un tableau des paramètres AR [1, \(\small -\phi\)], comme expliqué ci-dessus. Pour l'instant, le tableau des paramètres MA, ma1, contiendra seulement le coefficient de décalage zéro égal à un.
    • Avec les paramètres ar1 et ma1, créez une instance de la classe ArmaProcess(ar,ma) appelée AR_object1.
    • Simulez 1000 points de données à partir de l'objet que vous venez de créer, AR_object1, en utilisant la méthode .generate_sample(). Tracez les données simulées dans un sous-graphe.
  • Répétez pour l'autre paramètre AR.

Exercice interactif pratique

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

# import the module for simulating data
from statsmodels.tsa.arima_process import ArmaProcess

# Plot 1: AR parameter = +0.9
plt.subplot(2,1,1)
ar1 = np.array([1, ____])
ma1 = np.array([1])
AR_object1 = ArmaProcess(____, ____)
simulated_data_1 = AR_object1.generate_sample(nsample=1000)
plt.plot(simulated_data_1)

# Plot 2: AR parameter = -0.9
plt.subplot(2,1,2)
ar2 = np.array([1, ____])
ma2 = np.array([1])
AR_object2 = ArmaProcess(____, ____)
simulated_data_2 = AR_object2.generate_sample(nsample=1000)
plt.plot(simulated_data_2)
plt.show()
Modifier et exécuter le code