Compute posterior draws of the posterior predictive distribution. Can be
performed for the data used to fit the model (posterior predictive checks) or
for new data. By definition, these draws have higher variance than draws
of the expected value of the posterior predictive distribution computed by
posterior_epred.mvgam
. This is because the residual error
is incorporated in posterior_predict
. However, the estimated means of
both methods averaged across draws should be very similar.
# S3 method for mvgam
posterior_predict(
object,
newdata,
data_test,
ndraws = NULL,
process_error = TRUE,
...
)
A matrix
of dimension n_samples x new_obs
,
where n_samples
is the number of posterior samples from the fitted object
and n_obs
is the number of observations in newdata
list
object returned from mvgam
. See mvgam()
Optional dataframe
or list
of test data containing the
variables included in the linear predictor of formula
. If not supplied,
predictions are generated for the original observations used for the model fit.
Deprecated. Still works in place of newdata
but users are recommended to use
newdata
instead for more seamless integration into R
workflows
Positive integer
indicating how many posterior draws should be used.
If NULL
(the default) all draws are used.
Logical. If TRUE
and newdata
is supplied,
expected uncertainty in the process model is accounted for by using draws
from any latent trend SD parameters. If FALSE
, uncertainty in the latent
trend component is ignored when calculating predictions. If no newdata
is
supplied, draws from the fitted model's posterior predictive distribution will be used
(which will always include uncertainty in any latent trend components)
Ignored
Note that for all types of predictions for models that did not include
a trend_formula
, uncertainty in the dynamic trend
component can be ignored by setting process_error = FALSE
. However,
if a trend_formula
was supplied in the model, predictions for this component cannot be
ignored. If process_error = TRUE
, trend predictions will ignore autocorrelation
coefficients or GP length scale coefficients, ultimately assuming the process is stationary.
This method is similar to the types of posterior predictions returned from brms
models
when using autocorrelated error predictions for newdata.
This function is therefore more suited to posterior simulation from the GAM components
of a mvgam
model, while the forecasting functions
plot_mvgam_fc
and forecast.mvgam
are better suited to generate h-step ahead forecasts
that respect the temporal dynamics of estimated latent trends.
hindcast.mvgam
posterior_linpred.mvgam
posterior_epred.mvgam
if (FALSE) {
# Simulate some data and fit a model
simdat <- sim_mvgam(n_series = 1, trend_model = 'AR1')
mod <- mvgam(y ~ s(season, bs = 'cc'),
trend_model = 'AR1',
data = simdat$data_train)
# Compute posterior predictions
predictions <- posterior_predict(mod)
str(predictions)
}
Run the code above in your browser using DataLab