TIME SERIES DATA ANALYSIS AVEC SARIMA ET DASH
Dans cet article, nous explorerons les étapes pour identifier un modèle SARIMA qui convient à nos données en utilisant l’ensemble de données AirPassenger tel que fourni. Ces étapes correspondent approximativement à une “page” de l’application web Dash. Nous commençons par créer un graphique linéaire de nos données brutes pour identifier toutes les caractéristiques telles que la stationnarité, la saisonnalité et la tendance.
PLOT DE DONNÉES
Nous avons observé une tendance linéaire positive et un motif saisonnier récurrent dans notre graphique. Étant donné que nous avons des données mensuelles, nous pouvons supposer que la saisonnalité est annuelle (décalage de 12). Nous avons également remarqué que les données ne sont pas stationnaires.
TRANSFORMER LES DONNÉES POUR LES RENDRE STATIONNAIRES
Afin de trouver les hyperparamètres du modèle, nous avons besoin de travailler avec une série chronologique stationnaire. Par conséquent, si les données ne sont pas stationnaires, nous devons les transformer. Nous pouvons effectuer des transformations de stationnarité à l’aide de la transformation logarithmique et de la différenciation.
Dans notre exemple, nous avons effectué les étapes suivantes pour rendre les données totalement stationnaires :
TRANSFORMATIONS STATIONNAIRES
Nous avons constaté que la courbe de Box-Cox devenait progressivement plus lisse à chaque étape et que la valeur p de l’ADF test diminuait progressivement. Les données sont finalement stationnaires.
IDENTIFIER LES HYPERPARAMÈTRES DU MODÈLE ADÉQUAT AVEC ACF ET PACF
Lors de la transformation des données en stationnaires, nous avons déjà identifié trois paramètres. Les différences d’ordre 1 et 12 nous ont permis de déterminer que le modèle inclut des composants de différenciation. Pour les autres paramètres, nous pouvons utiliser les fonctions de corrélation (ACF et PACF) pour trouver des modèles candidats.
Dans notre exemple, nous avons identifié deux modèles potentiels :
– SARIMA (p, d, q) (P, D, Q) m = (0, 1, 1) (0, 1, 1) 12
– SARIMA (p, d, q) (P, D, Q) m = (0, 1, 3) (0, 1, 1) 12
RÉALISER UNE RECHERCHE DE GRILLE DE PARAMÈTRES POUR TROUVER LES PARAMÈTRES OPTIMAUX
La recherche de grille peut être utilisée pour comparer plusieurs modèles candidats. Dans notre cas, nous avons comparé les performances de chaque modèle en utilisant le score AIC (critère d’information d’Akaïké). Ce score représente un compromis entre l’erreur de prédiction et la complexité du modèle.
En utilisant un jeu de paramètres pour la recherche de grille, nous avons identifié que le modèle SARIMA (0, 1, 1) (0, 1, 1) 12 présentait les meilleures performances.
MODÈLE FINAL : AJUSTEMENT ET PRÉDICTIONS
Nous avons finalement utilisé ce modèle pour prédire les données pour l’ensemble des observations. Nous avons également tracé un graphique pour les résidus du modèle pour confirmer que toutes les corrélations ont bien été capturées.
En fin de compte, ce processus nous permet de comprendre comment identifier un modèle SARIMA avec succès pour des données chronologiques.
Sources :
– Gabriele Albini (May, 2023). Time Series Data Analysis with sARIMA and Dash | by Gabriele Albini | May, 2023. https://dash-gallery.plotly.host/dash-timeseriesstats/
– AirPassenger Dataset : https://raw.githubusercontent.com/plotly/datasets/master/monthly-airline-passenger-counts.csv