You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CHANGELOG.md
+30-8
Original file line number
Diff line number
Diff line change
@@ -4,19 +4,41 @@
4
4
Darts is still in an early development phase and we cannot always guarantee backwards compatibility. Changes that may **break code which uses a previous release of Darts** are marked with a "🔴".
- Option to avoid global matplotlib configuration changes.
12
-
[#924](https://github.com/unit8co/darts/pull/924) by [Mike Richman](https://github.com/zgana).
13
-
- Model Improvements: Option for changing activation function for NHiTs and NBEATS. NBEATS support for dropout. NHiTs Support for AvgPooling1d. [#955](https://github.com/unit8co/darts/pull/955) by [Greg DeVos](https://github.com/gdevos010)
15
+
- Added support for static covariates in `TimeSeries` class. [#966](https://github.com/unit8co/darts/pull/966) by [Dennis Bader](https://github.com/dennisbader).
16
+
- Added support for static covariates in TFT model. [#966](https://github.com/unit8co/darts/pull/966) by [Dennis Bader](https://github.com/dennisbader).
17
+
- Support for storing hierarchy of components in `TimeSeries` (in view of hierarchical reconciliation) [#1012](https://github.com/unit8co/darts/pull/1012) by [Julien Herzen](https://github.com/hrzn).
18
+
- New Reconciliation transformers for forececast reconciliation: bottom up, top down and MinT. [#1012](https://github.com/unit8co/darts/pull/1012) by [Julien Herzen](https://github.com/hrzn).
19
+
- Added support for Monte Carlo Dropout, as a way to capture model uncertainty with torch models at inference time. [#1013](https://github.com/unit8co/darts/pull/1013) by [Julien Herzen](https://github.com/hrzn).
14
20
- New datasets: ETT and Electricity. [#617](https://github.com/unit8co/darts/pull/617)
15
21
by [Greg DeVos](https://github.com/gdevos010)
16
-
- Implemented ["GLU Variants Improve Transformer"](https://arxiv.org/abs/2002.05202) for transformer based models (transformer and TFT). [#959](https://github.com/unit8co/darts/issues/959)
17
-
by [Greg DeVos](https://github.com/gdevos010)
18
-
- Added support for torch metrics during training and validation. [#996](https://github.com/unit8co/darts/pull/996) by [Greg DeVos](https://github.com/gdevos010)
19
-
- New dataset: [Uber TLC](https://github.com/fivethirtyeight/uber-tlc-foil-response). [#1003](https://github.com/unit8co/darts/pull/1003) by [Greg DeVos](https://github.com/gdevos010)
22
+
- New dataset: [Uber TLC](https://github.com/fivethirtyeight/uber-tlc-foil-response). [#1003](https://github.com/unit8co/darts/pull/1003) by [Greg DeVos](https://github.com/gdevos010).
23
+
- Model Improvements: Option for changing activation function for NHiTs and NBEATS. NBEATS support for dropout. NHiTs Support for AvgPooling1d. [#955](https://github.com/unit8co/darts/pull/955) by [Greg DeVos](https://github.com/gdevos010).
24
+
- Implemented ["GLU Variants Improve Transformer"](https://arxiv.org/abs/2002.05202) for transformer based models (transformer and TFT). [#959](https://github.com/unit8co/darts/issues/959) by [Greg DeVos](https://github.com/gdevos010).
25
+
- Added support for torch metrics during training and validation. [#996](https://github.com/unit8co/darts/pull/996) by [Greg DeVos](https://github.com/gdevos010).
26
+
- Better handling of logging [#1010](https://github.com/unit8co/darts/pull/1010) by [Dustin Brunner](https://github.com/brunnedu).
27
+
- Better support for Python 3.10, and dropping `prophet` as a dependency (`Prophet` model still works if `prophet` package is installed separately) [#1023](https://github.com/unit8co/darts/pull/1023) by [Julien Herzen](https://github.com/hrzn).
28
+
- Option to avoid global matplotlib configuration changes.
29
+
[#924](https://github.com/unit8co/darts/pull/924) by [Mike Richman](https://github.com/zgana).
30
+
- 🔴 `HNiTSModel` renamed to `HNiTS`[#1000](https://github.com/unit8co/darts/pull/1000) by [Greg DeVos](https://github.com/gdevos010).
31
+
32
+
**Fixed**
33
+
- A bug with `tail()` and `head()`[#942](https://github.com/unit8co/darts/pull/942) by [Julien Herzen](https://github.com/hrzn).
34
+
- An issue with arguments being reverted for the `metric` function of gridsearch and backtest [#989](https://github.com/unit8co/darts/pull/989) by [Clara Grotehans](https://github.com/ClaraGrthns).
35
+
- An error checking whether `fit()` has been called in global models [#944](https://github.com/unit8co/darts/pull/944) by [Julien Herzen](https://github.com/hrzn).
36
+
- An error in Gaussian Process filter happening with newer versions of sklearn [#963](https://github.com/unit8co/darts/pull/963) by [Julien Herzen](https://github.com/hrzn).
37
+
38
+
### For developers of the library:
39
+
40
+
**Fixed**
41
+
- An issue with LinearLR scheduler in tests. [#928](https://github.com/unit8co/darts/pull/928) by [Dennis Bader](https://github.com/dennisbader).
Copy file name to clipboardexpand all lines: README.md
+46-38
Original file line number
Diff line number
Diff line change
@@ -31,13 +31,14 @@ series, and some of the models offer a rich support for probabilistic forecastin
31
31
32
32
##### High Level Introductions
33
33
*[Introductory Blog Post](https://medium.com/unit8-machine-learning-publication/darts-time-series-made-easy-in-python-5ac2947a8878)
34
-
*[Introduction to Darts at PyData Global 2021](https://youtu.be/g6OXDnXEtFA)
34
+
*[Introduction video (25 minutes)](https://youtu.be/g6OXDnXEtFA)
35
35
36
36
##### Articles on Selected Topics
37
37
*[Training Models on Multiple Time Series](https://medium.com/unit8-machine-learning-publication/training-forecasting-models-on-multiple-time-series-with-darts-dc4be70b1844)
38
38
*[Using Past and Future Covariates](https://medium.com/unit8-machine-learning-publication/time-series-forecasting-using-past-and-future-external-data-with-darts-1f0539585993)
39
39
*[Temporal Convolutional Networks and Forecasting](https://medium.com/unit8-machine-learning-publication/temporal-convolutional-networks-and-forecasting-5ce1b6e97ce4)
*[Transfer Learning for Time Series Forecasting](https://medium.com/unit8-machine-learning-publication/transfer-learning-for-time-series-forecasting-87f39e375278)
41
42
42
43
## Quick Install
43
44
@@ -95,57 +96,64 @@ plt.legend()
95
96
96
97
## Features
97
98
***Forecasting Models:** A large collection of forecasting models; from statistical models (such as
98
-
ARIMA) to deep learning models (such as N-BEATS). See table of models below.
99
+
ARIMA) to deep learning models (such as N-BEATS). See [table of models below](#forecasting-models).
100
+
***Multivariate Support:**`TimeSeries` can be multivariate - i.e., contain multiple time-varying
101
+
dimensions instead of a single scalar value. Many models can consume and produce multivariate series.
102
+
***Multiple series training:** All machine learning based models (incl. all neural networks)
103
+
support being trained on multiple (potentially multivariate) series. This can scale to large datasets.
104
+
***Probabilistic Support:**`TimeSeries` objects can (optionally) represent stochastic
105
+
time series; this can for instance be used to get confidence intervals, and many models support different flavours of probabilistic forecasting (such as estimating parametric distributions
106
+
or quantiles).
107
+
***Past and Future Covariates support:** Many models in Darts support past-observed and/or future-known
108
+
covariate (external data) time series as inputs for producing forecasts.
109
+
***Static Covariates support:** In addition to time-dependent data, `TimeSeries` can also contain
110
+
static data for each dimension, which can be exploited by some models.
111
+
***Hierarchical Reconciliation:** Darts offers transformers to perform reconciliation.
112
+
These can make the forecasts add up in a way that respects the underlying hierarchy.
113
+
***Regression Models:** It is possible to plug-in any scikit-learn compatible model
114
+
to obtain forecasts as functions of lagged values of the target series and covariates.
99
115
***Data processing:** Tools to easily apply (and revert) common transformations on
100
-
time series data (scaling, boxcox, ...)
116
+
time series data (scaling, filling missing values, boxcox, ...)
101
117
***Metrics:** A variety of metrics for evaluating time series' goodness of fit;
102
118
from R2-scores to Mean Absolute Scaled Error.
103
119
***Backtesting:** Utilities for simulating historical forecasts, using moving time windows.
104
-
***Regression Models:** Possibility to predict a time series from lagged versions of itself
105
-
and of some external covariate series, using arbitrary regression models (e.g. scikit-learn models).
106
-
***Multiple series training:** All machine learning based models (incl.\ all neural networks)
107
-
support being trained on multiple series.
108
-
***Past and Future Covariates support:** Some models support past-observed and/or future-known covariate time series
109
-
as inputs for producing forecasts.
110
-
***Multivariate Support:** Tools to create, manipulate and forecast multivariate time series.
111
-
***Probabilistic Support:**`TimeSeries` objects can (optionally) represent stochastic
112
-
time series; this can for instance be used to get confidence intervals, and several models
113
-
support different flavours of probabilistic forecasting.
114
120
***PyTorch Lightning Support:** All deep learning models are implemented using PyTorch Lightning,
115
121
supporting among other things custom callbacks, GPUs/TPUs training and custom trainers.
116
122
***Filtering Models:** Darts offers three filtering models: `KalmanFilter`, `GaussianProcessFilter`,
117
123
and `MovingAverage`, which allow to filter time series, and in some cases obtain probabilistic
118
124
inferences of the underlying states/values.
125
+
***Datasets** The `darts.datasets` submodule contains some popular time series datasets for rapid
126
+
experimentation.
119
127
120
128
## Forecasting Models
121
129
Here's a breakdown of the forecasting models currently implemented in Darts. We are constantly working
122
130
on bringing more models and features.
123
131
124
-
Model | Univariate | Multivariate | Probabilistic | Multiple-series training | Past-observed covariates support | Future-known covariates support | Reference
`KalmanForecaster` using the Kalman filter and N4SID for system identification | ✅ | ✅ | ✅ | | | ✅ | [N4SID paper](https://people.duke.edu/~hpgavin/SystemID/References/VanOverschee-Automatica-1994.pdf)
136
-
`Croston` method | ✅ | | | | | |
137
-
`RegressionModel`; generic wrapper around any sklearn regression model | ✅ | ✅ | | ✅ | ✅ | ✅ |
138
-
`RandomForest` | ✅ | ✅ | | ✅ | ✅ | ✅ |
139
-
`LinearRegressionModel` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
140
-
`LightGBMModel` | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
141
-
`RNNModel` (incl. LSTM and GRU); equivalent to DeepAR in its probabilistic version | ✅ | ✅ | ✅ | ✅ | | ✅ | [DeepAR paper](https://arxiv.org/abs/1704.04110)
`KalmanForecaster` using the Kalman filter and N4SID for system identification | ✅ | ✅ | ✅ | | | ✅ | | [N4SID paper](https://people.duke.edu/~hpgavin/SystemID/References/VanOverschee-Automatica-1994.pdf)
144
+
`Croston` method | ✅ | | | | | | |
145
+
`RegressionModel`; generic wrapper around any sklearn regression model | ✅ | ✅ | | ✅ | ✅ | ✅ | |
0 commit comments