Analyse des séries temporelles avec R
Objectifs pédagogiques
- Mettre en œuvre les méthodes de base de l’analyse des séries temporelles avec le logiciel R
- Apprendre à manipuler les séries temporelles avec le logiciel R
- Effectuer des modèles de prévision simples
Programme détaillé
Cette formation propose d’approfondir la pratique du logiciel R appliquée aux méthodes d’analyse des séries temporelles. À travers de nombreux exercices pratiques, les stagiaires mettront en œuvre ces méthodes sur des séries mensuelles et trimestrielles, avec des ouvertures dédiées aux données à haute fréquence.
Rappel sur l’environnement de travail de R 30 min
Les structures de séries temporelles dans R : les objets ts et tsibble 2h
Lecture et différentes représentations graphiques d’une série temporelle 2h30
Transformation des données et stabilisation de la variance 30 min
Décomposition d’une série temporelle 30 min
Évaluer les qualités de prévision d’un modèle et modèles de prévision simples 1h
Prévision avec les méthodes de lissage exponentiel et les modèles ARIMA 5h
Public visé
Toute personne souhaitant connaitre les bases pour le traitement des séries temporelles et leur prévision avec le logiciel R : chargés d’études, data analysts…
Prérequis
Connaissances de base de R et de statistique
Approche pédagogique
Calculés à partir de 32 avis recueillis depuis 16/09/2016, lors de 6 sessions de cette formation.
Séries temporelles avec R : de ts et forecast à tsibble et fable
R propose aujourd’hui deux générations d’outils pour les séries temporelles. La première s’appuie sur l’objet ts du R de base et sur le package forecast ; la seconde, dite tidyverts, sur tsibble, feasts et fable. Toutes deux sont issues de l’équipe de Rob Hyndman à l’université Monash (Earo Wang pour tsibble, Mitchell O’Hara-Wild pour fable), et proposent les mêmes familles de modèles : lissage exponentiel et ARIMA.
La génération ts et forecast
Un objet ts décrit une série régulière par sa date de début et sa fréquence (12 pour des données mensuelles, 4 pour des trimestrielles). Le package forecast y ajoute la sélection automatique des modèles, ets() pour le lissage exponentiel et auto.arima() pour les ARIMA, ainsi que le calcul des prévisions et de leur précision :
library(forecast)
fit <- ets(AirPassengers)
prev <- forecast(fit, h = 24)
plot(prev)
accuracy(fit)
Le package est désormais « retiré » au profit de fable : il reste maintenu, mais ne reçoit plus que des corrections de bugs. Il demeure très présent dans le code existant et dans de nombreux supports.
La génération tsibble et fable
Une tsibble est un tableau de données dont une colonne sert d’index temporel et dont des colonnes « clés » permettent de stocker plusieurs séries dans le même objet : les ventes de cent magasins, l’emploi de treize régions. feasts fournit les décompositions et les graphiques, fable les modèles, avec une syntaxe commune qui permet d’ajuster et de comparer plusieurs modèles à la fois :
library(tsibble)
library(fable)
air <- as_tsibble(AirPassengers)
fit <- air |> model(ets = ETS(value), arima = ARIMA(value))
fit |> forecast(h = "2 years")
accuracy(fit)
L’index d’une tsibble n’est pas limité à une fréquence entière, ce qui facilite le travail sur des données journalières ou infra-journalières.
Lequel choisir ?
Pour une série unique et du code existant, ts et forecast restent simples et efficaces. Pour de nombreuses séries, une intégration avec dplyr et ggplot2, ou un projet nouveau, tsibble et fable sont la voie que suivent désormais leurs auteurs. Le manuel en ligne et gratuit de Rob Hyndman et George Athanasopoulos, Forecasting: Principles and Practice, illustre bien ce passage : sa deuxième édition s’appuie sur forecast, la troisième (2021) sur fable.
Pour la correction des variations saisonnières et des jours ouvrables avec X-13 et JDemetra+, voir Désaisonnaliser une série temporelle.