`R/model_weights.R`

`posterior_average.brmsfit.Rd`

Extract posterior draws of parameters averaged across models. Weighting can be done in various ways, for instance using Akaike weights based on information criteria or marginal likelihoods.

```
# S3 method for brmsfit
posterior_average(
x,
...,
variable = NULL,
pars = NULL,
weights = "stacking",
ndraws = NULL,
nsamples = NULL,
missing = NULL,
model_names = NULL,
control = list(),
seed = NULL
)
posterior_average(x, ...)
```

- x
A

`brmsfit`

object.- ...
More

`brmsfit`

objects or further arguments passed to the underlying post-processing functions. In particular, see`prepare_predictions`

for further supported arguments.- variable
Names of variables (parameters) for which to average across models. Only those variables can be averaged that appear in every model. Defaults to all overlapping variables.

- pars
Deprecated alias of

`variable`

.- weights
Name of the criterion to compute weights from. Should be one of

`"loo"`

,`"waic"`

,`"kfold"`

,`"stacking"`

(current default), or`"bma"`

,`"pseudobma"`

, For the former three options, Akaike weights will be computed based on the information criterion values returned by the respective methods. For`"stacking"`

and`"pseudobma"`

, method`loo_model_weights`

will be used to obtain weights. For`"bma"`

, method`post_prob`

will be used to compute Bayesian model averaging weights based on log marginal likelihood values (make sure to specify reasonable priors in this case). For some methods,`weights`

may also be a numeric vector of pre-specified weights.- ndraws
Total number of posterior draws to use.

- nsamples
Deprecated alias of

`ndraws`

.- missing
An optional numeric value or a named list of numeric values to use if a model does not contain a variable for which posterior draws should be averaged. Defaults to

`NULL`

, in which case only those variables can be averaged that are present in all of the models.- model_names
If

`NULL`

(the default) will use model names derived from deparsing the call. Otherwise will use the passed values as model names.- control
Optional

`list`

of further arguments passed to the function specified in`weights`

.- seed
A single numeric value passed to

`set.seed`

to make results reproducible.

A `data.frame`

of posterior draws.

Weights are computed with the `model_weights`

method.

```
if (FALSE) {
# model with 'treat' as predictor
fit1 <- brm(rating ~ treat + period + carry, data = inhaler)
summary(fit1)
# model without 'treat' as predictor
fit2 <- brm(rating ~ period + carry, data = inhaler)
summary(fit2)
# compute model-averaged posteriors of overlapping parameters
posterior_average(fit1, fit2, weights = "waic")
}
```