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
+49-1
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,55 @@
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 "🔴".
-🔴 Improvement of the covariates support. Before, some models were accepting a `covariates` (or `exog`)
14
+
argument, but it wasn't always clear whether this represented "past-observed" or "future-known" covariates.
15
+
We have made this clearer. Now all covariate-aware models support `past_covariates` and/or `future_covariates` argument
16
+
in their `fit()` and `predict()` methods, which makes it clear what series is used as a past or future covariate.
17
+
We recommend [this article](https://medium.com/unit8-machine-learning-publication/time-series-forecasting-using-past-and-future-external-data-with-darts-1f0539585993)
18
+
for more informations and examples.
19
+
20
+
-🔴 Significant improvement of `RegressionModel` (incl. `LinearRegressionModel` and `RandomForest`).
21
+
These models now support training on multiple (possibly multivariate) time series. They also support both
22
+
`past_covariates` and `future_covariates`. It makes it easier than ever to fit arbitrary regression models (e.g. from
23
+
scikit-learn) on multiple series, to predict the future of a target series based on arbitrary lags of the target and
24
+
the past/future covariates. The signature of these models changed: It's not using "`exog`" keyword arguments, but
25
+
`past_covariates` and `future_covariates` instead.
26
+
27
+
- Dynamic Time Warping. There is a brand new `darts.dataprocessing.dtw` submodule that
28
+
implements Dynamic Time Warping between two `TimeSeries`. It's also coming with a new `dtw`
29
+
metric in `darts.metrics`. We recommend going over the
30
+
[new DTW example notebook](https://github.com/unit8co/darts/blob/master/examples/13-Dynamic-Time-Warping-example.ipynb)
31
+
for a good overview of the new functionalities
32
+
33
+
- Conda forge installation support (fully supported with Python 3.7 only for now). You can now
34
+
`conda install u8darts-all`.
35
+
36
+
-`TimeSeries.from_csv()` allows to obtain a `TimeSeries` from a CSV file directly.
37
+
38
+
- Optional cyclic encoding of the datetime attributes future covariates; for instance it's now possible to call
39
+
`my_series.add_datetime_attribute('weekday', cyclic=True)`, which will add two columns containing a sin/cos
40
+
encoding of the weekday.
41
+
42
+
- Default seasonality inference in `ExponentialSmoothing`. If left to `None`, the `seasonal_periods` is inferred
43
+
from the `freq` of the provided series.
44
+
45
+
- Various documentation improvements.
46
+
47
+
**Fixed:**
48
+
- Now transformations and forecasting maintain the columns' names of the `TimeSeries`.
49
+
The generation module `darts.utils.timeseries_generation` also comes with better default columns names.
50
+
- Some issues with our Docker build process
51
+
- A bug with GPU usage
52
+
53
+
**Changed:**
54
+
- For probabilistic PyTorch based models, the generation of multiple samples (and series) at prediction time is now
*[Training Models on Multiple Time Series](https://medium.com/unit8-machine-learning-publication/training-forecasting-models-on-multiple-time-series-with-darts-dc4be70b1844)
33
+
*[Using Past and Future Covariates](https://medium.com/unit8-machine-learning-publication/time-series-forecasting-using-past-and-future-external-data-with-darts-1f0539585993)
34
+
*[Temporal Convolutional Networks and Forecasting](https://medium.com/unit8-machine-learning-publication/temporal-convolutional-networks-and-forecasting-5ce1b6e97ce4)
35
+
30
36
## Install
31
37
32
38
We recommend to first setup a clean Python environment for your project with at least Python 3.7 using your favorite tool ([conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html"conda-env"), [venv](https://docs.python.org/3/library/venv.html), [virtualenv](https://virtualenv.pypa.io/en/latest/) with or without [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/)).
@@ -35,7 +41,7 @@ Once your environment is set up you can install darts using pip:
35
41
36
42
pip install darts
37
43
38
-
For more detailed install instructions you can refer to our installation guide at the end of this page.
44
+
For more detailed install instructions you can refer to our [installation guide](#installation-guide) at the end of this page.
39
45
40
46
## Example Usage
41
47
@@ -95,8 +101,14 @@ from R2-scores to Mean Absolute Scaled Error.
95
101
96
102
**Backtesting:** Utilities for simulating historical forecasts, using moving time windows.
97
103
98
-
**Regressive Models:** Possibility to predict a time series from lagged versions of itself
99
-
and of some external covariate series, using arbitrary regression models (e.g. scikit-learn models)
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
+
107
+
**Multiple series training:** All neural networks, as well as `RegressionModel`s (incl. `LinearRegressionModel` and
108
+
`RandomForest`) support being trained on multiple series.
109
+
110
+
**Past and Future Covariates support:** Some models support past-observed and/or future-known covariate time series
111
+
as inputs for producing forecasts.
100
112
101
113
**Multivariate Support:** Tools to create, manipulate and forecast multivariate time series.
102
114
@@ -120,12 +132,12 @@ Model | Univariate | Multivariate | Probabilistic | Multiple-series training | P
120
132
`Theta` and `FourTheta` | x | | | | |
121
133
`Prophet` | x | | | | |
122
134
`FFT` (Fast Fourier Transform) | x | | | | |
123
-
Regression Models (incl `RandomForest` and `LinearRegressionModel`) | x | | | | |
124
-
`RNNModel` (incl. LSTM and GRU); equivalent to DeepAR in its probabilistic version | x | x | x | x | x | x
125
-
`BlockRNNModel` (incl. LSTM and GRU) | x | x | | x | x | ( x )
126
-
`NBEATSModel` | x | x | | x | x | ( x )
127
-
`TCNModel` | x | x | x | x | x | ( x )
128
-
`TransformerModel` | x | x | | x | x | ( x )
135
+
`RegressionModel`(incl `RandomForest` and `LinearRegressionModel`) | x | x | | x | x | x
136
+
`RNNModel` (incl. LSTM and GRU); equivalent to DeepAR in its probabilistic version | x | x | x | x | | x
137
+
`BlockRNNModel` (incl. LSTM and GRU) | x | x | | x | x |
138
+
`NBEATSModel` | x | x | | x | x |
139
+
`TCNModel` | x | x | x | x | x |
140
+
`TransformerModel` | x | x | | x | x |
129
141
Naive Baselines | x | | | | |
130
142
131
143
## Contribute
@@ -142,16 +154,12 @@ If what you want to tell us is not a suitable github issue, feel free to send us
142
154
143
155
## Installation Guide
144
156
145
-
### Preconditions
146
-
147
157
Some of the models depend on `prophet` and `torch`, which have non-Python dependencies.
148
158
A Conda environment is thus recommended because it will handle all of those in one go.
149
159
150
-
The following steps assume running inside a conda environment.
151
-
If that's not possible, first follow the official instructions to install
### Running the examples only, without installing:
187
196
188
197
If the conda setup is causing too many problems, we also provide a Docker image with everything set up for you and ready-to-use Python notebooks with demo examples.
0 commit comments