
Eine Python-Bibliothek für benutzerfreundliche Prognose und Anomalieerkennung auf Zeitreihen.
Darts ist eine Python-Bibliothek für benutzerfreundliche Prognosen (Forecasting) und Anomalieerkennung
bei Zeitreihen. Sie enthält eine Vielzahl von Modellen, von Klassikern wie ARIMA bis hin zu
tiefen neuronalen Netzen. Alle Prognosemodelle können auf dieselbe Weise verwendet werden,
mithilfe der Funktionen fit() und predict(), ähnlich wie bei scikit-learn.
Die Bibliothek macht es außerdem einfach, Modelle zu backtesten,
die Vorhersagen mehrerer Modelle zu kombinieren und externe Daten zu berücksichtigen.
Darts unterstützt sowohl univariate als auch multivariate Zeitreihen und Modelle.
Die ML-basierten Modelle können auf potenziell großen Datensätzen mit mehreren Zeitreihen trainiert werden,
und einige der Modelle bieten umfangreiche Unterstützung für probabilistische Prognosen.
Darts bietet außerdem umfangreiche Funktionen zur Anomalieerkennung. So ist es beispielsweise trivial, PyOD-Modelle auf Zeitreihen anzuwenden, um Anomalie-Scores zu erhalten, oder beliebige Darts-Prognose- oder Filterungsmodelle zu umhüllen, um vollwertige Anomalieerkennungsmodelle zu erhalten.
Wir empfehlen, zunächst eine saubere Python-Umgebung für Ihr Projekt mit Python 3.10+ einzurichten, und zwar mit Ihrem bevorzugten Tool (conda, venv, virtualenv mit oder ohne virtualenvwrapper).
Sobald Ihre Umgebung eingerichtet ist, können Sie darts mit pip installieren:
pip install darts
Weitere Details finden Sie in unseren Installationsanweisungen.
Erstellen Sie ein TimeSeries-Objekt aus einem Pandas-DataFrame und teilen Sie es in Trainings-/Validierungsserien auf:```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:]
Passen Sie ein exponentielles Glättungsmodell an und treffen Sie eine (probabilistische) Vorhersage über die Dauer der Validierungsreihe:```python
from darts.models import ExponentialSmoothing
model = ExponentialSmoothing()
model.fit(train)
prediction = model.predict(len(val), num_samples=1000)
Plotten Sie den Median sowie das 5. und 95. Perzentil:```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>
### Anomalieerkennung
Laden Sie eine multivariate Zeitreihe, kürzen Sie sie, behalten Sie 2 Komponenten und teilen Sie Trainings- und Validierungssätze:```python
from darts.datasets import ETTh2Dataset
series = ETTh2Dataset().load()[:10000][["MUFL", "LULL"]]
train, val = series.split_before(0.6)
Baue einen k-means-Anomalie-Scorer, trainiere ihn auf dem Trainingsset und verwende ihn auf dem Validierungsset, um Anomalie-Scores zu erhalten:```python from darts.ad import KMeansScorer
scorer = KMeansScorer(k=2, window=5) scorer.fit(train) anom_score = scorer.score(val)
Baue einen binären Anomalie-Detektor und trainiere ihn mit den Trainings-Scores,
verwende ihn dann über den Validierungs-Scores, um eine binäre Anomalie-Klassifikation zu erhalten:```python
from darts.ad import QuantileDetector
detector = QuantileDetector(high_quantile=0.99)
detector.fit(scorer.score(train))
binary_anom = detector.detect(anom_score)
Plot (Verschieben und Skalieren einiger der Reihen, damit alles in derselben Abbildung erscheint):```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>
## Funktionen
* **Prognosemodelle:** Eine große Sammlung von Prognosemodellen für Regressions- sowie Klassifikationsaufgaben; von statistischen Modellen (wie
ARIMA) bis hin zu Deep-Learning-Modellen (wie N-BEATS). Siehe die [Prognosemodelle](#forecasting-models) unten.
* **Anomalieerkennung:** Das `darts.ad`-Modul enthält eine Sammlung von Anomalie-Scorern,
Detektoren und Aggregatoren, die alle kombiniert werden können, um Anomalien in Zeitreihen zu erkennen.
Es ist einfach, jedes Darts-Prognose- oder Filtermodell zu umschließen, um ein
vollwertiges Anomalieerkennungsmodell zu erstellen, das Vorhersagen mit Ist-Werten vergleicht.
Der `PyODScorer` macht es trivial, PyOD-Detektoren auf Zeitreihen anzuwenden.
* **Multivariate Unterstützung:** `TimeSeries` können multivariat sein – d. h. mehrere zeitveränderliche
Dimensionen/Spalten enthalten, anstatt eines einzelnen Skalarwerts. Viele Modelle können multivariate Reihen verarbeiten und erzeugen.
* **Training mit mehreren Reihen (Globale Modelle):** Alle auf maschinellem Lernen basierenden Modelle (einschließlich aller neuronalen Netze)
unterstützen das Training auf mehreren (potenziell multivariaten) Reihen. Dies kann auch auf große Datensätze skaliert werden.
* **Probabilistische Unterstützung:** `TimeSeries`-Objekte können (optional) stochastische
Zeitreihen darstellen; dies kann beispielsweise verwendet werden, um Konfidenzintervalle zu erhalten, und viele Modelle unterstützen verschiedene
Varianten der probabilistischen Prognose (wie die Schätzung parametrischer Verteilungen oder Quantile).
Einige Anomalie-Scorer können diese prädiktiven Verteilungen ebenfalls nutzen.
* **Unterstützung für konforme Vorhersagen:** Unsere konformen Vorhersagemodelle ermöglichen die Erzeugung probabilistischer Prognosen mit
kalibrierten Quantilintervallen für jedes vortrainierte globale Prognosemodell.
* **Unterstützung für vergangene und zukünftige Kovariaten:** Viele Modelle in Darts unterstützen vergangenheitsbeobachtete und/oder zukunftbekannte
Kovariaten- (externe Daten) Zeitreihen als Eingaben zur Erstellung von Prognosen.
* **Unterstützung für statische Kovariaten:** Zusätzlich zu zeitabhängigen Daten können `TimeSeries` auch
statische Daten für jede Dimension enthalten, die von einigen Modellen genutzt werden können.
* **Hierarchische Rekonziliation:** Darts bietet Transformatoren zur Durchführung von Rekonziliation.
Diese können dafür sorgen, dass die Prognosen in einer Weise aufsummieren, die der zugrunde liegenden Hierarchie entspricht.
* **Regressionsmodelle:** Es ist möglich, jedes mit scikit-learn kompatible Modell
einzubinden, um Prognosen als Funktionen von verzögerten Werten der Zielreihe und Kovariaten zu erhalten.
* **Training mit Stichprobengewichten:** Alle globalen Modelle unterstützen das Training mit Stichprobengewichten. Sie können
auf jede Beobachtung, jeden prognostizierten Zeitschritt und jede Zielspalte angewendet werden.
* **Verschiebung des Prognosestarts:** Alle globalen Modelle unterstützen Training und Vorhersage auf einem verschobenen Ausgabefenster.
Dies ist beispielsweise nützlich für Day-Ahead-Marktprognosen oder wenn die Kovariaten (oder Zielreihen) mit
Verzögerung gemeldet werden.
* **Erklärbarkeit:** Darts hat die Fähigkeit, einige Prognosemodelle mithilfe von SHAP-Werten zu *erklären*.
* **Datenverarbeitung:** Werkzeuge zur einfachen Anwendung (und Rückgängigmachung) gängiger Transformationen auf
Zeitreihendaten (Skalierung, Auffüllen fehlender Werte, Differenzbildung, Box-Cox, ...)
* **Metriken:** Eine Vielzahl von Metriken zur Bewertung der Anpassungsgüte von Zeitreihen;
von R2-Scores bis zum mittleren absoluten skalierten Fehler.
* **Backtesting:** Dienstprogramme zur Simulation historischer Prognosen unter Verwendung gleitender Zeitfenster.
* **PyTorch-Lightning-Unterstützung:** Alle Deep-Learning-Modelle werden mit PyTorch Lightning implementiert,
das unter anderem benutzerdefinierte Callbacks, GPU/TPU-Training und benutzerdefinierte Trainer unterstützt.
* **MLflow-Integration:** Integration mit MLflow für automatisiertes Tracking, Vergleichen und Persistieren
von Darts-Prognosemodell-Experimenten. Siehe das [MLflow-Quickstart-Notebook](https://unit8co.github.io/darts/examples/29-MLflow-examples.html) für Beispiele.
* **Filtermodelle:** Darts bietet drei Filtermodelle: `KalmanFilter`, `GaussianProcessFilter`
und `MovingAverageFilter`, die das Filtern von Zeitreihen ermöglichen und in einigen Fällen probabilistische
Rückschlüsse auf die zugrunde liegenden Zustände/Werte liefern.
* **Datensätze:** Das `darts.datasets`-Untermodul enthält einige gängige Zeitreihendatensätze für schnelle
und reproduzierbare Experimente.
* **Kompatibilität mit mehreren Backends:** `TimeSeries`-Objekte können aus verschiedenen Backends wie pandas, polars, numpy, pyarrow, xarray und mehr erstellt und in diese exportiert werden, was eine nahtlose Integration mit verschiedenen Datenverarbeitungsbibliotheken erleichtert.
## Prognosemodelle
Hier ist eine Aufschlüsselung der derzeit in Darts implementierten Prognosemodelle. Unser Angebot umfasst sowohl Regressions- als auch Klassifikationsmodelle, die jeweils auf spezifische Prognoseaufgaben zugeschnitten sind. Wir sind bestrebt, unser Angebot mit neuen Modellen und Funktionen zu erweitern, um Ihre Prognosefähigkeiten zu verbessern.
**Regressionsmodelle:** Unsere Regressionsmodelle sind darauf ausgelegt, kontinuierliche numerische Werte vorherzusagen, was sie ideal für die Prognose zukünftiger Trends und Muster in Zeitreihendaten macht. Nutzen Sie diese Modelle, um Einblicke in potenzielle zukünftige Ergebnisse auf Basis historischer Daten zu gewinnen.| Modell | Quellen | Unterstützung für Zielserien:<br/><br/>Univariat/<br/>Multivariat | Unterstützung für Kovariaten:<br/><br/>Vergangen beobachtet/<br/>Zukünftig bekannt/<br/>Statisch | Probabilistische Prognose:<br/><br/>Stichproben/<br/>Verteilungsparameter | Training & Prognose auf mehreren Serien |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------|
| **Basismodelle**<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) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| **Statistische / Klassische Modelle**<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) und [FourTheta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.theta.html#darts.models.forecasting.theta.FourTheta) | [Theta-Papier](https://robjhyndman.com/papers/Theta.pdf) & [4 Theta-Quellcode](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) | [Prophet-Repository](https://github.com/facebook/prophet) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [FFT](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.fft.html#darts.models.forecasting.fft.FFT) (Schnelle Fourier-Transformation) | | ✅ 🔴 | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [KalmanForecaster](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.kalman_forecaster.html#darts.models.forecasting.kalman_forecaster.KalmanForecaster) unter Verwendung des Kalman-Filters und N4SID zur Systemidentifikation | [N4SID-Papier](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) | [TBATS-Papier](https://robjhyndman.com/papers/ComplexSeasonality.pdf) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [Croston](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_croston.html#darts.models.forecasting.sf_croston.Croston)-Methode | | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [StatsForecastModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_model.html#darts.models.forecasting.sf_model.StatsForecastModel)-Wrapper um jedes [StatsForecast](https://nixtlaverse.nixtla.io/statsforecast/index.html#models)-Modell | [Nixtlas statsforecast](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) | [Nixtlas statsforecast](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) | [Nixtlas statsforecast](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) | [Nixtlas statsforecast](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) | [Nixtlas statsforecast](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) | [Nixtlas statsforecast](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) | [Nixtlas statsforecast](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) | | ✅ ✅ | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| **Globale Basismodelle**<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) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| **Regressionsmodelle**<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 um jedes scikit-learn-ähnliche Regressionsmodell | | ✅ ✅ | ✅ ✅ ✅ | 🔴 🔴 | ✅ |
| [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) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **PyTorch (Lightning)-basierte Modelle**<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) (inkl. LSTM und GRU); entspricht DeepAR in seiner probabilistischen Version | [DeepAR-Papier](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) (inkl. LSTM und GRU) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NBEATSModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nbeats.html#darts.models.forecasting.nbeats.NBEATSModel) | [N-BEATS-Papier](https://arxiv.org/abs/1905.10437) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [NHiTSModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nhits.html#darts.models.forecasting.nhits.NHiTSModel) | [N-HiTS-Papier](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) | [TCN-Papier](https://arxiv.org/abs/1803.01271), [DeepTCN-Papier](https://arxiv.org/abs/1906.04397), [Blogbeitrag](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) | [TFT-Papier](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) | [DLinear-Papier](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) | [NLinear-Papier](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) | [TiDE-Papier](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) | [TSMixer-Papier](https://arxiv.org/pdf/2303.06053.pdf), [PyTorch-Implementierung](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 um jedes [NeuralForecast](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/overview.html)-Basismodell | [NeuralForecast-Dokumentation](https://nixtlaverse.nixtla.io/neuralforecast/docs/) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Foundation-Modelle**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): Kein Training erforderlich | | | | | |
| [Chronos2Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.chronos2_model.html#darts.models.forecasting.chronos2_model.Chronos2Model) | [Chronos-2-Bericht](https://arxiv.org/abs/2510.15821), [Amazon-Blogbeitrag](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) | [TimesFM-1.0-Papier](https://arxiv.org/abs/2310.10688), [Google-Blogbeitrag](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) | [TiRex-Papier](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) | [PatchTST-FM-Papier](https://arxiv.org/abs/2602.06909), [PatchTST-FM GitHub](https://github.com/ibm-granite/granite-tsfm) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| **Ensemble-Modelle**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): Die Modellunterstützung hängt von den ensemblierten Prognosemodellen und dem Ensemble-Modell selbst ab | | | | | |
| [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) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Konforme Modelle**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): Die Modellunterstützung hängt vom verwendeten Prognosemodell ab | | | | | |
| [ConformalNaiveModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.conformal_models.html#darts.models.forecasting.conformal_models.ConformalNaiveModel) | [Konformalisierte Vorhersage](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) | [Konformalisierte Quantilsregression](https://arxiv.org/pdf/1905.03222) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |**Klassifikationsmodelle:** Klassifikationsmodelle in Darts sind darauf ausgelegt, kategoriale Klassenbezeichnungen vorherzusagen, was eine effektive Zeitreihenbeschriftung und Vorhersage zukünftiger Klassen ermöglicht. Diese Modelle sind ideal für Szenarien, in denen die Identifizierung unterschiedlicher Kategorien oder Zustände im Zeitverlauf entscheidend ist.
| Modell | Quellen | Unterstützung der Zielreihen:<br/><br/>Univariat/<br/>Multivariat | Unterstützung von Kovariaten:<br/><br/>Vergangen beobachtet/<br/>Zukünftig bekannt/<br/>Statisch | Probabilistische Prognose:<br/><br/>Stichproben/<br/>Verteilungsparameter | Training & Prognose auf mehreren Reihen |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|-------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------|------------------------------------------|
| **Regressionsmodelle**<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 um jedes scikit-learn-ähnliche Klassifikationsmodell | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [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) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
## Community & Kontakt
Jeder ist herzlich eingeladen, unserem [Gitter-Raum](https://gitter.im/u8darts/darts) beizutreten, um Fragen zu stellen, Vorschläge zu machen,
Anwendungsfälle zu diskutieren und mehr. Wenn du einen Fehler entdeckst oder Vorschläge hast, sind auch GitHub-Issues willkommen.
Wenn das, was du uns mitteilen möchtest, nicht für Gitter oder GitHub geeignet ist,
kannst du uns gerne eine E-Mail an <a href="mailto:[email protected]">[email protected]</a> senden für
Angelegenheiten rund um Darts oder an <a href="mailto:[email protected]">[email protected]</a> für alle anderen
Anfragen.
## Mitwirken
Die Entwicklung läuft kontinuierlich weiter, und wir begrüßen Vorschläge, Pull Requests und Issues auf GitHub.
Alle Mitwirkenden werden auf der
[Änderungsprotokoll-Seite](https://github.com/unit8co/darts/blob/master/CHANGELOG.md) genannt.
Bevor du an einem Beitrag arbeitest (ein neues Feature oder einen Fix),
[wirf einen Blick in unsere Beitragsrichtlinien](https://github.com/unit8co/darts/blob/master/CONTRIBUTING.md).
## Zitierung
Wenn du Darts in deiner wissenschaftlichen Arbeit verwendest, würden wir uns über Zitate des folgenden JMLR-Papers freuen.
[Darts: User-Friendly Modern Machine Learning for Time Series](https://www.jmlr.org/papers/v23/21-1177.html)
Bibtex-Eintrag (oder direkt über die Repository-Zitierung von GitHub kopieren):```
@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}
}