[Paper Review] Darts: User-Friendly Modern Machine Learning for Time Series
Darts provides a user-friendly Python library unifying classical and ML-based time series forecasting under a common fit/predict API, with support for multi-series training, covariates, probabilistic forecasting, and ensemble methods.
We present Darts, a Python machine learning library for time series, with a focus on forecasting. Darts offers a variety of models, from classics such as ARIMA to state-of-the-art deep neural networks. The emphasis of the library is on offering modern machine learning functionalities, such as supporting multidimensional series, meta-learning on multiple series, training on large datasets, incorporating external data, ensembling models, and providing a rich support for probabilistic forecasting. At the same time, great care goes into the API design to make it user-friendly and easy to use. For instance, all models can be used using fit()/predict(), similar to scikit-learn.
Motivation & Objective
- Democratize modern ML-based time series forecasting by unifying classical and ML approaches under a single, easy-to-use API.
- Enable training on collections of time series and handling of high-dimensional data.
- Support probabilistic forecasting and covariates (past and future) to improve forecast quality.
- Provide tools for backtesting, hyperparameter search, and ensemble modeling to aid practitioners.
Proposed method
- Introduce a TimeSeries container that is immutable and guarantees well-formed shapes and time indices.
- Provide a unified high-level API with fit(series) and predict(n) applicable to diverse models.
- Allow training on collections of time series and lazy loading for large datasets.
- Support past and future covariates to condition forecasts.
- Offer probabilistic forecasting by storing Monte Carlo samples within TimeSeries and supporting multiple distributions.
- Incorporate a range of models (classical ARIMA, Exponential Smoothing, Theta, Prophet, FFT-based, RNNs like DeepAR, N-BEATS, TCN, TFT, and regression wrappers).
- Include additional features such as data preprocessing pipelines, backtesting, hyperparameter search, dynamic time warping, ensembles, Kalman filters, Gaussian Processes, and a datasets module.
Experimental results
Research questions
- RQ1Can a single unified API support both classical and ML-based time series models effectively?
- RQ2How well can a model be trained on large collections of time series and still perform accurate forecasts for individual series?
- RQ3What is the impact of incorporating covariates (past and future) on forecasting accuracy?
- RQ4How can probabilistic forecasting be implemented in a flexible, non-parametric way for multi-dimensional time series?
- RQ5What are the benefits and limitations of a user-friendly API in facilitating adoption of ML-based forecasting?
Key findings
- Darts enables training and forecasting with a consistent fit/predict interface across diverse models.
- It supports training on multiple time series and large datasets via lazy data loading and sequence slicing utilities.
- The library provides probabilistic forecasting by storing Monte Carlo samples and supports 17 distributions out-of-the-box.
- It differentiates past and future covariates and handles their alignment automatically during slicing.
- A broad set of models (including ARIMA, Exponential Smoothing, Theta, Prophet, FFT, RNNs, N-BEATS, TCN, TFT) can be used under a unified API.
- It includes additional tooling such as backtesting, hyperparameter search, pipelines, preprocessing, and ensemble modeling.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.