Member-only story
Time Series Forecasting made easy with Darts
An open-source package for time series preprocessing and forecasting with unified and user-friendly APIs
Time series forecasting involves model building on historical time-stamped data to make scientific predictions and drive future strategic decision-making. Time series forecasting has many uses in various domains including:
- Predict consumer demand for every product
- Forecasting pandemic spread, diagnosis, medication, and planning in healthcare
- Anomaly detection, cyber security, and predictive maintenance
- Predict if the current infrastructure can handle traffic in the near and far future
and many more.
Time series forecasting is a bit different from traditional machine learning use-case, as it involves a temporal ordering of the data that must be considered during feature engineering and modeling.
Motivation:
For training a time-series forecasting model, you end up in a situation where you use Pandas for pre-processing, statsmodel for seasonality and statistical tests, scikit-learn or Facebook Prophet for forecasting, and custom code to implement backtesting and model selection.
End-to-end time series forecasting becomes a tedious task for data scientists as different libraries have different APIs and data types. For traditional machine learning use-cases, we have the scikit-learn package, which provides a consistent API for end-to-end machine learning modeling.
Darts attempts to be a scikit-learn for time series, and its primary goal is to simplify the whole time series forecasting approach. In this article, we will discuss the darts package and its implementation.
Darts:
Darts is a Python library for easy manipulation and forecasting of time series. It offers implementations of a variety of models, from classics such as ARIMA to deep neural networks, that can be implemented the same way as scikit-learn models (using fit and predict APIs).
Some of the features of the Darts package are:
- It's built around the…