A to-do list of things that still need to be done on the statespace models, to organize future PRs. Anyone is free to add to (or subtract from!) the list.
[ ] High priority: Allow post-estimation stuff (IRF, forecasting) for models with exogenous variables
[ ] High priority: Add k_endog argument to structrual.Components to enable multivariate structural models
[ ] High priority: Flag on Components to allow users to pass full state covariance matrix if desired (important for the MV case, potentially interesting in univariate case too)
[x] Bug, High priority: Forecasting models with no measurement error sometimes returns np.nan on the observed states, because the covariance matrix for the observation errors is the zero matrix. Need better logic to handle this (common!) case.
[ ] Add build_as_prior following GP.prior
[ ] Generate IRFs for observable variables in addition to the hidden states
[ ] Add Additive Holt-Winters Exponential Smoothing models, see here
[ ] Add dampening parameters to trend/seasonal components?
[x] Better/more consistent names for the parameters of each Component?
[ ] Allow component-wise initialization for Components -- P0 can be initialized in blocks, with stationary components directly computed via SolveDiscreteLyapunov
[ ] On that note, is asking users to give priors on P0 and x0 too much? Could at least have the option to be handled semi-automatically?
[ ] Improve how dims/coords are generated/handled?
[x] Improve/standardize Component tests
[ ] Performance: Explore Chandrasekhar recursions for univariate models (see here
[ ] Performance: Inside the Kalman Filter scan, it possible to detect convergence and use the steady-state covariance matrix (and it's inverse)? Huge compute savings for large statespace/long time-series if so.
[ ] Performance: JAX implementations of SolveDiscreteARE and SolveDiscreteLyapunov
[ ] Feature request: Helpers for stationary VARMA/SARIMA priors. See here and here for how statsmodels handles this via bijective transforms, or here for a pure Bayesian treatment using priors over partial autocovariance matrices.
A to-do list of things that still need to be done on the statespace models, to organize future PRs. Anyone is free to add to (or subtract from!) the list.
k_endog
argument tostructrual.Component
s to enable multivariate structural modelsComponent
s to allow users to pass full state covariance matrix if desired (important for the MV case, potentially interesting in univariate case too)np.nan
on the observed states, because the covariance matrix for the observation errors is the zero matrix. Need better logic to handle this (common!) case.build_as_prior
followingGP.prior
Component
?Components
--P0
can be initialized in blocks, with stationary components directly computed viaSolveDiscreteLyapunov
P0
andx0
too much? Could at least have the option to be handled semi-automatically?Component
testsSolveDiscreteARE
andSolveDiscreteLyapunov