Breaking changes
- Transforms now works with
TSDataset
instead ofDataFrames
:- Methods
fit
,transform
andinverse_transform
of transforms expectTSDataset
as input - Transforms are not stored inside
TSDataset
now and should be explicitly passed into the methodsfit_transform
,make_future
,inverse_transform
- Forecasts from the models should be inverse transformed by the user now
- Methods
- New workflow for NNs from PyTorch Forecasting, see notebook for details
- Remove some classes and methods:
BinsegTrendTransform
- replaced withChangePointsTrendTransform
sample_acf_plot
,sample_pacf_plot
- replaced withacf_plot
CatBoostModelPerSegment
,CatBoostModelMultiSegment
- redundant classes,CatBoostPerSegmentModel
,CatBoostMultiSegmentModel
are still availablePytorchForecastingTransform
- see new workflow for NNs from PyTorch Forecasting
- Remove support of Python 3.7
Highlights:
- Add forecast decomposition for all the classical ML models, see
return_components
parameter in methodsforecast
andpredict
. Notebook with examples will be published soon - Part of transforms and models are now able to work on new segments and on future data without refitting
- New backtesting strategies, see parameters
refit
andstride
in methodbacktest
Full changelog:
Added
- Target components logic into
AutoRegressivePipeline
(#1188) - Target components logic into
HierarchicalPipeline
(#1199) predict
method intoHierarchicalPipeline
(#1199)- Add target components handling in
get_level_dataframe
(#1179) - Forecast decomposition for
SeasonalMovingAverageModel
(#1180) - Target components logic into base classes of pipelines (#1173)
- Method
predict_components
for forecast decomposition in_SklearnAdapter
and_LinearAdapter
for linear models (#1164) - Target components logic into base classes of models (#1158)
- Target components logic to TSDataset (#1153)
- Methods
save
andload
to HierarchicalPipeline (#1096) - New data access methods in
TSDataset
:update_columns_from_pandas
,add_columns_from_pandas
,drop_features
(#809) PytorchForecastingDatasetBuiler
for neural networks from Pytorch Forecasting (#971)- New base classes for per-segment and multi-segment transforms
IrreversiblePersegmentWrapper
,ReversiblePersegmentWrapper
,IrreversibleTransform
,ReversibleTransform
(#835) - New base class for one segment transforms
OneSegmentTransform
(#894) ChangePointsLevelTransform
and base classesPerIntervalModel
,BaseChangePointsModelAdapter
for per-interval transforms (#998)- Method
set_params
to change parameters of ETNA objects (#1102) - Function
plot_forecast_decomposition
(#1129) - Method
forecast_components
for forecast decomposition in_TBATSAdapter
(#1133) - Methods
forecast_components
andpredict_components
for forecast decomposition in_CatBoostAdapter
(#1148) - Methods
forecast_components
andpredict_components
for forecast decomposition in_HoltWintersAdapter
(#1162) - Method
predict_components
for forecast decomposition in_ProphetAdapter
(#1172) - Methods
forecast_components
andpredict_components
for forecast decomposition in_SARIMAXAdapter
and_AutoARIMAAdapter
(#1174) - Add
refit
parameter intobacktest
(#1159) - Add
stride
parameter intobacktest
(#1165) - Add optional parameter
ts
intoforecast
method of pipelines (#1071) - Add tests on
transform
method of transforms on subset of segments, on new segments, on future with gap (#1094) - Add tests on
inverse_transform
method of transforms on subset of segments, on new segments, on future with gap (#1127) - In-sample prediction for
BATSModel
andTBATSModel
(#1181) - Method
predict_components
for forecast decomposition in_TBATSAdapter
(#1181) - Forecast decomposition for
DeadlineMovingAverageModel
(#1186) - Prediction decomposition example into
custom_transform_and_model.ipynb
(#1216)
Changed
- Add optional
features
parameter in the signature ofTSDataset.to_pandas
,TSDataset.to_flatten
(#809) - Signature of the constructor of
TFTModel
,DeepARModel
(#1110) - Interface of
Transform
andPerSegmentWrapper
(#835) - Signature of
TSDataset
methodsinverse_transform
andmake_future
now hastransforms
parameter. Remove transforms and regressors updating logic from TSDataset. Forecasts from the models are not internally inverse transformed. Methodsfit
,transform
,inverse_transform
ofTransform
now works withTSDataset
(#956) - Create
AutoBase
andAutoAbstract
classes, some ofAuto
class's logic moved there (#1114) - Impose specific order of columns on return value of
TSDataset.to_flatten
(#1095) - Add more scenarios into tests for models (#1082)
- Decouple
SeasonalMovingAverageModel
fromPerSegmentModelMixin
(#1132) - Decouple
DeadlineMovingAverageModel
fromPerSegmentModelMixin
(#1140) - Remove version python-3.7 from
pyproject.toml
, update lock (#1183) - Bump minimum pandas version up to 1.1 (#1214)
Fixed
- Fix bug in
GaleShapleyFeatureSelectionTransform
with wrong number of remaining features (#1110) ProphetModel
fails with additional seasonality set (#1157)- Fix inference tests on new segments for
DeepARModel
andTFTModel
(#1109) - Fix alignment during forecasting in new NNs, add validation of context size during forecasting in new NNs, add validation of batch in
MLPNet
(#1108) - Fix
MeanSegmentEncoderTransform
to work with subset of segments and raise error on new segments (#1104) - Fix outliers transforms on future with gap (#1147)
- Fix
SegmentEncoderTransform
to work with subset of segments and raise error on new segments (#1103) - Fix
SklearnTransform
in per-segment mode to work on subset of segments and raise error on new segments (#1107) - Fix
OutliersTransform
and its children to raise error on new segments (#1139) - Fix
DifferencingTransform
to raise error on new segments duringtransform
andinverse_transform
in inplace mode (#1141) - Teach
DifferencingTransform
toinverse_transform
with NaNs (#1155) - Fixed
custom_transform_and_model.ipynb
(#1216)