nicholasjclark / mvgam

{mvgam} R 📦 to fit Dynamic Bayesian Generalized Additive Models for time series analysis and forecasting
https://nicholasjclark.github.io/mvgam/
Other
91 stars 11 forks source link

Functional curve forecasting #16

Open nicholasjclark opened 1 year ago

nicholasjclark commented 1 year ago

Hyndman has some nice examples of how functional curves can be forecasted by:

  1. Constructing basis functions to represent the curve
  2. Fitting independent ARIMA models to estimate how the basis coefficients change over time

See details at: https://robjhyndman.com/seminars/oadr/

We should be able to adopt something similar by the following:

  1. Construct thin plate basis functions for the curve
  2. Use regularisation to penalise the initial coefficient values
  3. Set up dynamic factors to model how the basis coefficients change over time, inducing correlations among the coefficients
  4. Alternatively, could allow each coefficient to have its own trend model but link them with a hierarchical Gaussian Process to force the coefficients to change smoothly over time
  5. Produce forecasts for basis coefficients that respect their induced correlations

This could also be used for spatiotemporal modelling (allowing multivariate spatial basis functions to change over time and be forecast).

Might not be a feature of mvgam (maybe a bit too specialised?), rather could form the basis for a second package that depends on mvgam for much of the setup