WIP: Exogenous inputs + EM estimation #43
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I wouldn't want to pull this yet but I though I'd let people know what I've been up to - implementing deterministic inputs to the evolution and observation equations, with appropriate EM estimation.
I added a new type called
StateSpaceModelMask
that mirrors a SSM and lets you define which of the model parameters you would want to estimate. Unfixed parameter estimation (estimate every variable possible) should be working, as should estimation with control input parameters fixed (e.g. to zeros). Initial results are encouraging relative to the current estimator - using the current fit test (on a longer generated series):Current (Nelder-Mead / Optim.jl)
EM:
And for reference, the model that originally generated the series is
So, significantly faster and better results. Yay :)
I also just found this, which lays things out explicitly and would would have saved me a lot of time on the weekend! https://cran.r-project.org/web/packages/MARSS/vignettes/EMDerivation.pdf Next step is implementing the constrained estimation techniques it describes.