Skip to content

Latest commit

 

History

History
468 lines (412 loc) · 29.7 KB

CHANGELOG.md

File metadata and controls

468 lines (412 loc) · 29.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Lambda transform (#762)
  • Tests on in-sample, out-sample predictions with gap for all models (#785)

Changed

  • Add columns and mode parameters in plot_correlation_matrix (#726)
  • Add CatBoostPerSegmentModel and CatBoostMultiSegmentModel classes, deprecate CatBoostModelPerSegment and CatBoostModelMultiSegment (#779)
  • Make LagTransform, LogTransform, AddConstTransform vectorized (#756)
  • 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)

Fixed

  • Fix missing prophet in docker images (#767)
  • Add known_future parameter to CLI (#758)
  • FutureWarning: The frame.append method is deprecated. Use pandas.concat instead (#764)
  • Correct ordering if multi-index in backtest (#771)
  • Github actions cache issue with poetry update (#778)

[1.10.0] - 2022-06-12

Added

  • Add Sign metric (#730)
  • Add AutoARIMA model (#679)
  • Add parameters start, end to some eda methods (#665)
  • Add BATS and TBATS model adapters (#678)
  • Jupyter extension for black (#742)

Changed

  • Change color of lines in plot_anomalies and plot_clusters, 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.plot does not save figure (#714)
  • Fix bug in plot_clusters (#675)
  • Fix bugs and documentation for cross_corr_plot (#691)
  • Fix bugs and documentation for plot_backtest and plot_backtest_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)

[1.9.0] - 2022-05-17

Added

  • Add plot_metric_per_segment (#658)
  • Add metric_per_segment_distribution_plot (#666)

Changed

  • Remove parameter normalize in linear models (#686)

Fixed

  • Add missed forecast_params in forecast CLI method (#671)
  • Add _per_segment_average method to the Metric class (#684)
  • Fix get_statistics_relevance_table working with NaNs and categoricals (#672)
  • Fix bugs and documentation for stl_plot (#685)
  • Fix cuda docker images (#694])

[1.8.0] - 2022-04-28

Added

  • Width and Coverage metrics for prediction intervals (#638)
  • Masked backtest (#613)
  • Add seasonal_plot (#628)
  • Add plot_periodogram (#606)
  • Add support of quantiles in backtest (#652)
  • Add prediction_actual_scatter_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 in_column to plot_anomalies, plot_anomalies_interactive (#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_model method (#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 custom_transform_and_model notebook (#651)
  • Fix MyBinder bug with dependencies (#650)

[1.7.0] - 2022-03-16

Added

  • Regressors logic to TSDatasets init (#357)
  • FutureMixin into some transforms (#361)
  • Regressors updating in TSDataset transform loops (#374)
  • Regressors handling in TSDataset make_future and train_test_split (#447)
  • Prediction intervals visualization in plot_forecast (#538)
  • Add plot_imputation (#598)
  • Add plot_time_series_with_change_points function (#534)
  • Add plot_trend (#565)
  • Add find_change_points function (#521)
  • Add option day_number_in_year to DateFlagsTransform (#552)
  • Add plot_residuals (#539)
  • Add get_residuals (#597)
  • Create PerSegmentBaseModel, PerSegmentPredictionIntervalModel (#537)
  • Create MultiSegmentModel (#551)
  • Add qq_plot (#604)
  • Add regressors example notebook (#577)
  • Create EnsembleMixin (#574)
  • Add option season_number to DateFlagsTransform (#567)
  • Create BasePipeline, add prediction intervals to all the pipelines, move parameter n_fold to forecast (#578)
  • Add stl_plot (#575)
  • Add plot_features_relevance (#579)
  • Add community section to README.md (#580)
  • Create AbstaractPipeline (#573)
  • Option "auto" to weights parameter of VotingEnsemble, enables to use feature importance as weights of base estimators (#587)

Changed

  • Change the way ProphetModel works with regressors (#383)
  • Change the way SARIMAXModel works with regressors (#380)
  • Change the way Sklearn models works with regressors (#440)
  • Change the way FeatureSelectionTransform works with regressors, rename variables replacing the "regressor" to "feature" (#522)
  • Add table option to ConsoleLogger (#544)
  • Installation instruction (#526)
  • Update plot_forecast for multi-forecast mode (#584)
  • Trainer kwargs for deep models (#540)
  • Update CONTRIBUTING.md (#536)
  • Rename _CatBoostModel, _HoltWintersModel, _SklearnModel (#543)
  • Add logging to TSDataset.make_future, log repr of transform instead of class name (#555)
  • Rename _SARIMAXModel and _ProphetModel, make SARIMAXModel and ProphetModel inherit from PerSegmentPredictionIntervalModel (#549)
  • Update get_started section in README (#569)
  • Make detrending polynomial (#566)
  • Update documentation about transforms that generate regressors, update examples with them (#572)
  • Fix that segment is string (#602)
  • Make LabelEncoderTransform and OneHotEncoderTransform multi-segment (#554)

Fixed

  • Fix TSDataset._update_regressors logic removing the regressors (#489)
  • Fix TSDataset.info, TSDataset.describe methods (#519)
  • Fix regressors handling for OneHotEncoderTransform and HolidayTransform (#518)
  • Fix wandb summary issue with custom plots (#535)
  • Small notebook fixes (#595)
  • Fix import Literal in plotters (#558)
  • Fix plot method bug when plot method does not plot all required segments (#596)
  • Fix dependencies for ARM (#599)
  • [BUG] nn models make forecast without inverse_transform (#541)

[1.6.3] - 2022-02-14

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)

[1.6.2] - 2022-02-09

Added

  • Holt-Winters', Holt and exponential smoothing models (#502)

Fixed

  • Bug with exog features in DifferencingTransform.inverse_transform (#503)

[1.6.1] - 2022-02-03

Added

  • Allow choosing start and end in TSDataset.plot method (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)

[1.6.0] - 2022-01-28

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 figsize to all the plotters #465

Changed

  • Change method TSDataset.describe (#409)
  • Group Transforms according to their impact (#420)
  • Change the way LagTransform, DateFlagsTransform and TimeFlagsTransform generate column names (#421)
  • Clarify the behaviour of TimeSeriesImputerTransform in case of all NaN values (#427)
  • Fixed bug in title in sample_acf_plot method (#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)

[1.5.0] - 2021-12-24

Added

  • Holiday Transform (#359)
  • S3FileLogger and LocalFileLogger (#372)
  • Parameter changepoint_prior_scale to ProphetModel (#408)

Changed

  • Set strict_optional = True for mypy (#381)
  • Move checking the series endings to make_future step (#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)

[1.4.2] - 2021-12-09

Fixed

  • Docs generation for neural networks

[1.4.1] - 2021-12-09

Changed

  • Speed up _check_regressors and _merge_exog (#360)

Fixed

  • Model, PerSegmentModel, PerSegmentWrapper imports (#362)
  • Docs generation (#363)
  • Fixed work of get_anomalies_density with constant series (#334)

[1.4.0] - 2021-12-03

Added

Changed

  • Add ts.inverse_transform as final step at Pipeline.fit method (#316)
  • Make test_ts optional in plot_forecast (#321)
  • Speed up inference for multisegment regression models (#333)
  • Speed up Pipeline._get_backtest_forecasts (#336)
  • Speed up SegmentEncoderTransform (#331)
  • Wandb Logger does not work unless pytorch is installed (#340)

Fixed

  • Get rid of lambda in DensityOutliersTransform and get_anomalies_density (#341)
  • Fixed import in transforms (#349)
  • Pickle DTWClustering (#350)

Removed

  • Remove TimeSeriesCrossValidation (#337)

[1.3.3] - 2021-11-24

Added

  • RelevanceTable returns rank (#268)
  • GaleShapleyFeatureSelectionTransform (#284)
  • FilterFeaturesTransform (#277)
  • Spell checking for source code and md files (#303)
  • ResampleWithDistributionTransform (#296)
  • Add function to duplicate exogenous data (#305)
  • FourierTransform (#306)

Changed

  • Rename confidence interval to prediction interval, start working with quantiles instead of interval_width (#285)
  • Changed format of forecast and test dataframes in WandbLogger (#309)

Fixed

[1.3.2] - 2021-11-18

Changed

  • Add sum for omegaconf resolvers (#300)

[1.3.1] - 2021-11-12

Changed

  • Delete restriction on version of pandas (#274)

[1.3.0] - 2021-11-12

Added

  • Backtest cli (#223, #259)
  • TreeFeatureSelectionTransform (#229)
  • Feature relevance table calculation using tsfresh (#227, #249)
  • Method to_flatten to TSDataset (#241
  • Out_column parameter to not inplace transforms(#211)
  • omegaconf config parser in cli (#258)
  • Feature relevance table calculation using feature importance (#261)
  • MeanSegmentEncoderTransform (#265)

Changed

  • Add possibility to set custom in_column for ConfidenceIntervalOutliersTransform (#240)
  • Make in_column the first argument in every transform (#247)
  • Update mypy checking and fix issues with it (#248)
  • Add histogram method in outliers notebook (#252)
  • Joblib parameters for backtest and ensembles (#253)
  • Replace cycle over segments with vectorized expression in TSDataset._check_endings (#264)

Fixed

  • Fixed broken links in docs command section (#223)
  • Fix default value for TSDataset.tail (#245)
  • Fix raising warning on fitting SklearnModel on dataset categorical columns (#250)
  • Fix working TSDataset.make_future with empty exog values (#244)
  • Fix issue with aggregate_metrics=True for ConsoleLogger and WandbLogger (#254)
  • Fix binder requirements to work with optional dependencies (#257)

[1.2.0] - 2021-10-27

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)
  • Simplify TSDataset.train_test_split method by allowing to pass not all values (#191)
  • Confidence interval anomalies detection to EDA (#182)
  • ConfidenceIntervalOutliersTransform (#196)
  • Add 'in_column' parameter to get_anomalies methods(#199)
  • Clustering notebook (#152)
  • StackingEnsemble (#195)
  • Add AutoRegressivePipeline (#209)
  • Ensembles notebook (#218)
  • Function plot_backtest_interactive (#225)
  • Confidence intervals in Pipeline (#221)

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)
  • Add badges to all example notebooks (#220)
  • Update backtest notebook by adding Pipeline.backtest (222)

Fixed

  • Set default value of TSDataset.head method (#170)
  • Categorical and fillna issues with pandas >=1.2 (#190)
  • Fix TSDataset.to_dataset method sorting bug (#183)
  • Undefined behaviour of DataFrame.loc[:, pd.IndexSlice[:, ["a", "b"]]] between 1.1.* and >= 1.2 (#188)
  • Fix typo in word "length" in get_segment_sequence_anomalies,get_sequence_anomalies,SAXOutliersTransform arguments (#212)
  • Make possible to send backtest plots with many segments (#225)

[1.1.3] - 2021-10-08

Fixed

  • Limit version of pandas by 1.2 (excluding) (#163)

[1.1.2] - 2021-10-08

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)

[1.1.1] - 2021-09-23

Fixed

  • Documentation build workflow (#85)

[1.1.0] - 2021-09-23

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
  • Add 'regressor_' prefix to output columns of LagTransform, DateFlagsTransform, SpecialDaysTransform, SegmentEncoderTransform

Fixed

  • Documentation fixes (#55, #53, #52)
  • Solved warning in LogTransform and AddConstantTransform (#26)
  • Regressors do not have enough history bug (#35)
  • make_future(1) and make_future(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)

[1.0.0] - 2021-09-05

Added

  • Models
    • CatBoost
    • Prophet
    • Seasonal Moving Average
    • Naive
    • Linear
  • Transforms
    • Rolling statistics
    • Trend removal
    • Segment encoder
    • Datetime flags
    • Sklearn's scalers (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)
  • Metrics (MAE, MAPE, SMAPE, MedAE, MSE, MSLE, R^2)
  • EDA methods
    • Outliers detection
    • PACF plot
    • Cross correlation plot
    • Distribution plot
    • Anomalies (Outliers) plot
    • Backtest (CrossValidation) plot
    • Forecast plot