
Draws from the expected value of the posterior predictive distribution for mvgam objects
Source:R/posterior_epred.mvgam.R
posterior_epred.mvgam.RdCompute posterior draws of the expected value of the posterior predictive
distribution (i.e. the conditional expectation). Can be performed for the
data used to fit the model (posterior predictive checks) or for new data.
By definition, these predictions have smaller variance than the posterior
predictions performed by the posterior_predict.mvgam method.
This is because only the uncertainty in the expected value of the posterior
predictive distribution is incorporated in the draws computed by
posterior_epred while the residual error is ignored there. However,
the estimated means of both methods averaged across draws should be very
similar.
Usage
# S3 method for mvgam
posterior_epred(
object,
newdata,
data_test,
ndraws = NULL,
process_error = TRUE,
...
)Arguments
- object
listobject of classmvgamorjsdgam. Seemvgam()- newdata
Optional
dataframeorlistof test data containing the same variables that were included in the originaldataused to fit the model. If not supplied, predictions are generated for the original observations used for the model fit.- data_test
Deprecated. Still works in place of
newdatabut users are recommended to usenewdatainstead for more seamless integration intoRworkflows- ndraws
Positive
integerindicating how many posterior draws should be used. IfNULL(the default) all draws are used.- process_error
logical. IfTRUEandnewdatais supplied, expected uncertainty in the process model is accounted for by using draws from any latent trend SD parameters. IfFALSE, uncertainty in the latent trend component is ignored when calculating predictions. If nonewdatais supplied, draws from the fitted model's posterior predictive distribution will be used (which will always include uncertainty in any latent trend components)- ...
Ignored
Value
A matrix of dimension n_samples x n_obs, where
n_samples is the number of posterior samples from the fitted object
and n_obs is the number of observations in newdata
Details
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.
Examples
# \donttest{
# Simulate some data and fit a model
simdat <- sim_mvgam(
n_series = 1,
trend_model = AR()
)
mod <- mvgam(
y ~ s(season, bs = 'cc'),
trend_model = AR(),
noncentred = TRUE,
data = simdat$data_train,
chains = 2,
silent = 2
)
# Compute posterior expectations
expectations <- posterior_epred(mod)
str(expectations)
#> num [1:1000, 1:75] 0.559 0.379 0.265 0.347 0.791 ...
# }