Get parameters' posterior statistics, implementing the generic tidy
from
the package broom.
Arguments
- x
An object of class
mvgam
.- probs
The desired probability levels of the parameters' posteriors. Defaults to
c(0.025, 0.5, 0.975)
, i.e. 2.5%, 50%, and 97.5%.- ...
Unused, included for generic consistency only.
Value
A tibble
containing:
"parameter": The parameter in question.
"type": The component of the model that the parameter belongs to (see details).
"mean": The posterior mean.
"sd": The posterior standard deviation.
percentile(s): Any percentiles of interest from these posteriors.
Details
The parameters are categorized by the column "type". For instance, the
intercept of the observation model (i.e. the "formula" arg to mvgam()
) has
the "type" "observation_beta". The possible "type"s are:
observation_family_extra_param: any extra parameters for your observation model, e.g. sigma for a gaussian observation model. These parameters are not directly derived from the latent trend components (continuing the gaussian example, contrast to mu).
observation_beta: betas from your observation model, excluding any smooths. If your formula was
y ~ x1 + s(x2, bs='cr')
, then your intercept andx1
's beta would be categorized as this.random_effect_group_level: Group-level random effects parameters, i.e. the mean and sd of the distribution from which the specific random intercepts/slopes are considered to be drawn from.
random_effect_beta: betas for the individual random intercepts/slopes.
trend_model_param: parameters from your
trend_model
.trend_beta: analog of "observation_beta", but for any
trend_formula
.trend_random_effect_group_level: analog of "random_effect_group_level", but for any
trend_formula
.trend_random_effect_beta: analog of "random_effect_beta", but for any
trend_formula
.
Additionally, GP terms can be incorporated in several ways, leading to different "type"s (or absence!):
See also
Other tidiers:
augment.mvgam()
Examples
if (FALSE) {
set.seed(0)
simdat <- sim_mvgam(T = 100,
n_series = 3,
trend_model = AR(),
prop_trend = 0.75,
family = gaussian())
simdat$data_train$x = rnorm(nrow(simdat$data_train))
simdat$data_train$year_fac = factor(simdat$data_train$year)
mod <- mvgam(y ~ - 1 + s(time, by = series, bs = 'cr', k = 20) + x,
trend_formula = ~ s(year_fac, bs = 're') - 1,
trend_model = AR(cor = TRUE),
family = gaussian(),
data = simdat$data_train,
silent = 2)
tidy(mod, probs = c(0.2, 0.5, 0.8))
}