Recent Releases of https://github.com/tinkoff-ai/etna
https://github.com/tinkoff-ai/etna - etna 2.2.0
Highlights
- Add extension with models from
statsforecast - Speed up metrics computation
- Speed up
DeepARModelandTFTModel - Add
DeseasonalityTransform - Add
PatchTSModel - Add new
categorymode intoHolidayTransform - Add documentation warning about using
dillduring loading - Add inverse transformation into
predictmethod of pipelines - Fix CLI to work with pipeline ensembles
Full changelog
Added
DeseasonalityTransform(#1307)- Add extension with models from
statsforecast:StatsForecastARIMAModel,StatsForecastAutoARIMAModel,StatsForecastAutoCESModel,StatsForecastAutoETSModel,StatsForecastAutoThetaModel(#1295) - Notebook
feature_selection(#875) - Implementation of PatchTS model (#1277)
Changed
- Add modes
binaryandcategorytoHolidayTransform(#763) - Add sorting by timestamp before the fit in
CatBoostPerSegmentModelandCatBoostMultiSegmentModel(#1337) - Speed up metrics computation by optimizing segment validation, forbid NaNs during metrics computation (#1338)
- Unify errors, warnings and checks in models (#1312)
- Remove upper limitation on version of numba (#1321)
- Optimize
TSDataset.describeandTSDataset.infoby vectorization (#1344) - Add documentation warning about using dill during loading (#1346)
- Vectorize metric computation (#1347)
Fixed
- Pipeline ensembles fail in
etna forecastCLI (#1331) - Fix performance of
DeepARModelandTFTModel(#1322) mrmrfeature selection working with categoricals (#1311)- Fix version of
statsforecastto 1.4 to avoid dependency conflicts during installation (#1313) - Add inverse transformation into
predictmethod of pipelines (#1314) - Allow saving large pipelines (#1335)
- Fix link for dataset in classification notebook (#1351)
Removed
- Building docker images with cuda 10.2 (#1306)
- Python
Published by Mr-Geekman over 2 years ago
https://github.com/tinkoff-ai/etna - etna 2.1.0
Highlights
- Add class
etna.auto.Tunefor tuning hyperparameters - Extend functionality of class
etna.auto.Autoto include a tuning stage - Add notebook about AutoML
- Add utilities for estimating number of folds for backtesting and forecasting and integrate them into CLI
- Add parameter for setting the start of prediction into CLI
- Add
etna.transforms.ExogShiftTransformto shift all exogenous variables - Add
etna.models.DeepStateModel - Update requirements for
holidays,scipy,ruptures,sqlalchemy,tsfresh - Optimize
make_samplesofetna.models.RNNNetandetna.models.MLPNet - Add parameter
fast_redundancyinetna.analysis.feature_selection.mrmmandetna.transforms.MRMRFeatureSelectionTransformto speed it up
Full changelog
Added
- Notebook
forecast_interpretation.ipynbwith forecast decomposition (#1220) - Exogenous variables shift transform
ExogShiftTransform(#1254) - Parameter
start_timestampto forecast CLI command (#1265) DeepStateModel(#1253)- Function
estimate_max_n_foldsfor folds number estimation (#1279) - Parameters
estimate_n_foldsandcontext_sizeto forecast and backtest CLI commands (#1284) - Class
Tunefor hyperparameter optimization within existing pipeline (#1200) - Add
etna.distributionsfor using it instead of usingoptuna.distributions(#1292)
Changed
- Set the default value of
final_modeltoLinearRegression(positive=True)in the constructor ofStackingEnsemble(#1238) - Add microseconds to
FileLogger's directory name (#1264) - Inherit
SaveMixinfromAbstractSaveablefor mypy checker (#1261) - Update requirements for
holidaysandscipy, change saving library frompickletodillinSaveMixin(#1268) - Update requirement for
ruptures, add requirement forsqlalchemy(#1276) - Optimize
make_samplesofRNNNetandMLPNet(#1281) - Remove
to_be_fixedfrom inference tests onSpecialDaysTransform(#1283) - Rewrite
TimeSeriesImputerTransformto work without per-segment wrapper (#1293) - Add default
params_to_tunefor catboost models (#1185) - Add default
params_to_tuneforProphetModel(#1203) - Add default
params_to_tuneforSARIMAXModel, change default parameters for the model (#1206) - Add default
params_to_tunefor linear models (#1204) - Add default
params_to_tuneforSeasonalMovingAverageModel,MovingAverageModel,NaiveModelandDeadlineMovingAverageModel(#1208) - Add default
params_to_tuneforDeepARModelandTFTModel(#1210) - Add default
params_to_tuneforHoltWintersModel,HoltModelandSimpleExpSmoothingModel(#1209) - Add default
params_to_tuneforRNNModelandMLPModel(#1218) - Add default
params_to_tuneforDateFlagsTransform,TimeFlagsTransform,SpecialDaysTransformandFourierTransform(#1228) - Add default
params_to_tuneforMedianOutliersTransform,DensityOutliersTransformandPredictionIntervalOutliersTransform(#1231) - Add default
params_to_tuneforTimeSeriesImputerTransform(#1232) - Add default
params_to_tuneforDifferencingTransform,MedianTransform,MaxTransform,MinTransform,QuantileTransform,StdTransform,MeanTransform,MADTransform,MinMaxDifferenceTransform,SumTransform,BoxCoxTransform,YeoJohnsonTransform,MaxAbsScalerTransform,MinMaxScalerTransform,RobustScalerTransformandStandardScalerTransform(#1233) - Add default
params_to_tuneforLabelEncoderTransform(#1242) - Add default
params_to_tuneforChangePointsSegmentationTransform,ChangePointsTrendTransform,ChangePointsLevelTransform,TrendTransform,LinearTrendTransform,TheilSenTrendTransformandSTLTransform(#1243) - Add default
params_to_tuneforTreeFeatureSelectionTransform,MRMRFeatureSelectionTransformandGaleShapleyFeatureSelectionTransform(#1250) - Add tuning stage into
Auto.fit(#1272) - Add
params_to_tuneintoTuneinit (#1282) - Skip duplicates during
Tune.fit, skip duplicates intop_k, add AutoML notebook (#1285) - Add parameter
fast_redundancyinmrmm, fix relevance calculation inget_model_relevance_table(#1294)
Fixed
- Fix
plot_backtestandplot_backtest_interactiveon one-step forecast (1260) - Fix
BaseReconciliatorto work onpandas==1.1.5(#1229) - Fix
TSDataset.make_futureto handle hierarchy, quantiles, target components (#1248) - Fix warning during creation of
ResampleWithDistributionTransform(#1230) - Add deep copy for copying attributes of
TSDataset(#1241) - Add
tsfreshinto optional dependencies, remove instruction aboutpip install tsfresh(#1246) - Fix
DeepARModelandTFTModelto work with changedprediction_size(#1251) - Fix problems with flake8 B023 (#1252)
- Fix problem with swapped forecast methods in HierarchicalPipeline (#1259)
- Fix problem with segment name "target" in
StackingEnsemble(#1262) - Fix
BasePipeline.forecastwhen prediction intervals are estimated on history data with presence of NaNs (#1291) - Teach
BaseMixin.set_paramsto work with nestedlistandtuple(#1201) - Fix
get_anomalies_prediction_intervalto work when segments have different start date (#1296) - Fix
classificationnotebook to downloadFordAdataset without error (#1299) - Fix signature of
Auto.fit,Tune.fitto not have a breaking change (#1300)
- Python
Published by Mr-Geekman over 2 years ago
https://github.com/tinkoff-ai/etna - etna 2.0.0
Breaking changes
- Transforms now works with
TSDatasetinstead ofDataFrames:- Methods
fit,transformandinverse_transformof transforms expectTSDatasetas input - Transforms are not stored inside
TSDatasetnow 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 withChangePointsTrendTransformsample_acf_plot,sample_pacf_plot- replaced withacf_plotCatBoostModelPerSegment,CatBoostModelMultiSegment- redundant classes,CatBoostPerSegmentModel,CatBoostMultiSegmentModelare 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_componentsparameter in methodsforecastandpredict. 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
refitandstridein methodbacktest
Full changelog:
Added
- Target components logic into
AutoRegressivePipeline(#1188) - Target components logic into
HierarchicalPipeline(#1199) predictmethod 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_componentsfor forecast decomposition in_SklearnAdapterand_LinearAdapterfor linear models (#1164) - Target components logic into base classes of models (#1158)
- Target components logic to TSDataset (#1153)
- Methods
saveandloadto HierarchicalPipeline (#1096) - New data access methods in
TSDataset:update_columns_from_pandas,add_columns_from_pandas,drop_features(#809) PytorchForecastingDatasetBuilerfor 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) ChangePointsLevelTransformand base classesPerIntervalModel,BaseChangePointsModelAdapterfor per-interval transforms (#998)- Method
set_paramsto change parameters of ETNA objects (#1102) - Function
plot_forecast_decomposition(#1129) - Method
forecast_componentsfor forecast decomposition in_TBATSAdapter(#1133) - Methods
forecast_componentsandpredict_componentsfor forecast decomposition in_CatBoostAdapter(#1148) - Methods
forecast_componentsandpredict_componentsfor forecast decomposition in_HoltWintersAdapter(#1162) - Method
predict_componentsfor forecast decomposition in_ProphetAdapter(#1172) - Methods
forecast_componentsandpredict_componentsfor forecast decomposition in_SARIMAXAdapterand_AutoARIMAAdapter(#1174) - Add
refitparameter intobacktest(#1159) - Add
strideparameter intobacktest(#1165) - Add optional parameter
tsintoforecastmethod of pipelines (#1071) - Add tests on
transformmethod of transforms on subset of segments, on new segments, on future with gap (#1094) - Add tests on
inverse_transformmethod of transforms on subset of segments, on new segments, on future with gap (#1127) - In-sample prediction for
BATSModelandTBATSModel(#1181) - Method
predict_componentsfor forecast decomposition in_TBATSAdapter(#1181) - Forecast decomposition for
DeadlineMovingAverageModel(#1186) - Prediction decomposition example into
custom_transform_and_model.ipynb(#1216)
Changed
- Add optional
featuresparameter in the signature ofTSDataset.to_pandas,TSDataset.to_flatten(#809) - Signature of the constructor of
TFTModel,DeepARModel(#1110) - Interface of
TransformandPerSegmentWrapper(#835) - Signature of
TSDatasetmethodsinverse_transformandmake_futurenow hastransformsparameter. Remove transforms and regressors updating logic from TSDataset. Forecasts from the models are not internally inverse transformed. Methodsfit,transform,inverse_transformofTransformnow works withTSDataset(#956) - Create
AutoBaseandAutoAbstractclasses, some ofAutoclass'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
SeasonalMovingAverageModelfromPerSegmentModelMixin(#1132) - Decouple
DeadlineMovingAverageModelfromPerSegmentModelMixin(#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
GaleShapleyFeatureSelectionTransformwith wrong number of remaining features (#1110) ProphetModelfails with additional seasonality set (#1157)- Fix inference tests on new segments for
DeepARModelandTFTModel(#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
MeanSegmentEncoderTransformto work with subset of segments and raise error on new segments (#1104) - Fix outliers transforms on future with gap (#1147)
- Fix
SegmentEncoderTransformto work with subset of segments and raise error on new segments (#1103) - Fix
SklearnTransformin per-segment mode to work on subset of segments and raise error on new segments (#1107) - Fix
OutliersTransformand its children to raise error on new segments (#1139) - Fix
DifferencingTransformto raise error on new segments duringtransformandinverse_transformin inplace mode (#1141) - Teach
DifferencingTransformtoinverse_transformwith NaNs (#1155) - Fixed
custom_transform_and_model.ipynb(#1216)
Removed
sample_acf_plot,sample_pacf_plot,CatBoostModelPerSegment,CatBoostModelMultiSegment(#1118)PytorchForecastingTransform(#971)
- Python
Published by alex-hse-repository almost 3 years ago
https://github.com/tinkoff-ai/etna - Release 1.15.1
Full changelog:
Changed
- Impose specific order of columns on return value of
TSDataset.to_flatten(#1095) ### Fixed - Fix bug in
GaleShapleyFeatureSelectionTransformwith wrong number of remaining features (#1110)
- Python
Published by alex-hse-repository almost 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.15.0
Highlights:
- Add saving/loading for transforms, models, pipelines, ensembles; tutorial for saving/loading (#1068)
- Add hierarchical time series support(#1083)
Full changelog:
Added
RMSEmetric &rmsefunctional metric (#1051)MaxDeviationmetric &max_deviationfunctional metric (#1061)- Add saving/loading for transforms, models, pipelines, ensembles; tutorial for saving/loading (#1068)
- Add hierarchical time series support(#1083)
- Add
WAPEmetric &wapefunctional metric (#1085) ### Fixed - Missed kwargs in TFT init(#1078)
- Python
Published by brsnw250 about 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.14.0
Highlights:
- Add python 3.10 support (#1005)
- Add experimental module with TimeSeriesBinaryClassifier and PredictabilityAnalyzer (#985), see example notebook for the ditails (#997)
- Inference track results: add predict method to pipelines, teach some models to work with context, change hierarchy of base models, update notebook examples (#979)
Full changelog:
Added
- Add python 3.10 support (#1005)
- Add
SumTranform(#1021) - Add
plot_change_points_interactive(#988) - Add
experimentalmodule withTimeSeriesBinaryClassifierandPredictabilityAnalyzer(#985) - Inference track results: add
predictmethod to pipelines, teach some models to work with context, change hierarchy of base models, update notebook examples (#979) - Add
get_ruptures_regularizationintoexperimentalmodule (#1001) - Add example
classificationnotebook for experimental classification feature (#997) ### Changed - Change returned model in get_model of BATSModel, TBATSModel (#987)
- Add acfplot, deprecated sampleacfplot, samplepacf_plot (#1004)
- Change returned model in
get_modelofHoltWintersModel,HoltModel,SimpleExpSmoothingModel(#986) ### Fixed - Fix
MinMaxDifferenceTransformimport (#1030) - Fix release docs and docker images cron job (#982)
- Fix forecast first point with CatBoostPerSegmentModel (#1010)
- Fix hanging EDA notebook (#1027)
- Fix hanging EDA notebook v2 + cache clean script (#1034)
- Python
Published by alex-hse-repository about 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.13.0
Highlights:
etna.auto module for pipeline greedy search with default pipelines pool
wandb sweeps and optuna examples
Full changelog:
Added
- Add
greater_is_betterproperty for Metric (#921) etna.autofor greedy search,etna.auto.poolwith default pipelines,etna.auto.optunawrapper for optuna (#895)- Add
MinMaxDifferenceTransform(#955) - Add wandb sweeps and optuna examples (#338) ### Changed
- Make slicing faster in
TSDataset._merge_exog,FilterFeaturesTransform,AddConstTransform,LambdaTransform,LagTransform,LogTransform,SklearnTransform,WindowStatisticsTransform; make CICD test different pandas versions (#900) - Mark some tests as long (#929)
- Fix to_dict with nn models and add unsafe conversion for callbacks (#949) ### Fixed
- Fix
to_dictwith function as parameter (#941) - Fix native networks to work with generated future equals to horizon (#936)
- Fix
SARIMAXModelto work with exogenous data onpmdarima>=2.0(#940) - Teach catboost to work with encoders (#957)
- Python
Published by alex-hse-repository over 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.12.0
Highlights:
- ETNA native
MLPModel to_dictmethod in all the etna objectsDirectEnsembleimplementing the direct forecasting strategy- Notebook about forecasting strategies
Full changelog:
Added
- Function to transform etna objects to dict(#818)
MLPModel(#860)DeadlineMovingAverageModel(#827)DirectEnsemble(#824)- CICD: untaged docker image cleaner (#856)
- Notebook about forecasting strategies (#864)
- Add
ChangePointSegmentationTransform,RupturesChangePointsModel(#821) ### Changed - Teach AutoARIMAModel to work with out-sample predictions (#830)
- Make TSDataset.to_flatten faster for big datasets (#848) ### Fixed
- Type hints for external users by PEP 561 (#868)
- Type hints for
Pipeline.modelmatchmodels.nn(#768) - Fix behavior of SARIMAXModel if simple_differencing=True is set (#837)
- Bug python3.7 and TypedDict import (867)
- Fix deprecated pytorch lightning trainer flags (#866)
- ProphetModel doesn't work with cap and floor regressors (#842)
- Fix problem with encoding category types in OHE (#843)
- Change Docker cuda image version from 11.1 to 11.6.2 (#838)
- Optimize time complexity of
determine_num_steps(#864) - All warning as errors(#880)
- Update .gitignore with .DS_Store and checkpoints (#883)
- Delete ROADMAP.md ([#904]https://github.com/tinkoff-ai/etna/pull/904)
- Fix ci invalid cache (#896)
- Python
Published by alex-hse-repository over 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.11.1
Full changelog:
Fixed
- Fix missing
constant_valueinTimeSeriesImputerTransform(#819) - Make in-sample predictions of SARIMAXModel non-dynamic in all cases (#812)
- Add known_future to cli docs (#823)
- Python
Published by martins0n over 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.11.0
Highlights:
- ETNA native RNN and base classes for deep learning models
- Lambda transform
- Prophet 1.1 support without c++ compiler dependency
- Prediction intervals for DeepAR and TFTModel
- Add
known_futureparameter to CLI
Full changelog:
Added
- LSTM based RNN and native deep models base classes (#776)
- Lambda transform (#762)
- assemble pipelines (#774)
- Tests on in-sample, out-sample predictions with gap for all models (#785) ### Changed
- Add columns and mode parameters in plotcorrelationmatrix (#726)
- Add CatBoostPerSegmentModel and CatBoostMultiSegmentModel classes, deprecate CatBoostModelPerSegment and CatBoostModelMultiSegment (#779)
- Allow Prophet update to 1.1 (#799)
- Make LagTransform, LogTransform, AddConstTransform vectorized (#756)
- Improve the behavior of plotfeaturerelevance visualizing p-values (#795)
- Update poetry.core version (#780)
- Make native prediction intervals for DeepAR (#761)
- Make native prediction intervals for TFTModel (#770)
- Test cases for testing inference of models (#794)
- Wandb.log to WandbLogger (#816) ### Fixed
- Fix missing prophet in docker images (#767)
- Add
known_futureparameter to CLI (#758) - FutureWarning: The frame.append method is deprecated. Use pandas.concat instead (#764)
- Correct ordering if multi-index in backtest (#771)
- Raise errors in models.nn if they can't make in-sample and some cases out-sample predictions (#813)
- Teach BATS/TBATS to work with in-sample, out-sample predictions correctly (#806)
- Github actions cache issue with poetry update (#778)
- Python
Published by martins0n over 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.10.0
Highlights:
- BATS, TBATS and AutoArima models
- Fix of empirical prediction intervals
Full changelog:
Added
- Add Sign metric (#730)
- Add AutoARIMA model (#679)
- Add parameters
start,endto some eda methods (#665) - Add BATS and TBATS model adapters (#678)
- Jupyter extension for black (#742) ### Changed
- Change color of lines in plotanomalies and plotclusters, add grid to all plots, make trend line thicker in plot_trend (#705)
- Change format of holidays for holiday_plot (#708)
- Make feature selection transforms return columns in inverse_transform(#688)
- Add xticks parameter for plot_periodogram, clip frequencies to be >= 1 (#706)
- Make TSDataset method to_dataset work with copy of the passed dataframe (#741) ### Fixed
- Fix bug when
ts.plotdoes not save figure (#714) - Fix bug in plot_clusters (#675)
- Fix bugs and documentation for crosscorrplot (#691)
- Fix bugs and documentation for plotbacktest and plotbacktest_interactive (#700)
- Make STLTransform to work with NaNs at the beginning (#736)
- Fix tiny prediction intervals (#722)
- Fix deepcopy issue for fitted deepmodel (#735)
- Fix making backtest if all segments start with NaNs (#728)
- Fix logging issues with backtest while emp intervals using (#747)
- Python
Published by martins0n over 3 years ago
https://github.com/tinkoff-ai/etna - etna 1.9.0
Added
- Add plotmetricper_segment (#658)
- Add metricpersegmentdistributionplot (#666) ### Changed
- Remove parameter normalize in linear models (#686) ### Fixed
- Add missed
forecast_paramsin forecast CLI method (#671) - Add
_per_segment_averagemethod to the Metric class (#684) - Fix
get_statistics_relevance_tableworking with NaNs and categoricals (#672) - Fix bugs and documentation for stl_plot (#685)
- Fix cuda docker images (#694])
- Python
Published by iKintosh almost 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.8.0
Added
WidthandCoveragemetrics for prediction intervals (#638)- Masked backtest (#613)
- Add seasonal_plot (#628)
- Add plot_periodogram (#606)
- Add support of quantiles in backtest (#652)
- Add predictionactualscatter_plot (#610)
- Add plot_holidays (#624)
- Add instruction about documentation formatting to contribution guide (#648)
- Seasonal strategy in TimeSeriesImputerTransform (#639)
Changed
- Add logging to
Metric.__call__(#643) - Add incolumn to plotanomalies, plotanomaliesinteractive (#618)
- Add logging to TSDataset.inverse_transform (#642)
Fixed
- Passing non default params for default models STLTransform (#641)
- Fixed bug in SARIMAX model with
horizon=1 (#637) - Fixed bug in models
get_modelmethod (#623) - Fixed unsafe comparison in plots (#611)
- Fixed plot_trend does not work with Linear and TheilSen transforms (#617)
- Improve computation time for rolling window statistics (#625)
- Don't fill first timestamps in TimeSeriesImputerTransform (#634)
- Fix documentation formatting (#636)
- Fix bug with exog features in AutoRegressivePipeline (#647)
- Fix missed dependencies (#656)
- Fix customtransformand_model notebook (#651)
- Fix MyBinder bug with dependencies (#650)
- Python
Published by julia-shenshina almost 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.7.0
Highlights:
- New plots (a lot!): imputation, trend, change points, residuals, qq-plot, feature relevance, stl.
- New regressors logic in TSDatasets, Transforms and Models
- Added jupyter notebook with regressors example
- Prediction intervals visualization in plot_forecast
- Detrending could be polynomial
- Added installation instruction for M1
- Fixed TSDataset when plot method does not plot all required segments
- VotingEnsemble allows to set weights of estimator as weights of pipelines
Full changelog:
Added
- Regressors logic to TSDatasets init (https://github.com/tinkoff-ai/etna/pull/357)
- FutureMixin into some transforms (https://github.com/tinkoff-ai/etna/pull/361)
- Regressors updating in TSDataset transform loops (https://github.com/tinkoff-ai/etna/pull/374)
- Regressors handling in TSDataset makefuture and traintest_split (https://github.com/tinkoff-ai/etna/pull/447)
- Prediction intervals visualization in plot_forecast (https://github.com/tinkoff-ai/etna/pull/538)
- Add plot_imputation (https://github.com/tinkoff-ai/etna/pull/598)
- Add plottimeserieswithchange_points function (https://github.com/tinkoff-ai/etna/pull/534)
- Add plot_trend (https://github.com/tinkoff-ai/etna/pull/565)
- Add findchangepoints function (https://github.com/tinkoff-ai/etna/pull/521)
- Add option daynumberin_year to DateFlagsTransform (https://github.com/tinkoff-ai/etna/pull/552)
- Add plot_residuals (https://github.com/tinkoff-ai/etna/pull/539)
- Add get_residuals (https://github.com/tinkoff-ai/etna/pull/597)
- Create PerSegmentBaseModel, PerSegmentPredictionIntervalModel (https://github.com/tinkoff-ai/etna/pull/537)
- Create MultiSegmentModel (https://github.com/tinkoff-ai/etna/pull/551)
- Add qq_plot (https://github.com/tinkoff-ai/etna/pull/604)
- Add regressors example notebook (https://github.com/tinkoff-ai/etna/pull/577)
- Create EnsembleMixin (https://github.com/tinkoff-ai/etna/pull/574)
- Add option season_number to DateFlagsTransform (https://github.com/tinkoff-ai/etna/pull/567)
- Create BasePipeline, add prediction intervals to all the pipelines, move parameter n_fold to forecast (https://github.com/tinkoff-ai/etna/pull/578)
- Add stl_plot (https://github.com/tinkoff-ai/etna/pull/575)
- Add plotfeaturesrelevance (https://github.com/tinkoff-ai/etna/pull/579)
- Add community section to README.md (https://github.com/tinkoff-ai/etna/pull/580)
- Create AbstaractPipeline (https://github.com/tinkoff-ai/etna/pull/573)
- Option "auto" to weights parameter of VotingEnsemble, enables to use feature importance as weights of base estimators (https://github.com/tinkoff-ai/etna/pull/587)
Changed
- Change the way ProphetModel works with regressors (https://github.com/tinkoff-ai/etna/pull/383)
- Change the way SARIMAXModel works with regressors (https://github.com/tinkoff-ai/etna/pull/380)
- Change the way Sklearn models works with regressors (https://github.com/tinkoff-ai/etna/pull/440)
- Change the way FeatureSelectionTransform works with regressors, rename variables replacing the "regressor" to "feature" (https://github.com/tinkoff-ai/etna/pull/522)
- Add table option to ConsoleLogger (https://github.com/tinkoff-ai/etna/pull/544)
- Installation instruction (https://github.com/tinkoff-ai/etna/pull/526)
- Update plot_forecast for multi-forecast mode (https://github.com/tinkoff-ai/etna/pull/584)
- Trainer kwargs for deep models (https://github.com/tinkoff-ai/etna/pull/540)
- Update CONTRIBUTING.md (https://github.com/tinkoff-ai/etna/pull/536)
- Rename _CatBoostModel, _HoltWintersModel, _SklearnModel (https://github.com/tinkoff-ai/etna/pull/543)
- Add logging to TSDataset.make_future, log repr of transform instead of class name (https://github.com/tinkoff-ai/etna/pull/555)
- Rename _SARIMAXModel and _ProphetModel, make SARIMAXModel and ProphetModel inherit from PerSegmentPredictionIntervalModel (https://github.com/tinkoff-ai/etna/pull/549)
- Update get_started section in README (https://github.com/tinkoff-ai/etna/pull/569)
- Make detrending polynomial (https://github.com/tinkoff-ai/etna/pull/566)
- Update documentation about transforms that generate regressors, update examples with them (https://github.com/tinkoff-ai/etna/pull/572)
- Fix that segment is string (https://github.com/tinkoff-ai/etna/pull/602)
- Make LabelEncoderTransform and OneHotEncoderTransform multi-segment (https://github.com/tinkoff-ai/etna/pull/554)
Fixed
- Fix TSDataset.updateregressors logic removing the regressors (https://github.com/tinkoff-ai/etna/pull/489)
- Fix TSDataset.info, TSDataset.describe methods (https://github.com/tinkoff-ai/etna/pull/519)
- Fix regressors handling for OneHotEncoderTransform and HolidayTransform (https://github.com/tinkoff-ai/etna/pull/518)
- Fix wandb summary issue with custom plots (https://github.com/tinkoff-ai/etna/pull/535)
- Small notebook fixes (https://github.com/tinkoff-ai/etna/pull/595)
- Fix import Literal in plotters (https://github.com/tinkoff-ai/etna/pull/558)
- Fix plot method bug when plot method does not plot all required segments (https://github.com/tinkoff-ai/etna/pull/596)
- Fix dependencies for ARM (https://github.com/tinkoff-ai/etna/pull/599)
- [BUG] nn models make forecast without inverse_transform (https://github.com/tinkoff-ai/etna/pull/541)
- Python
Published by iKintosh almost 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.6.3
Highlights:
- Fix for version incompatibility of scipy and statsmodels
Full changelog:
Fixed
- Fixed adding unnecessary lag=1 in statistics (#523)
- Fixed wrong MeanTransform behaviour when using alpha parameter (#523)
- Fix processing add_noise=True parameter in datasets generation (#520)
- Fix scipy version (#525)
- Python
Published by martins0n about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.6.2
Full changelog:
Added
- Holt-Winters', Holt and exponential smoothing models (#502)
Fixed
- Bug with exog features in DifferencingTransform.inverse_transform (#503)
- Python
Published by iKintosh about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.6.1
Full changelog:
Added
- Allow choosing start and end in
TSDataset.plotmethod (488)
Changed
- Make TSDataset.to_flatten faster (#475)
- Allow logger percentile metric aggregation to work with NaNs (#483)
Fixed
- Can't make forecasting with pipelines, data with nans, and Imputers (#473)
- Python
Published by iKintosh about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.6.0
Highlights:
- New transforms for feature engineering:
DifferencingTransform,OneHotEncoderTransform,LabelEncoderTransform,MADTransform. - New transform for feature selection:
MRMRFeatureSelectionTransform. - Warnings in docstrings about possible look-ahead bias in case of using some transfroms.
- Version update of sklearn, pytorch-forecasting and
PytorchForecastingTransformapi minor changes. - Fixes for SARIMAX non-default parameters.
TSDataset.describemethod for high-level information about provided time series: % of missing values, number of segments, first and last dates and etc.
Full changelog:
Added
- Method TSDataset.info (#409)
- DifferencingTransform (#414)
- OneHotEncoderTransform and LabelEncoderTransform (#431)
- MADTransform (#441)
MRMRFeatureSelectionTransform(#439)- Possibility to change metric representation in backtest using Metric.name (#454)
- Warning section in documentation about look-ahead bias (#464)
- Parameter
figsizeto all the plotters #465
Changed
- Change method TSDataset.describe (#409)
- Group Transforms according to their impact (#420)
- Change the way
LagTransform,DateFlagsTransformandTimeFlagsTransformgenerate column names (#421) - Clarify the behaviour of TimeSeriesImputerTransform in case of all NaN values (#427)
- Fixed bug in title in
sample_acf_plotmethod (#432) - Pytorch-forecasting and sklearn version update + some pytroch transform API changing (#445)
Fixed
- Add relevance_params in GaleShapleyFeatureSelectionTransform (#410)
- Docs for statistics transforms (#441)
- Handling NaNs in trend transforms (#456)
- Logger fails with StackingEnsemble (#460)
- SARIMAX parameters fix (#459)
- [BUG] Check pytorch-forecasting models with freq > "1D" (#463)
- Python
Published by martins0n about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.5.0
Highlights:
- We extend our family of loggers by adding S3FileLogger and LocalFileLogger. They partially duplicate behaviour of WandbLogger: you can run multiple experiments (via Optuna, HyperOpt or cutom loop as example) with different hyperparameters and transformers, save results locally or on S3 and analyze results afterwards.
- HolidayTransfrom on the base of holidays library.
- Bug fixies for prediction intervals - now they change after inverse_transform like target.
- We change behaviour of
fit_transform:- before we raised error if some timeseries ended on
NaNvalues - now checking will be made only before forecasting phase, so you can fill
NaNs withTimeSeriesImputerTransformand make predictions without raised errors. ## N.B. Special thanks to @Gewissta and his videos about timeseries analysis with ETNA library
- before we raised error if some timeseries ended on
- Part 1 (Russian)
- Part 2 (Russian)
Full changelog:
Added
- Holiday Transform (#359)
- S3FileLogger and LocalFileLogger (#372)
- Parameter
changepoint_prior_scaletoProphetModel(#408)
Changed
- Set
strict_optional = Truefor mypy (#381) - Move checking the series endings to
make_futurestep (#413)
Fixed
- Sarimax bug in future prediction with quantiles (#391)
- Catboost version too high (#394)
- Add sorting of classes in left bar in docs (#397)
- nn notebook in docs (#396)
- SklearnTransform column name generation (#398)
- Inverse transform doesn't affect quantiles (#395)
- Python
Published by martins0n about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.4.2
- Fix docs generation
- Python
Published by iKintosh about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.4.1
- Made
Model,PerSegmentModel,PerSegmentWrapperimports more convenient - Docs now have all neural networks models
- Speed up
_check_regressorsand_merge_exog
- Python
Published by iKintosh about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.4.0
Hi! In this release we have focused on speed and bug fixes.
Added
- ACF plot
Changed
- Add ts.inverse_transform as final step at Pipeline.fit method
- Make testts optional in plotforecast
- Speed up inference for multisegment regression models
- Speed up Pipeline.getbacktest_forecasts
- Speed up SegmentEncoderTransform
- Wandb Logger does not work unless pytorch is installed
Fixed
- Get rid of lambda in DensityOutliersTransform and getanomaliesdensity
- Fixed import in transforms
- Pickle DTWClustering
Removed
- Remove TimeSeriesCrossValidation
- Python
Published by iKintosh about 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.3.3
Added: - RelevanceTable can return rank - GaleShapleyFeatureSelectionTransform based one Gale-Shapley algorithm - FilterFeaturesTransform for selecting features from TSDataset while feature engineering - ResampleWithDistributionTransform helps to resample features according to the other feature distribution - Spell checks in ci
Changed: - Rename confidence interval to prediction interval, start working with quantiles instead of interval_width - Changed format of forecast and test dataframes in WandbLogger
- Python
Published by martins0n over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.3.2
Minor addition: - Add sum for omegaconf resolvers
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.3.1
Also we remove restriction on version of pandas
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.3.0
We are happy to announce 1.3.0 version of the etna library!
We focused on making etna even more user friendly as well as added new features.
We have added:
- CLI for backtesting
- MeanSegmentEncoderTransform
- Several feature relevance algorithms
- TreeFeatureSelectionTransform
We have fixed:
- Bugs in loggers when aggregate_metrics=True
- Bug when TSDataset did not create future if exogenous data has empty future
- links in CLI documentation
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - :bomb: PRE-release 1.3.0-alpha.0
In progress...
In this prerelease we are testing optional dependencies. Be careful!
Docs available at https://unstable--etna-docs.netlify.app
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.2.0
Boom! Huge update!
Added
- Even more documentation
- Even more Jupyter Notebooks with examples
- Pipeline class, helps unite models and transforms
- Ensemble classes, helps unite models
- AutoRegressivePipeline
- Add confidence intervals to pipelines, models and transforms
- Add new Transforms
- Add clustering methods
Changed
- backtest moved to Pipeline class
Fixed
- pandas bugs
- TSDataset.to_dataset bug
More in our Changelog
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - :bomb: PRE-release 1.2.0-alpha.1
Fix bug in TSDataset
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - :bomb: PRE-release 1.2.0-alpha.0
Added
- BinsegTrendTransform, ChangePointsTrendTransform (#87)
- Interactive plot for anomalies (#95)
- Examples to TSDataset methods with doctest (#92)
- WandbLogger (#71)
- Pipeline (#78)
- Sequence anomalies (#96), Histogram anomalies (#79)
- 'is_weekend' feature in DateFlagsTransform (#101)
- Documentation example for models and note about inplace nature of forecast (#112)
- Property regressors to TSDataset (#82)
- Clustering (#110)
- Outliers notebook (#123))
- Method inverse_transform in TimeSeriesImputerTransform (#135)
- VotingEnsemble (#150)
- Forecast command for cli (#133)
- MyPy checks in CI/CD and lint commands (#39)
- TrendTransform (#139)
- Running notebooks in ci (#134)
- Cluster plotter to EDA (#169)
- Pipeline.backtest method (#161, #192)
- STLTransform class (#158)
- NN_examples notebook (#159)
- Example for ProphetModel (#178)
- Instruction notebook for custom model and transform creation (#180)
- Add inverse_transform in *OutliersTransform (#160)
- Examples for CatBoostModelMultiSegment and CatBoostModelPerSegment (#181)
Changed
- Delete offset from WindowStatisticsTransform (#111)
- Add Pipeline example in Get started notebook (#115)
- Internal implementation of BinsegTrendTransform (#141)
- Colorebar scaling in Correlation heatmap plotter (#143)
- Add Correlation heatmap in EDA notebook (#144)
- Add
__repr__for Pipeline (#151) - Defined random state for every test cases (#155)
- Add confidence intervals to Prophet (#153)
- Add confidence intervals to SARIMA (#172)
Fixed
- Set default value of
TSDataset.headmethod (#170) - Categorical and fillna issues with pandas >=1.2 (#190)
- Python
Published by martins0n over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.1.3
This is a hot fix release. This update is recommended for installation for all etna users!
- Limit version of pandas by 1.2
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.1.2
Just some bug fixes:
Changed
- SklearnTransform out column names (#99)
- Update EDA notebook (#96)
- Add 'regressor_' prefix to output columns of LagTransform, DateFlagsTransform, SpecialDaysTransform, SegmentEncoderTransform ### Fixed
- Add more obvious Exception Error for forecasting with unfitted model (#102)
- Fix bug with hardcoded frequency in PytorchForecastingTransform (#107)
- Bug with inverse_transform method of TimeSeriesImputerTransform (#148)
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - :bomb: PRE-release 1.1.2-alpha.0
In progress... Fixing bugs
Changed
- SklearnTransform out column names (#99)
- Update EDA notebook (#96)
- Add 'regressor_' prefix to output columns of LagTransform, DateFlagsTransform, SpecialDaysTransform, SegmentEncoderTransform ### Fixed
- Add more obvious Exception Error for forecasting with unfitted model (#102)
- Fix bug with hardcoded frequency in PytorchForecastingTransform (#107)
- Bug with inverse_transform method of TimeSeriesImputerTransform (#148)
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.1.0
In this release we focused on adding even more features to our library. Please meet new models and transforms:
Added
- MedianOutliersTransform, DensityOutliersTransform (#30)
- Issues and Pull Request templates
- TSDataset checks (#24, #20)
- Pytorch-Forecasting models (#29)
- SARIMAX model (#10)
- Logging, including ConsoleLogger (#46)
- Correlation heatmap plotter (#77)
Changed
- Backtest is fully parallel
- New default hyperparameters for CatBoost
Fixed
- Documentation fixes (#55, #53, #52)
- Solved warning in LogTransform and AddConstantTransform (#26)
- Regressors does not have enough history bug (#35)
- makefuture(1) and makefuture(2) bug
- Fix working with 'cap' and 'floor' features in Prophet model (#62))
- Fix saving init params for SARIMAXModel (#81)
- Imports of nn models, PytorchForecastingTransform and Transform (#80))
- Python
Published by iKintosh over 4 years ago
https://github.com/tinkoff-ai/etna - etna 1.0.0
This is our first release 🎉 More to come! Stay tuned!
Added
- Models
- CatBoost
- Prophet
- Seasonal Moving Average
- Naive
- Linear
- Transforms
- Rolling statistics
- Trend removal
- Segment encoder
- Datetime flags
- Sklearn skalers (MinMax, Robust, MinMaxAbs, Standard, MaxAbs)
- BoxCox, YeoJohnson, LogTransform
- Lag operator
- NaN imputer
- TimeSeriesCrossValidation
- Time Series Dataset (TSDataset)
- Playground datasets generation (AR, constant, periodic, from pattern)
- Matrics (MAE, MAPE, SMAPE, MedAE, MSE, MSLE, R^2)
- EDA mehods
- Outliers detection
- PACF plot
- Cross correlation plot
- Destribution plot
- Anomalies (Outliers) plot
- Backtest (CrossValidation) plot
- Forecast plot
- Python
Published by iKintosh over 4 years ago