Skip to content

Commit 7581dea

Browse files
authored
Release 0.22.0 (#1258)
* update changelog * bump u8darts * update changelog * bump u8darts * update changelog * Fix a small typo in changelog * update readme
1 parent 4f26eec commit 7581dea

File tree

3 files changed

+34
-11
lines changed

3 files changed

+34
-11
lines changed

CHANGELOG.md

+25-5
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,35 @@
44
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 "🔴".
55

66
## [Unreleased](https://github.com/unit8co/darts/tree/master)
7-
- Added support for retraining model(s) every `n` iteration and on custom condition in `historical_forecasts` method of `ForecastingModel` abstract class. Addressed issues [#135](https://github.com/unit8co/darts/issues/135) and [#623](https://github.com/unit8co/darts/issues/623) by [Francesco Bruzzesi](https://github.com/fbruzzesi).
7+
8+
[Full Changelog](https://github.com/unit8co/darts/compare/0.22.0...master)
9+
10+
11+
## [0.22.0](https://github.com/unit8co/darts/tree/0.22.0) (2022-10-04)
12+
### For users of the library:
13+
14+
**Improved**
15+
- New explainability feature. The class `ShapExplainer` in `darts.explainability` can provide Shap-values explanations of the importance of each lag and each dimension in producing each forecasting lag for `RegressionModel`s. [#909](https://github.com/unit8co/darts/pull/909) by [Maxime Dumonal](https://github.com/dumjax).
16+
- New model: `StatsForecastsETS`. Similarly to `StatsForecastsAutoARIMA`, this model offers the ETS model from Nixtla's `statsforecasts` library as a local forecasting model supporting future covariates. [#1171](https://github.com/unit8co/darts/pull/1171) by [Julien Herzen](https://github.com/hrzn).
17+
- Added support for past and future covariates to `residuals()` function. [#1223](https://github.com/unit8co/darts/pull/1223) by [Eliane Maalouf](https://github.com/eliane-maalouf).
18+
- Added support for retraining model(s) every `n` iteration and on custom conditions in `historical_forecasts` method of `ForecastingModel`s. [#1139](https://github.com/unit8co/darts/pull/1139) by [Francesco Bruzzesi](https://github.com/fbruzzesi).
19+
- Added support for beta-NLL in `GaussianLikelihood`s, as proposed in [this paper](https://arxiv.org/abs/2203.09168). [#1162](https://github.com/unit8co/darts/pull/1162) by [Julien Herzen](https://github.com/hrzn).
820
- New LayerNorm alternatives, RMSNorm and LayerNormNoBias [#1113](https://github.com/unit8co/darts/issues/1113) by [Greg DeVos](https://github.com/gdevos010).
9-
- Fixed type hinting for ExponentialSmoothing model [#1185](https://https://github.com/unit8co/darts/pull/1185) by [Rijk van der Meulen](https://github.com/rijkvandermeulen)
21+
- 🔴 Improvements to encoders: improve fitting behavior of encoders' transformers and solve a couple of issues. Remove support for absolute index encoding. [#1257](https://github.com/unit8co/darts/pull/1257) by [Dennis Bader](https://github.com/dennisbader).
1022
- Overwrite min_train_series_length for Catboost and LightGBM [#1214](https://https://github.com/unit8co/darts/pull/1214) by [Anne de Vries](https://github.com/anne-devries).
23+
- New example notebook showcasing and end-to-end example of hyperparameter optimization with Optuna [#1242](https://github.com/unit8co/darts/pull/1242) by [Julien Herzen](https://github.com/hrzn).
24+
- New user guide section on hyperparameter optimization with Optuna and Ray Tune [#1242](https://github.com/unit8co/darts/pull/1242) by [Julien Herzen](https://github.com/hrzn).
25+
- Documentation on model saving and loading. [#1210](https://github.com/unit8co/darts/pull/1210) by [Amadej Kocbek](https://github.com/amadejkocbek).
1126
- 🔴 `torch_device_str` has been removed from all torch models in favor of Pytorch Lightning's `pl_trainer_kwargs` method [#1244](https://github.com/unit8co/darts/pull/1244) by [Greg DeVos](https://github.com/gdevos010).
1227

13-
14-
[Full Changelog](https://github.com/unit8co/darts/compare/0.21.0...master)
15-
28+
**Fixed**
29+
- An issue with `add_encoders` in `RegressionModel`s when fit/predict were called with a single target series. [#1193](https://github.com/unit8co/darts/pull/1193) by [Dennis Bader](https://github.com/dennisbader).
30+
- Some issues with integer-indexed series. [#1191](https://github.com/unit8co/darts/pull/1191) by [Julien Herzen](https://github.com/hrzn).
31+
- A bug when using the latest versions (>=1.1.1) of Prophet. [#1208](https://github.com/unit8co/darts/pull/1208) by [Julien Herzen](https://github.com/hrzn).
32+
- An issue with calling `fit_transform()` on reconciliators. [#1165](https://github.com/unit8co/darts/pull/1165) by [Julien Herzen](https://github.com/hrzn).
33+
- A bug in `GaussianLikelihood` object causing issues with confidence intervals. [#1162](https://github.com/unit8co/darts/pull/1162) by [Julien Herzen](https://github.com/hrzn).
34+
- An issue which prevented plotting `TimeSeries` of length 1. [#1206](https://github.com/unit8co/darts/issues/1206) by [Julien Herzen](https://github.com/hrzn).
35+
- Type hinting for ExponentialSmoothing model [#1185](https://https://github.com/unit8co/darts/pull/1185) by [Rijk van der Meulen](https://github.com/rijkvandermeulen)
1636

1737
## [0.21.0](https://github.com/unit8co/darts/tree/0.21.0) (2022-08-12)
1838

README.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ series, and some of the models offer a rich support for probabilistic forecastin
3939
* [Temporal Convolutional Networks and Forecasting](https://medium.com/unit8-machine-learning-publication/temporal-convolutional-networks-and-forecasting-5ce1b6e97ce4)
4040
* [Probabilistic Forecasting](https://medium.com/unit8-machine-learning-publication/probabilistic-forecasting-in-darts-e88fbe83344e)
4141
* [Transfer Learning for Time Series Forecasting](https://medium.com/unit8-machine-learning-publication/transfer-learning-for-time-series-forecasting-87f39e375278)
42+
* [Hierarchical Forecast Reconciliation](https://medium.com/unit8-machine-learning-publication/hierarchical-forecast-reconciliation-with-darts-8b4b058bb543)
4243

4344
## Quick Install
4445

45-
We recommend to first setup a clean Python environment for your project with at least Python 3.7 using your favorite tool
46+
We recommend to first setup a clean Python environment for your project with Python 3.7+ using your favorite tool
4647
([conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html "conda-env"),
4748
[venv](https://docs.python.org/3/library/venv.html), [virtualenv](https://virtualenv.pypa.io/en/latest/) with
4849
or without [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/)).
@@ -63,10 +64,10 @@ import pandas as pd
6364
from darts import TimeSeries
6465

6566
# Read a pandas DataFrame
66-
df = pd.read_csv('AirPassengers.csv', delimiter=",")
67+
df = pd.read_csv("AirPassengers.csv", delimiter=",")
6768

6869
# Create a TimeSeries, specifying the time and value columns
69-
series = TimeSeries.from_dataframe(df, 'Month', '#Passengers')
70+
series = TimeSeries.from_dataframe(df, "Month", "#Passengers")
7071

7172
# Set aside the last 36 months as a validation series
7273
train, val = series[:-36], series[-36:]
@@ -86,7 +87,7 @@ Plot the median, 5th and 95th percentiles:
8687
import matplotlib.pyplot as plt
8788

8889
series.plot()
89-
prediction.plot(label='forecast', low_quantile=0.05, high_quantile=0.95)
90+
prediction.plot(label="forecast", low_quantile=0.05, high_quantile=0.95)
9091
plt.legend()
9192
```
9293

@@ -112,6 +113,7 @@ plt.legend()
112113
These can make the forecasts add up in a way that respects the underlying hierarchy.
113114
* **Regression Models:** It is possible to plug-in any scikit-learn compatible model
114115
to obtain forecasts as functions of lagged values of the target series and covariates.
116+
* **Explainability:** Darts has the ability to *explain* forecasting models by using Shap values.
115117
* **Data processing:** Tools to easily apply (and revert) common transformations on
116118
time series data (scaling, filling missing values, boxcox, ...)
117119
* **Metrics:** A variety of metrics for evaluating time series' goodness of fit;
@@ -134,8 +136,9 @@ Model | Univariate | Multivariate | Probabilistic | Multiple-series training | P
134136
`ARIMA` | ✅ | | ✅ | | | ✅ | |
135137
`VARIMA` | ✅ | ✅ | | | | ✅ | |
136138
`AutoARIMA` | ✅ | | | | | ✅ | |
137-
`StatsForecastAutoARIMA` (faster AutoARIMA) | ✅ | | ✅ | | | ✅ | | [statsforecast](https://github.com/Nixtla/statsforecast)
139+
`StatsForecastAutoARIMA` (faster AutoARIMA) | ✅ | | ✅ | | | ✅ | | [Nixtla's statsforecast](https://github.com/Nixtla/statsforecast)
138140
`ExponentialSmoothing` | ✅ | | ✅ | | | | |
141+
`StatsForecastETS` | ✅ | | | | | ✅ | | [Nixtla's statsforecast](https://github.com/Nixtla/statsforecast)
139142
`BATS` and `TBATS` | ✅ | | ✅ | | | | | [TBATS paper](https://robjhyndman.com/papers/ComplexSeasonality.pdf)
140143
`Theta` and `FourTheta` | ✅ | | | | | | | [Theta](https://robjhyndman.com/papers/Theta.pdf) & [4 Theta](https://github.com/Mcompetitions/M4-methods/blob/master/4Theta%20method.R)
141144
`Prophet` (see [install notes](https://github.com/unit8co/darts/blob/master/INSTALL.md#enabling-support-for-facebook-prophet)) | ✅ | | ✅ | | | ✅ | | [Prophet repo](https://github.com/facebook/prophet)

setup_u8darts.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def read_requirements(path):
2828

2929
setup(
3030
name="u8darts",
31-
version="0.21.0",
31+
version="0.22.0",
3232
description="A python library for easy manipulation and forecasting of time series.",
3333
long_description=LONG_DESCRIPTION,
3434
long_description_content_type="text/markdown",

0 commit comments

Comments
 (0)