RJT1990 / pyflux

Open source time series library for Python
BSD 3-Clause "New" or "Revised" License
2.11k stars 240 forks source link

Increase GAS model robustness #26

Closed RJT1990 closed 8 years ago

RJT1990 commented 8 years ago

Some models with complicated distributions - e.g. skew t - don't often play well. Possible solutions include better starting values, or warning the user more explicitly that something may not have gone well with estimation.

springcoil commented 8 years ago

Plus one for this

On 19 Aug 2016 6:22 PM, "Ross Taylor" notifications@github.com wrote:

Some models with complicated distributions - e.g. skew t - don't often play well. Possible solutions include better starting values, or warning the user more explicitly that something may not have gone well with estimation.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/RJT1990/pyflux/issues/26, or mute the thread https://github.com/notifications/unsubscribe-auth/AA8DiKbZO4qkEC6PfW3MxWt7nCBz58M4ks5qheZYgaJpZM4Jorb_ .

RJT1990 commented 8 years ago

Cool, let me know if this has happened to you with any public data sources (i.e. something you can share), because then I have more data I can test on

RJT1990 commented 8 years ago

The first iteration of this is done and will be in the next release. There is now a pre-optimization stage for some of the models (including GAS models). This can be switched off in fit through the keyword argument preopt_search (boolean). Is switched on by default. For GAS models it fits a static model first to get additional distributional parameters; it then does a search over the parameter space for good starting values -> then optimizes. Have tested this out on a number of datasets and seems to get better results across the board. Downside is that optimization is now slightly slower, but I think it's a price worth paying.