
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 séries temporelles. Elle contient une variété de modèles, des classiques comme ARIMA
aux réseaux de neurones profonds. Les modèles de prévision peuvent tous être utilisés de la même manière,
avec les 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 l'apprentissage automatique peuvent être entraînés sur des jeux de données potentiellement volumineux contenant plusieurs séries
temporelles, et certains modèles offrent un support riche pour la prévision probabiliste.
Darts offre également des capacités étendues de détection d'anomalies. Par exemple, il est trivial d'appliquer les 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 d'abord de configurer 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 avec 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 et de 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 et faites 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="exemple de prévision darts" />
</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)
Construire un scoreur d'anomalies k-means, l'entraîner sur l'ensemble d'entraînement et l'utiliser sur l'ensemble de validation pour obtenir des scores d'anomalies :```python from darts.ad import KMeansScorer
scorer = KMeansScorer(k=2, window=5) scorer.fit(train) anom_score = scorer.score(val)
Construisez un détecteur d'anomalies binaire et entraînez-le sur les scores d'entraînement,
puis utilisez-le sur les scores de validation pour obtenir une classification binaire des anomalies :```python
from darts.ad import QuantileDetector
detector = QuantileDetector(high_quantile=0.99)
detector.fit(scorer.score(train))
binary_anom = detector.detect(anom_score)
Tracé (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 grande collection de modèles de prévision pour des 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.
* **Support multivarié :** `TimeSeries` peut être multivarié — 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 sur de grands ensembles de données.
* **Support 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.
* **Support 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é.
* **Support 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.
* **Support 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 de brancher tout 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ération des échantillons :** Tous les modèles globaux prennent en charge l'entraînement avec des poids d'échantillon. Ils peuvent être
appliqués à 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.
Ceci est utile par exemple pour les prévisions Day-Ahead Market, 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 (MASE).
* **Backtesting :** Des utilitaires pour simuler des prévisions historiques, en utilisant des fenêtres temporelles mobiles.
* **Support PyTorch Lightning :** Tous les modèles d'apprentissage profond sont implémentés avec PyTorch Lightning,
prenant en charge entre autres les callbacks personnalisés, l'entraînement sur GPU/TPU et les entraîneurs personnalisés.
* **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.
* **Jeux de données :** Le sous-module `darts.datasets` contient quelques jeux 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 modèles futurs dans les données de séries temporelles. Utilisez ces modèles pour obtenir des informations sur les résultats futurs potentiels basés sur des données historiques.| Modèle | Sources | Prise en charge des séries cibles :<br/><br/>Univarié/<br/>Multivarié | Prise en charge des covariables :<br/><br/>Observées dans le passé/<br/>Connues à l'avance/<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é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 [Code source de 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) (Fast Fourier Transform) | | ✅ 🔴 | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [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 des systèmes | [Article sur 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 sur 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) | | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [StatsForecastModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_model.html#darts.models.forecasting.sf_model.StatsForecastModel) enveloppe 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) : enveloppe 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) (y compris 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) (y compris 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) (Temporal Fusion Transformer) | [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) : enveloppe 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 de fondation**<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), [GitHub TiRex](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), [GitHub PatchTST-FM](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 conforme](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 conforme](https://arxiv.org/pdf/1905.03222) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |**Modèles de classification :** Les modèles de classification de 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 | Support de séries cibles :<br/><br/>Univariées/<br/>Multivariées | Support de covariables :<br/><br/>Observées passées/<br/>Connues futures/<br/>Statiques | Prévision probabiliste :<br/><br/>Échantillonnées/<br/>Paramètres de distribution | Entraînement et prévision sur séries multiples |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|--------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------|
| **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
Tout le monde est invité à 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 dire 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: User-Friendly Modern Machine Learning for Time Series](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}
}