-
-
Notifications
You must be signed in to change notification settings - Fork 50
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
Add ETS model #369
Add ETS model #369
Conversation
200a577
to
1fb5536
Compare
So statsmodels was right of course. My equations above were slightly wrong. We want to have: This could be done by making But we can also get back to the timing that I had above, with So that's where the I also added an alternative parameterization that I thing might be nicer for priors. Under the Then all of |
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
aeb76ee
to
3a48e39
Compare
Add direct and transformed parameterizations
9d91abd
to
af9804d
Compare
Typo: 3 instances of "forcasting" (e missing) in the notebook |
295a5cc
to
e2c7369
Compare
Oh wow, I have seen folks express ETS as a states pace model, but never in a way that so clear and straightforward - very nice! |
Adds
BayesianETS
as an available statespace model.According to this book, this is great baseline model for forecasting. I don't have a lot of experience with it, but statsmodels implements it, so I did too.
Todo:
The last point is a but subtle. From the statsmodel implementation:
I have no idea whether this is important or not for the present implementation, I need to look at it more closely.
Some comments:
In general I just follow the statsmodel implementation, and I'm testing that all the statespace matrices match those of statsmodels. The one difference is in the selection matrix. Looking at the book equations, for example:
The general statespace equation is:
This implies states:
So:
This all seems straightforward, but statsmodels sets the (0, 0) element of$R$ to be $1 - \alpha$ . That really doesn't seem right, so I didn't do it.