
Posterior draws of the linear predictor for mvgam objects
Source:R/posterior_epred.mvgam.R
posterior_linpred.mvgam.Rd
Compute posterior draws of the linear predictor, that is draws before applying any link functions or other transformations. Can be performed for the data used to fit the model (posterior predictive checks) or for new data.
Usage
# S3 method for class 'mvgam'
posterior_linpred(
object,
transform = FALSE,
newdata,
ndraws = NULL,
data_test,
process_error = TRUE,
...
)
Arguments
- object
list
object of classmvgam
orjsdgam
. Seemvgam()
- transform
Logical; if
FALSE
(the default), draws of the linear predictor are returned. IfTRUE
, draws of the transformed linear predictor, i.e. the conditional expectation, are returned.- newdata
Optional
dataframe
orlist
of test data containing the same variables that were included in the originaldata
used to fit the model. If not supplied, predictions are generated for the original observations used for the model fit.- ndraws
Positive
integer
indicating how many posterior draws should be used. IfNULL
(the default) all draws are used.- data_test
Deprecated. Still works in place of
newdata
but users are recommended to usenewdata
instead for more seamless integration intoR
workflows- process_error
Logical. If
TRUE
andnewdata
is 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 nonewdata
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
Value
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
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)
#> In file included from stan/lib/stan_math/stan/math/prim/prob/von_mises_lccdf.hpp:5,
#> from stan/lib/stan_math/stan/math/prim/prob/von_mises_ccdf_log.hpp:4,
#> from stan/lib/stan_math/stan/math/prim/prob.hpp:359,
#> from stan/lib/stan_math/stan/math/prim.hpp:16,
#> from stan/lib/stan_math/stan/math/rev.hpp:16,
#> from stan/lib/stan_math/stan/math.hpp:19,
#> from stan/src/stan/model/model_header.hpp:4,
#> from C:/Users/uqnclar2/AppData/Local/Temp/RtmpotLup8/model-9e8c2df534e8.hpp:2:
#> stan/lib/stan_math/stan/math/prim/prob/von_mises_cdf.hpp: In function 'stan::return_type_t<T_x, T_sigma, T_l> stan::math::von_mises_cdf(const T_x&, const T_mu&, const T_k&)':
#> stan/lib/stan_math/stan/math/prim/prob/von_mises_cdf.hpp:194: note: '-Wmisleading-indentation' is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers
#> 194 | if (cdf_n < 0.0)
#> |
#> stan/lib/stan_math/stan/math/prim/prob/von_mises_cdf.hpp:194: note: adding '-flarge-source-files' will allow for more column-tracking support, at the expense of compilation time and memory
# Extract linear predictor values
linpreds <- posterior_linpred(mod)
str(linpreds)
#> num [1:1000, 1:75] -0.7353 -0.5959 -0.8928 -0.0926 -2.269 ...
# }