Analyse des séries temporelles en Python et R

Didacticiel de comparaison avec Prophet

Comparez les flux de travail de prévision des séries temporelles à l’aide de Facebook Prophet en Python et en R. Ce tutoriel fournit des exemples côte à côte pour vous aider à comprendre comment charger les données, ajuster les modèles et visualiser les prévisions dans chaque environnement.

Programmation
Auteur·rice
Affiliation
Date de publication

12 février 2024

Modifié

9 mai 2025

Mots clés

analyse des séries temporelles Python R, Tutoriel Prophet, Python Prophet, R Prophet, Prévision en Python, Prévision en R

Introduction

L’analyse des séries temporelles est essentielle pour prévoir et comprendre les tendances des données séquentielles. Dans ce tutoriel, nous fournissons des exemples côte à côte en utilisant Facebook Prophet un outil populaire pour la prévision des séries temporelles, à la fois en Python et en R. Vous apprendrez à préparer vos données, à ajuster un modèle et à visualiser les tendances futures, ce qui vous permettra de comparer les flux de travail et de choisir la meilleure approche pour vos projets.



Utilisation de Facebook Prophet pour les prévisions de séries temporelles

Ci-dessous, vous trouverez un ensemble de tableaux qui montre comment construire et visualiser une prévision en utilisant Prophet à la fois en Python et en R.

ÉTAPE 1. Chargement des paquets requis:

#| label: python-required-packages
import pandas as pd
import numpy as np
from prophet import Prophet
import matplotlib.pyplot as plt

ÉTAPE 2. Charger et transformer les données:

#| label: python-load-data
# Charger l'ensemble de données AirPassengers
air_passengers = pd.read_csv("https://raw.githubusercontent.com/kassambara/datarium/refs/heads/main/data-raw/AirPassengersDf.csv")

# Convertir les valeurs temporelles dans un format de date approprié
df = pd.DataFrame({
    'ds': pd.to_datetime(air_passengers['Month']), 
    'y': air_passengers['Passengers']
})
df.head()
          ds    y
0 1949-01-01  112
1 1949-02-01  118
2 1949-03-01  132
3 1949-04-01  129
4 1949-05-01  121
Note

Le jeu de données AirPassengers contient des données mensuelles sur le nombre de passagers.

ÉTAPE 3. Ajustement du modèle Prophet:

#| label: python-prophet-fit
# Ajuster le modèle Prophet
model = Prophet()
model.fit(df)

ÉTAPE 4. Faire des prévisions*:

#| label: python-make-forecast
# Créer un cadre de données pour les prévisions futures (12 prochains mois)
future = model.make_future_dataframe(periods=12, freq='MS')
forecast = model.predict(future)

ÉTAPE 5. Tracer les prévisions*:

#| label: python-plot-forecast
# Tracer les prévisions
fig = model.plot(forecast)
plt.show()

Python Prophet Forecast

ÉTAPE 6. Tracer les composantes de la prévision*:

Note

Ceci montrera la tendance, la saisonnalité et les effets de vacances dans la prévision.

#| label: python-plot-components
# Tracer les composantes de la prévision
fig = model.plot_components(forecast)
plt.show()

Composantes de la prévision avec Python Prophet

ÉTAPE 1. Chargement des paquets requis:

#| label: r-required-packages
library(prophet)

ÉTAPE 2. Charger et transformer les données:

#| label: r-load-data
# Charger l'ensemble de données AirPassengers
air_passengers <- read.csv("https://raw.githubusercontent.com/kassambara/datarium/refs/heads/main/data-raw/AirPassengersDf.csv")

# Convertir les valeurs temporelles dans un format de date approprié
df <- data.frame(
  ds = as.Date(air_passengers$Month), 
  y = as.numeric(air_passengers$Passengers)
  )
head(df)
          ds   y
1 1949-01-01 112
2 1949-02-01 118
3 1949-03-01 132
4 1949-04-01 129
5 1949-05-01 121
6 1949-06-01 135
Note

Le jeu de données AirPassengers contient des données mensuelles sur le nombre de passagers.

ÉTAPE 3. Ajustement du modèle Prophet:

#| label: r-prophet-fit
# Ajuster le modèle Prophet
model <- prophet(df)
Note

Prophet détectera la saisonnalité mensuelle de l’ensemble de données et désactivera par défaut la saisonnalité quotidienne et hebdomadaire.

Vous pouvez exécuter prophet() avec weekly.seasonality = TRUE ou daily.seasonality = TRUE pour remplacer ce comportement.

ÉTAPE 4. Faire des prévisions*:

Le modèle a été entraîné sur des données historiques de 1949 à 1961 1960. Nous allons maintenant générer des prévisions pour les 12 prochains mois (1961).

#| label: r-make-forecast
# Créer un cadre de données pour les prévisions futures (12 prochains mois)
future <- make_future_dataframe(model, periods = 12, freq = "month")
# Faire des prévisions
forecast <- predict(model, future)

ÉTAPE 5. Tracer les prévisions*:

#| label: r-plot-forecast
# Tracer les prévisions
plot(model, forecast)

R Prophet Forecast

ÉTAPE 6. Tracer les composantes de la prévision*:

Note

Ceci montrera la tendance, la saisonnalité et les effets de vacances dans la prévision.

#| label: r-plot-components
# Tracer les composantes de la prévision
prophet_plot_components(model, forecast)

R Prophet Forecast Components

Discussion

Préparation des données

Les deux exemples utilisent l’ensemble de données AirPassengers, qui contient des données mensuelles sur le nombre de passagers.

Ajustement de modèles et prévisions

Les deux exemples utilisent Prophet pour ajuster un modèle et générer des prévisions. Les flux de travail sont remarquablement similaires, ce qui démontre que l’interopérabilité entre les langages peut offrir une certaine flexibilité dans le choix des outils en fonction de vos besoins spécifiques.

Visualisation

Chaque exemple se termine par une visualisation des prévisions. En Python, nous utilisons Matplotlib via la fonction de traçage intégrée de Prophet, tandis qu’en R, la fonction de traçage de Prophet produit un résultat visuel similaire.

Ressources complémentaires

Pour ceux qui souhaitent explorer des ensembles de données de séries temporelles dans différents domaines, vous pouvez consulter la bibliothèque tsdl sur GitHub. Prophet fournit une collection variée de données de séries temporelles, ce qui peut s’avérer très utile pour tester et comparer les modèles de prévision.

Conclusion

En comparant ces exemples côte à côte, vous pouvez voir que Facebook Prophet offre une approche cohérente de la prévision des séries temporelles à la fois en Python et en R. Cela vous permet de choisir l’environnement qui correspond le mieux à votre flux de travail en science des données sans sacrifier les fonctionnalités ou les performances.

Plus d’informations

Bon codage et bonne prévision de vos séries temporelles avec Prophet!

Explorer d’autres articles

Note

Voici d’autres articles de la même catégorie pour vous aider à approfondir le sujet.

Retour au sommet

Réutilisation

Citation

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Analyse des séries temporelles en Python et R},
  date = {2024-02-12},
  url = {https://www.datanovia.com/fr/learn/programming/r/cross-programming/time-series-analysis-in-python-and-r.html},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
Kassambara, Alboukadel. 2024. “Analyse des séries temporelles en Python et R.” February 12, 2024. https://www.datanovia.com/fr/learn/programming/r/cross-programming/time-series-analysis-in-python-and-r.html.