-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrating LGT/DLT into ETS Base #280
Conversation
* fix regressor matrix extraction * unit test for cases with mixed pos® regressors
@steveyang90 this should be ready for some initial review. Want to hear your input before updating doc string and tutorials. |
At a high level this makes sense and is in line with what I had in mind. It'll take me a little while to go through the details. As I also mentioned, I'm working on a PR right now for a linear regression, which also incorporates a redesign to push up a common base class. I agree with the general design pattern here, but I'm leaning more towards having an abstract shared class, rather than a concrete. For now I think the general design here is fine though. I'll wait until we wrap up this PR to incorporate that though so we can merge one thing at a time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edwinnglabs line by line comments are a little hard on this PR so i'll be writing a series of comments here. Overall, I think the refactor is good and aligned with how we previously discussed!
A few things, it appears there are a number of methods left in LGTBase
that are identical to the methods that are now pushed up to ETS and can be removed. Let me know if there's a reason for this.
To name a few:
BaseLGT.fit()
BaseLGT._prepent_date_column()
BaseLGT._set_aggregate_posteriors()
Not sure if that list is exhaustive or not, but you can do a diff comparison between the methods in LGT
and ETS
and remove any that are identical
Same for DLT, but I think there are fewer there.
This one is just a note to keep track in the future: redundant regression methods between |
Also I think |
@steveyang90 i feel quite safe now for having the new unit tests added and have this PR passed them. I suggest you do a quick final review before we merge this since it is impacting a lot of lines. |
@edwinnglabs I just merged #303 into In addition, I only wrote that test for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost there! Some small last bits of clean up left in the comments and then we should be good to merge
orbit/models/lgt.py
Outdated
""" | ||
super()._set_static_data_attributes() | ||
# TODO: hacky fix | ||
# self._set_init_values() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@edwinnglabs Can we confirm and remove these commented lines to avoid confusion
orbit/models/lgt.py
Outdated
init_values_callable = lambda: init_values_function(seasonality) # noqa | ||
self._init_values = init_values_callable | ||
@staticmethod | ||
def _get_regressor_matrix(df, rr_col, pr_col, nr_col): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is used anywhere. If that is the case, let's remove to avoid confusion since we preserve regression order using self._regressor_col
orbit/models/dlt.py
Outdated
items=self._regular_regressor_col, ).values | ||
|
||
@staticmethod | ||
def _get_regressor_matrix(df, rr_col, pr_col, nr_col): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment as in LGT
. Let's get rid of this if we're not using it
- refine/remove comments - remove unused methods
LGTM! |
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py * pumping version * Update README.rst * Update README.rst * Update README.rst * Update README.rst * readme refine * Provide Inference for MAP and Aggregated Estimator (#359) * Create .readthedocs.yml. * Rename .readthedocs.yml. to .readthedocs.yml * Update .readthedocs.yml * Dev tutorials update (#362) * tutorials update for master branch * Update conf.py * Update __init__.py * tutorial update * notebook update * Update lgt.ipynb * update * notebook * Update pyro_basic.ipynb * temp * Provide Inference for MAP and Aggregated Estimator (#359) * Update pyro_basic.ipynb * update of notebooks * tutorial update and proof-reading * cell number update * notebook minor update * relabel notebook under exampels/ * file ext * new tab and more updates * readme tone change & link fix * typo fix * minor fix Co-authored-by: Zhishi Wang <zhishiw@uber.com> * Update .readthedocs.yml * Update .readthedocs.yml * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py * pumping version * Update README.rst * Update README.rst * Update README.rst * Update README.rst * readme refine * Provide Inference for MAP and Aggregated Estimator (#359) * Create .readthedocs.yml. * Rename .readthedocs.yml. to .readthedocs.yml * Update .readthedocs.yml * Dev tutorials update (#362) * tutorials update for master branch * Update conf.py * Update __init__.py * tutorial update * notebook update * Update lgt.ipynb * update * notebook * Update pyro_basic.ipynb * temp * Provide Inference for MAP and Aggregated Estimator (#359) * Update pyro_basic.ipynb * update of notebooks * tutorial update and proof-reading * cell number update * notebook minor update * relabel notebook under exampels/ * file ext * new tab and more updates * readme tone change & link fix * typo fix * minor fix Co-authored-by: Zhishi Wang <zhishiw@uber.com> * Update .readthedocs.yml * Update .readthedocs.yml * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update README.md Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py * pumping version * Update README.rst * Update README.rst * Update README.rst * Update README.rst * readme refine * Provide Inference for MAP and Aggregated Estimator (#359) * Create .readthedocs.yml. * Rename .readthedocs.yml. to .readthedocs.yml * Update .readthedocs.yml * Dev tutorials update (#362) * tutorials update for master branch * Update conf.py * Update __init__.py * tutorial update * notebook update * Update lgt.ipynb * update * notebook * Update pyro_basic.ipynb * temp * Provide Inference for MAP and Aggregated Estimator (#359) * Update pyro_basic.ipynb * update of notebooks * tutorial update and proof-reading * cell number update * notebook minor update * relabel notebook under exampels/ * file ext * new tab and more updates * readme tone change & link fix * typo fix * minor fix Co-authored-by: Zhishi Wang <zhishiw@uber.com> * Update .readthedocs.yml * Update .readthedocs.yml * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update README.md Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py * pumping version * Update README.rst * Update README.rst * Update README.rst * Update README.rst * readme refine * Provide Inference for MAP and Aggregated Estimator (#359) * Create .readthedocs.yml. * Rename .readthedocs.yml. to .readthedocs.yml * Update .readthedocs.yml * Dev tutorials update (#362) * tutorials update for master branch * Update conf.py * Update __init__.py * tutorial update * notebook update * Update lgt.ipynb * update * notebook * Update pyro_basic.ipynb * temp * Provide Inference for MAP and Aggregated Estimator (#359) * Update pyro_basic.ipynb * update of notebooks * tutorial update and proof-reading * cell number update * notebook minor update * relabel notebook under exampels/ * file ext * new tab and more updates * readme tone change & link fix * typo fix * minor fix Co-authored-by: Zhishi Wang <zhishiw@uber.com> * Update .readthedocs.yml * Update .readthedocs.yml * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* remove enum34 dependency (#301) * add test_lgt_full_reproducibility (#303) * Integrating LGT/DLT into ETS Base (#280) * first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> * Create RELEASE.md (#307) * utility for hyper-parameter tuning (#324) * utility for hyper-parameter tuning * minor * demo for hyper tuning * Organize Plotting functions and enhancement (#327) * Tutorial Update - diagnostics/backtest plotting (#332) * add ploting tutorials * back test tutorial * back test tutorial * fix commets * suppress warnings * quick fix * badge update * Update tutorials notebooks (#329) * Update tutorials notebooks * add the notebook and dataset for regression * push the new icalim dataset * update the regression notebook and modify the data load function * update for regression tutorials * regression notebook * Update regression.ipynb * notebooks update * refine verbiage; regression change * minor cosmetics * remove log transform since it's done in new iclaims data * remove log transform since it's done in the new iclaims data * filter first then standardize * filter first then standardize Co-authored-by: Edwin Ng <edwinng@uber.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> * fix data url in load_iclaims() (#337) * fix data url in load_iclaims() * update the tutorials catalogue to reflect the changes; fix typos * Minor updates in tutorial notebooks (#339) * fix tutorials notebook * update title level in regression notebook * Feat pickle fix (#342) * first pickle fix attempt * better attempt by using initializer creating an initializer class to tackle problem of #340 fixed #40 * ETS Initializer add ets initializer and change some wording from stan to generic * change wording from stan to generic [minor] minor wording * Add deprecating warnings for LGT model with regressor (#341) * add deprecation warning for LGT regression * remove wrong notebook * remove wrong notebook * minor cosmetic change (#343) * Dev unit test (#348) * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * unit test for fixed sm input * validation for global_trend_option and regression_penalty * unit test for fixed sm input and regression penalty * warning message * more smoothing input tests * more smoothing input tests * change level_sm_input lower bound to 0.001 from 0 * raise error message for level_sm_input lower than 0.0001 * Docstring inheritance (#351) * add docstring inheritance * add example jupyter notebook * add requirements * minor changes * minor formatting * add lower bound for common substring * Update stan_estimator.py * Update docstring_inheritance_check.ipynb * Update backtest.py Co-authored-by: Edwin Ng <edwinng@uber.com> * iclaims data de-meaning (#352) * pumping version to 1.0.11 pumping version to 1.0.11 * bug fix for following sphinx in README.rst * Update setup.py * pumping version * Update README.rst * Update README.rst * Update README.rst * Update README.rst * readme refine * Provide Inference for MAP and Aggregated Estimator (#359) * Create .readthedocs.yml. * Rename .readthedocs.yml. to .readthedocs.yml * Update .readthedocs.yml * Dev tutorials update (#362) * tutorials update for master branch * Update conf.py * Update __init__.py * tutorial update * notebook update * Update lgt.ipynb * update * notebook * Update pyro_basic.ipynb * temp * Provide Inference for MAP and Aggregated Estimator (#359) * Update pyro_basic.ipynb * update of notebooks * tutorial update and proof-reading * cell number update * notebook minor update * relabel notebook under exampels/ * file ext * new tab and more updates * readme tone change & link fix * typo fix * minor fix Co-authored-by: Zhishi Wang <zhishiw@uber.com> * Update .readthedocs.yml * Update .readthedocs.yml * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update regression.ipynb * Update README.md Co-authored-by: CrossNox <ijmermet@gmail.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com> Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: ppstacy <ppstacy@gmail.com> Co-authored-by: Zhishi Wang <zhishiw@uber.com>
* first draft of ets * ets temp * refresh banner and icon * read me link * more banners * testing new dim of banner * Predict fix (#281) * fix regressor matrix extraction * unit test for cases with mixed pos® regressors * adding logo and some style for tutorial and docs * favicon * refactoring DLT onto ets * refine DLT and pass all unit tests * passed all unit tests * unit test fix * fixed unit test * add test_ets.py * Additional refinement on ETS Refactoring (#296) * fixed some OO duplicated methods -[x] remove duplicated modules as suggested -[x] remove `_get_regresso_matrix()` as suggested * docstring update * removing fit method in lgt * add negative regressor test cases * add negative regressor test * Update test_lgt.py * updated the test data and tests logic * fixed numerical issues due to initialization * minor * bug fix * Update conftest.py * Create iclaims.example.csv * temp * Create orbit-adhoc-test[TEST].ipynb * fixed regression issue * Delete orbit-adhoc-test[TEST].ipynb * removing negative test for lgt * add test_lgt_full_reproducibility (#303) * introducing * small fix on refactoring ets - refine/remove comments - remove unused methods Co-authored-by: Zhishi Wang <wangzhishi@users.noreply.github.com> Co-authored-by: Yifeng Wu <yifeng.wu@uber.com> Co-authored-by: Steve Yang <steven.s.yang@gmail.com>
Description
A significant refactor of ETS related models. To make models more extensible, we want to create a base named as
ETS
to build core logic such as smoothing parameters and attributes, regression etc.Fixes # (issue)
Type of change
How Has This Been Tested?