Skip to content
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

Steps needed to include dynamic functional components #56

Open
nicholasjclark opened this issue Jun 21, 2024 · 0 comments
Open

Steps needed to include dynamic functional components #56

nicholasjclark opened this issue Jun 21, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@nicholasjclark
Copy link
Owner

  1. Update args in dynamic() to allow multiple covariates, to use_lv and to set n_lv and trend_model so that existing options still work seamlessly but dynamic functional models are allowed. Would be especially useful if by terms still work for these so that dynamic curves could be estimated for multiple levels of a factor variable
  2. Write constructors that take the call to dynamic() and update the gam formula appropriately, ensuring that all predict() functions will work in post-processing
  3. Write functions to update the Stan code so that GP or AR1 models can be used for the factors and to ensure betas are updated appropriately
  4. Write functions to extract the beta timeseries in a format so that they can be used for prediction and forecasting; will probably need something in generated_quantities to ensure both the latent factors and the time-varying betas are able to be extracted from the rstan object
  5. Write functions to interpolate the betas to any point in time. This will likely require a wiggly spline or some kind of moving average (which will be faster) be applied to each draw of the beta timeseries so that the correct column of the overall beta matrix in predict.mvgam() can be updated before any prediction happens. This is because we will have an estimate of the beta for each discrete timepoint, but we won't have estimates for intermediate timepoints (i.e. 'time' = 1.5)
  6. Write functions to evaluate whether dynamic functional components exist in the model, or update any calls that extract betas using a wrapper that will automatically check for this so that the step above is done automatically
  7. Write methods to extend the betas ahead for forecasting purposes
@nicholasjclark nicholasjclark added the enhancement New feature or request label Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant