
Une bibliothèque Python pour la prévision conviviale et la détection d'anomalies sur les séries temporelles.
Darts est une bibliothèque Python pour la prévision et la détection d'anomalies
conviviales sur les séries temporelles. Elle contient une variété de modèles, des classiques
tels que ARIMA aux réseaux de neurones profonds. Les modèles de prévision peuvent tous être
utilisés de la même manière, à l'aide des fonctions fit() et predict(), similaires à
scikit-learn. La bibliothèque facilite également le backtesting des modèles, la combinaison
des prédictions de plusieurs modèles et la prise en compte de données externes.
Darts prend en charge les séries temporelles et les modèles univariés et multivariés.
Les modèles basés sur le machine learning peuvent être entraînés sur des ensembles de données
potentiellement volumineux contenant plusieurs séries temporelles, et certains modèles offrent
un riche support pour la prévision probabiliste.
Darts offre également des capacités étendues de détection d'anomalies. Par exemple, il est trivial d'appliquer des modèles PyOD sur des séries temporelles pour obtenir des scores d'anomalie, ou d'envelopper n'importe quel modèle de prévision ou de filtrage de Darts pour obtenir des modèles de détection d'anomalies complets.
Nous recommandons de configurer d'abord un environnement Python propre pour votre projet avec Python 3.10+ en utilisant votre outil préféré (conda, venv, virtualenv avec ou sans virtualenvwrapper).
Une fois votre environnement configuré, vous pouvez installer darts à l'aide de pip :
pip install darts
Pour plus de détails, vous pouvez consulter nos instructions d'installation.
Créez un objet TimeSeries à partir d'un DataFrame Pandas, et divisez-le en séries d'entraînement/validation :```python
import pandas as pd
from darts import TimeSeries
df = pd.read_csv("AirPassengers.csv", delimiter=",")
series = TimeSeries.from_dataframe(df, "Month", "#Passengers")
train, val = series[:-36], series[-36:]
Ajustez un modèle de lissage exponentiel, puis effectuez une prédiction (probabiliste) sur la durée de la série de validation :```python
from darts.models import ExponentialSmoothing
model = ExponentialSmoothing()
model.fit(train)
prediction = model.predict(len(val), num_samples=1000)
Tracez la médiane, les 5e et 95e percentiles :```python import matplotlib.pyplot as plt
series.plot() prediction.plot(label="forecast", low_quantile=0.05, high_quantile=0.95) plt.legend()
<div style="text-align:center;">
<img src="https://raw.githubusercontent.com/unit8co/darts/master/static/images/example.png" alt="darts forecast example" />
</div>
### Détection d'anomalies
Chargez une série multivariée, découpez-la, conservez 2 composantes, séparez les ensembles d'entraînement et de validation :```python
from darts.datasets import ETTh2Dataset
series = ETTh2Dataset().load()[:10000][["MUFL", "LULL"]]
train, val = series.split_before(0.6)
Construisez un scoreur d'anomalies k-means, entraînez-le sur l'ensemble d'entraînement et utilisez-le sur l'ensemble de validation pour obtenir des scores d'anomalie :```python from darts.ad import KMeansScorer
scorer = KMeansScorer(k=2, window=5) scorer.fit(train) anom_score = scorer.score(val)
Build a binary anomaly detector and train it over train scores,
then use it over validation scores to get binary anomaly classification:```python
from darts.ad import QuantileDetector
detector = QuantileDetector(high_quantile=0.99)
detector.fit(scorer.score(train))
binary_anom = detector.detect(anom_score)
Plot (décalage et mise à l'échelle de certaines séries pour que tout apparaisse sur la même figure) :```python import matplotlib.pyplot as plt
series.plot() (anom_score / 2. - 100).plot(label="computed anomaly score", c="orangered", lw=3) (binary_anom * 45 - 150).plot(label="detected binary anomaly", lw=4)
<div style="text-align:center;">
<img src="https://raw.githubusercontent.com/unit8co/darts/master/static/images/example_ad.png" alt="darts anomaly detection example" />
</div>
## Fonctionnalités
* **Modèles de prévision :** Une vaste collection de modèles de prévision pour les tâches de régression ainsi que de classification ; des modèles statistiques (tels que
ARIMA) aux modèles d'apprentissage profond (tels que N-BEATS). Voir les [modèles de prévision](#forecasting-models) ci-dessous.
* **Détection d'anomalies :** Le module `darts.ad` contient une collection de scoreurs d'anomalies,
de détecteurs et d'agrégateurs, qui peuvent tous être combinés pour détecter des anomalies dans les séries temporelles.
Il est facile d'envelopper n'importe quel modèle de prévision ou de filtrage de Darts pour construire
un modèle de détection d'anomalies complet qui compare les prédictions aux valeurs réelles.
Le `PyODScorer` rend trivial l'utilisation des détecteurs PyOD sur les séries temporelles.
* **Prise en charge multivariée :** `TimeSeries` peut être multivariée - c'est-à-dire contenir plusieurs dimensions/colonnes
variant dans le temps au lieu d'une seule valeur scalaire. De nombreux modèles peuvent consommer et produire des séries multivariées.
* **Entraînement sur plusieurs séries (modèles globaux) :** Tous les modèles basés sur l'apprentissage automatique (y compris tous les réseaux de neurones)
prennent en charge l'entraînement sur plusieurs séries (potentiellement multivariées). Cela peut également passer à l'échelle pour de grands ensembles de données.
* **Prise en charge probabiliste :** Les objets `TimeSeries` peuvent (optionnellement) représenter des séries temporelles
stochastiques ; cela peut par exemple être utilisé pour obtenir des intervalles de confiance, et de nombreux modèles prennent en charge différentes
variantes de prévision probabiliste (telles que l'estimation de distributions paramétriques ou de quantiles).
Certains scoreurs de détection d'anomalies sont également capables d'exploiter ces distributions prédictives.
* **Prise en charge de la prédiction conforme :** Nos modèles de prédiction conforme permettent de générer des prévisions probabilistes avec
des intervalles de quantiles calibrés pour tout modèle de prévision global pré-entraîné.
* **Prise en charge des covariables passées et futures :** De nombreux modèles de Darts prennent en charge les séries temporelles de covariables
(données externes) observées dans le passé et/ou connues dans le futur comme entrées pour produire des prévisions.
* **Prise en charge des covariables statiques :** En plus des données dépendantes du temps, `TimeSeries` peut également contenir
des données statiques pour chaque dimension, qui peuvent être exploitées par certains modèles.
* **Réconciliation hiérarchique :** Darts propose des transformateurs pour effectuer la réconciliation.
Ceux-ci peuvent faire en sorte que les prévisions s'additionnent d'une manière qui respecte la hiérarchie sous-jacente.
* **Modèles de régression :** Il est possible d'intégrer n'importe quel modèle compatible scikit-learn
pour obtenir des prévisions en fonction des valeurs décalées de la série cible et des covariables.
* **Entraînement avec pondérations d'échantillons :** Tous les modèles globaux prennent en charge l'entraînement avec des pondérations d'échantillons. Elles peuvent être
appliquées à chaque observation, pas de temps prévu et colonne cible.
* **Décalage du début de prévision :** Tous les modèles globaux prennent en charge l'entraînement et la prédiction sur une fenêtre de sortie décalée.
Cela est utile par exemple pour les prévisions du marché du jour suivant, ou lorsque les covariables (ou la série cible) sont rapportées
avec un délai.
* **Explicabilité :** Darts a la capacité d'*expliquer* certains modèles de prévision à l'aide des valeurs SHAP.
* **Traitement des données :** Des outils pour appliquer (et annuler) facilement des transformations courantes sur
les données de séries temporelles (mise à l'échelle, remplissage des valeurs manquantes, différenciation, boxcox, ...)
* **Métriques :** Une variété de métriques pour évaluer la qualité d'ajustement des séries temporelles ;
des scores R2 à l'erreur absolue moyenne à l'échelle.
* **Backtesting :** Des utilitaires pour simuler des prévisions historiques, en utilisant des fenêtres temporelles mobiles.
* **Prise en charge de PyTorch Lightning :** Tous les modèles d'apprentissage profond sont implémentés à l'aide de PyTorch Lightning,
prenant en charge entre autres les callbacks personnalisés, l'entraînement sur GPU/TPU et les entraîneurs personnalisés.
* **Intégration MLflow :** Intégration avec MLflow pour le suivi, la comparaison et la persistance automatisés
des expériences de modèles de prévision Darts. Voir le [notebook de démarrage rapide MLflow](https://unit8co.github.io/darts/examples/29-MLflow-examples.html) pour des exemples.
* **Modèles de filtrage :** Darts propose trois modèles de filtrage : `KalmanFilter`, `GaussianProcessFilter`,
et `MovingAverageFilter`, qui permettent de filtrer les séries temporelles, et dans certains cas d'obtenir des inférences
probabilistes des états/valeurs sous-jacents.
* **Ensembles de données :** Le sous-module `darts.datasets` contient certains ensembles de données de séries temporelles populaires pour une expérimentation rapide
et reproductible.
* **Compatibilité avec plusieurs backends :** Les objets `TimeSeries` peuvent être créés à partir de et exportés vers divers backends tels que pandas, polars, numpy, pyarrow, xarray, et plus encore, facilitant une intégration transparente avec différentes bibliothèques de traitement de données.
## Modèles de prévision
Voici une répartition des modèles de prévision actuellement implémentés dans Darts. Notre suite comprend à la fois des modèles de régression et de classification, chacun adapté à des tâches de prévision spécifiques. Nous nous engageons à élargir nos offres avec de nouveaux modèles et fonctionnalités pour améliorer vos capacités de prévision.
**Modèles de régression :** Nos modèles de régression sont conçus pour prédire des valeurs numériques continues, ce qui les rend idéaux pour prévoir les tendances et les schémas futurs dans les données de séries temporelles. Utilisez ces modèles pour obtenir des informations sur les résultats futurs potentiels en fonction des données historiques.| Modèle | Sources | Prise en charge des séries cibles :<br/><br/>Univariées/<br/>Multivariées | Prise en charge des covariables :<br/><br/>Observées dans le passé/<br/>Connues dans le futur/<br/>Statiques | Prévisions probabilistes :<br/><br/>Échantillonnées/<br/>Paramètres de distribution | Entraînement et prévision sur plusieurs séries |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------|
| **Modèles de référence**<br/>([LocalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#local-forecasting-models-lfms)) | | | | | |
| [NaiveMean](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveMean) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [NaiveSeasonal](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveSeasonal) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [NaiveDrift](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveDrift) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [NaiveMovingAverage](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveMovingAverage) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| **Modèles statistiques / classiques**<br/>([LocalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#local-forecasting-models-lfms)) | | | | | |
| [ARIMA](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.arima.html#darts.models.forecasting.arima.ARIMA) | | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [VARIMA](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.varima.html#darts.models.forecasting.varima.VARIMA) | | 🔴 ✅ | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [ExponentialSmoothing](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.exponential_smoothing.html#darts.models.forecasting.exponential_smoothing.ExponentialSmoothing) | | ✅ 🔴 | 🔴 🔴 🔴 | ✅ 🔴 | 🔴 |
| [Theta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.theta.html#darts.models.forecasting.theta.Theta) et [FourTheta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.theta.html#darts.models.forecasting.theta.FourTheta) | [Article sur Theta](https://robjhyndman.com/papers/Theta.pdf) et [source 4 Theta](https://github.com/Mcompetitions/M4-methods/blob/master/4Theta%20method.R) | ✅ 🔴 | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [Prophet](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.prophet_model.html#darts.models.forecasting.prophet_model.Prophet) | [Dépôt Prophet](https://github.com/facebook/prophet) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [FFT](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.fft.html#darts.models.forecasting.fft.FFT) (Transformée de Fourier rapide) | | ✅ 🔴 | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [KalmanForecaster](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.kalman_forecaster.html#darts.models.forecasting.kalman_forecaster.KalmanForecaster) utilisant le filtre de Kalman et N4SID pour l'identification du système | [Article N4SID](https://people.duke.edu/~hpgavin/SystemID/References/VanOverschee-Automatica-1994.pdf) | ✅ ✅ | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [TBATS](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_tbats.html#darts.models.forecasting.sf_tbats.TBATS) | [Article TBATS](https://robjhyndman.com/papers/ComplexSeasonality.pdf) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| Méthode [Croston](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_croston.html#darts.models.forecasting.sf_croston.Croston) | | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| Wrapper [StatsForecastModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_model.html#darts.models.forecasting.sf_model.StatsForecastModel) autour de tout modèle [StatsForecast](https://nixtlaverse.nixtla.io/statsforecast/index.html#models) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoARIMA](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_arima.html#darts.models.forecasting.sf_auto_arima.AutoARIMA) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoETS](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_ets.html#darts.models.forecasting.sf_auto_ets.AutoETS) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoCES](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_ces.html#darts.models.forecasting.sf_auto_ces.AutoCES) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoMFLES](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_mfles.html#darts.models.forecasting.sf_auto_mfles.AutoMFLES) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoTBATS](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_tbats.html#darts.models.forecasting.sf_auto_tbats.AutoTBATS) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoTheta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_theta.html#darts.models.forecasting.sf_auto_theta.AutoTheta) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [MultivariateModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.multivariate_model.html#darts.models.forecasting.multivariate_model.MultivariateModel) | | ✅ ✅ | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| **Modèles de référence globaux**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [GlobalNaiveAggregate](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.global_baseline_models.html#darts.models.forecasting.global_baseline_models.GlobalNaiveAggregate) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| [GlobalNaiveDrift](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.global_baseline_models.html#darts.models.forecasting.global_baseline_models.GlobalNaiveDrift) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| [GlobalNaiveSeasonal](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.global_baseline_models.html#darts.models.forecasting.global_baseline_models.GlobalNaiveSeasonal) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| **Modèles de régression**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [SKLearnModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sklearn_model.html#darts.models.forecasting.sklearn_model.SKLearnModel) : wrapper autour de tout modèle de régression de type scikit-learn | | ✅ ✅ | ✅ ✅ ✅ | 🔴 🔴 | ✅ |
| [LinearRegressionModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.linear_regression_model.html#darts.models.forecasting.linear_regression_model.LinearRegressionModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [RandomForestModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.random_forest.html#darts.models.forecasting.random_forest.RandomForestModel) | | ✅ ✅ | ✅ ✅ ✅ | 🔴 🔴 | ✅ |
| [CatBoostModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.catboost_model.html#darts.models.forecasting.catboost_model.CatBoostModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [LightGBMModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.lgbm.html#darts.models.forecasting.lgbm.LightGBMModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [XGBModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.xgboost.html#darts.models.forecasting.xgboost.XGBModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Modèles basés sur PyTorch (Lightning)**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [RNNModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.rnn_model.html#darts.models.forecasting.rnn_model.RNNModel) (incl. LSTM et GRU) ; équivalent à DeepAR dans sa version probabiliste | [Article DeepAR](https://arxiv.org/abs/1704.04110) | ✅ ✅ | 🔴 ✅ 🔴 | ✅ ✅ | ✅ |
| [BlockRNNModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.block_rnn_model.html#darts.models.forecasting.block_rnn_model.BlockRNNModel) (incl. LSTM et GRU) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NBEATSModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nbeats.html#darts.models.forecasting.nbeats.NBEATSModel) | [Article N-BEATS](https://arxiv.org/abs/1905.10437) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [NHiTSModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nhits.html#darts.models.forecasting.nhits.NHiTSModel) | [Article N-HiTS](https://arxiv.org/abs/2201.12886) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [TCNModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tcn_model.html#darts.models.forecasting.tcn_model.TCNModel) | [Article TCN](https://arxiv.org/abs/1803.01271), [Article DeepTCN](https://arxiv.org/abs/1906.04397), [article de blog](https://medium.com/unit8-machine-learning-publication/temporal-convolutional-networks-and-forecasting-5ce1b6e97ce4) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [TransformerModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.transformer_model.html#darts.models.forecasting.transformer_model.TransformerModel) | | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [TFTModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tft_model.html#darts.models.forecasting.tft_model.TFTModel) (Transformeur à fusion temporelle) | [Article TFT](https://arxiv.org/pdf/1912.09363.pdf), [PyTorch Forecasting](https://pytorch-forecasting.readthedocs.io/en/latest/models.html) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [DLinearModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.dlinear.html#darts.models.forecasting.dlinear.DLinearModel) | [Article DLinear](https://arxiv.org/pdf/2205.13504.pdf) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NLinearModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nlinear.html#darts.models.forecasting.nlinear.NLinearModel) | [Article NLinear](https://arxiv.org/pdf/2205.13504.pdf) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [TiDEModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tide_model.html#darts.models.forecasting.tide_model.TiDEModel) | [Article TiDE](https://arxiv.org/pdf/2304.08424.pdf) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [TSMixerModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tsmixer_model.html#darts.models.forecasting.tsmixer_model.TSMixerModel) | [Article TSMixer](https://arxiv.org/pdf/2303.06053.pdf), [Implémentation PyTorch](https://github.com/ditschuk/pytorch-tsmixer) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NeuralForecastModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nf_model.html#darts.models.forecasting.nf_model.NeuralForecastModel) : wrapper autour de tout modèle de base [NeuralForecast](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/overview.html) | [Documentation NeuralForecast](https://nixtlaverse.nixtla.io/neuralforecast/docs/) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Modèles fondamentaux**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) : aucun entraînement requis | | | | | |
| [Chronos2Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.chronos2_model.html#darts.models.forecasting.chronos2_model.Chronos2Model) | [Rapport Chronos-2](https://arxiv.org/abs/2510.15821), [Article de blog Amazon](https://www.amazon.science/blog/introducing-chronos-2-from-univariate-to-universal-forecasting) | ✅ ✅ | ✅ ✅ 🔴 | ✅ ✅ | ✅ |
| [TimesFM2p5Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.timesfm2p5_model.html#darts.models.forecasting.timesfm2p5_model.TimesFM2p5Model) | [Article TimesFM 1.0](https://arxiv.org/abs/2310.10688), [Article de blog Google](https://research.google/blog/a-decoder-only-foundation-model-for-time-series-forecasting) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| [TiRexModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tirex_model.html#darts.models.forecasting.tirex_model.TiRexModel) | [Article TiRex](https://arxiv.org/abs/2505.23719), [TiRex GitHub](https://github.com/NX-AI/tirex) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| [PatchTSTFMModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.patchtst_fm_model.html#darts.models.forecasting.patchtst_fm_model.PatchTSTFMModel) | [Article PatchTST-FM](https://arxiv.org/abs/2602.06909), [PatchTST-FM GitHub](https://github.com/ibm-granite/granite-tsfm) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| **Modèles d'ensemble**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) : la prise en charge des modèles dépend des modèles de prévision ensemblistes et du modèle d'ensemble lui-même | | | | | |
| [NaiveEnsembleModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.naive_ensemble_model.html#darts.models.forecasting.naive_ensemble_model.NaiveEnsembleModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [RegressionEnsembleModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.regression_ensemble_model.html#darts.models.forecasting.regression_ensemble_model.RegressionEnsembleModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Modèles conformes**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) : la prise en charge des modèles dépend du modèle de prévision utilisé | | | | | |
| [ConformalNaiveModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.conformal_models.html#darts.models.forecasting.conformal_models.ConformalNaiveModel) | [Prédiction conformalisée](https://arxiv.org/pdf/1905.03222) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [ConformalQRModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.conformal_models.html#darts.models.forecasting.conformal_models.ConformalQRModel) | [Régression quantile conformalisée](https://arxiv.org/pdf/1905.03222) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |**Modèles de classification :** Les modèles de classification dans Darts sont conçus pour prédire des étiquettes de classes catégorielles, permettant un étiquetage efficace des séries temporelles et la prédiction de classes futures. Ces modèles sont parfaits pour les scénarios où l'identification de catégories ou d'états distincts au fil du temps est cruciale.
| Modèle | Sources | Prise en charge des séries cibles :<br/><br/>Univariées/<br/>Multivariées | Prise en charge des covariables :<br/><br/>Observées passées/<br/>Connues futures/<br/>Statiques | Prévision probabiliste :<br/><br/>Échantillonnée/<br/>Paramètres de distribution | Entraînement et prévision sur plusieurs séries |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|--------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|-----------------------------------------------|
| **Modèles de régression**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [SKLearnClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sklearn_model.html#darts.models.forecasting.sklearn_model.SKLearnClassifierModel) : wrapper autour de tout modèle de classification de type scikit-learn | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [CatBoostClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.catboost_model.html#darts.models.forecasting.catboost_model.CatBoostClassifierModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [LightGBMClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.lgbm.html#darts.models.forecasting.lgbm.LightGBMClassifierModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [XGBClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.xgboost.html#darts.models.forecasting.xgboost.XGBClassifierModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
## Communauté et contact
Toute personne est invitée à rejoindre notre [salon Gitter](https://gitter.im/u8darts/darts) pour poser des questions, faire des propositions,
discuter de cas d'utilisation, et plus encore. Si vous repérez un bug ou avez des suggestions, les issues GitHub sont également les bienvenues.
Si ce que vous souhaitez nous communiquer ne convient pas à Gitter ou GitHub,
n'hésitez pas à nous envoyer un e-mail à <a href="mailto:[email protected]">[email protected]</a> pour
les questions liées à darts ou à <a href="mailto:[email protected]">[email protected]</a> pour toute autre
demande.
## Contribuer
Le développement est en cours, et nous accueillons volontiers les suggestions, les pull requests et les issues sur GitHub.
Tous les contributeurs seront reconnus sur la
[page du journal des modifications](https://github.com/unit8co/darts/blob/master/CHANGELOG.md).
Avant de travailler sur une contribution (une nouvelle fonctionnalité ou un correctif),
[consultez nos directives de contribution](https://github.com/unit8co/darts/blob/master/CONTRIBUTING.md).
## Citation
Si vous utilisez Darts dans vos travaux scientifiques, nous vous serions reconnaissants de citer l'article JMLR suivant.
[Darts : apprentissage automatique moderne et convivial pour les séries temporelles](https://www.jmlr.org/papers/v23/21-1177.html)
Entrée Bibtex (ou copiez directement via la citation du dépôt GitHub) :```
@article{Herzen_Darts_User-Friendly_Modern_2022,
author = {Herzen, Julien and Lässig, Francesco and Piazzetta, Samuele Giuliano and Neuer, Thomas and Tafti, Léo and Raille, Guillaume and Van Pottelbergh, Tomas and Pasieka, Marek and Skrodzki, Andrzej and Huguenin, Nicolas and Dumonal, Maxime and Kościsz, Jan and Bader, Dennis and Gusset, Frédérick and Benheddi, Mounir and Williamson, Camila and Kosinski, Michal and Petrik, Matej and Grosch, Gaël},
journal = {Journal of Machine Learning Research},
number = {124},
pages = {1--6},
title = {{Darts: User-Friendly Modern Machine Learning for Time Series}},
url = {https://jmlr.org/papers/v23/21-1177.html},
volume = {23},
year = {2022}
}