R: Draws from the Posterior Predictive Distribution

predict.brmsfit {brms} | R Documentation

## Draws from the Posterior Predictive Distribution

### Description

This method is an alias of `posterior_predict.brmsfit` with additional arguments for obtaining summaries of the computed draws.

### Usage

    ## S3 method for class 'brmsfit'
    predict(
      object,
      newdata = NULL,
      re_formula = NULL,
      transform = NULL,
      resp = NULL,
      negative_rt = FALSE,
      ndraws = NULL,
      draw_ids = NULL,
      sort = FALSE,
      ntrys = 5,
      cores = NULL,
      summary = TRUE,
      robust = FALSE,
      probs = c(0.025, 0.975),
      ...
    )

### Arguments

`object` | An object of class `brmsfit`.
`newdata` | An optional data.frame for which to evaluate predictions. If `NULL` (default), the original data of the model is used. `NA` values within factors are interpreted as if all dummy variables of this factor are zero. This allows, for instance, to make predictions of the grand mean when using sum coding.
`re_formula` | formula containing group-level effects to be considered in the prediction. If `NULL` (default), include all group-level effects; if `NA`, include no group-level effects.
`transform` | (Deprecated) A function or a character string naming a function to be applied on the predicted responses before summary statistics are computed.
`resp` | Optional names of response variables. If specified, predictions are performed only for the specified response variables.
`negative_rt` | Only relevant for Wiener diffusion models. A flag indicating whether response times of responses on the lower boundary should be returned as negative values. This allows to distinguish responses on the upper and lower boundary. Defaults to `FALSE`.
`ndraws` | Positive integer indicating how many posterior draws should be used. If `NULL` (the default) all draws are used. Ignored if `draw_ids` is not `NULL`.
`draw_ids` | An integer vector specifying the posterior draws to be used. If `NULL` (the default), all draws are used.
`sort` | Logical. Only relevant for time series models. Indicating whether to return predicted values in the original order (`FALSE`; default) or in the order of the time series (`TRUE`).
`ntrys` | Parameter used in rejection sampling for truncated discrete models only (defaults to `5`). See Details for more information.
`cores` | Number of cores (defaults to `1`). On non-Windows systems, this argument can be set globally via the `mc.cores` option.
`summary` | Should summary statistics be returned instead of the raw values? Default is `TRUE`.
`robust` | If `FALSE` (the default) the mean is used as the measure of central tendency and the standard deviation as the measure of variability. If `TRUE`, the median and the median absolute deviation (MAD) are applied instead. Only used if `summary` is `TRUE`.
`probs` | The percentiles to be computed by the `quantile` function. Only used if `summary` is `TRUE`.
`...` | Further arguments passed to `prepare_predictions` that control several aspects of data validation and prediction.

### Value

An `array` of predicted response values. If `summary = FALSE` the output resembles those of `posterior_predict.brmsfit`.

If `summary = TRUE` the output depends on the family: For categorical and ordinal families, the output is an N x C matrix, where N is the number of observations, C is the number of categories, and the values are predicted category probabilities. For all other families, the output is a N x E matrix where E = `2 + length(probs)` is the number of summary statistics: The `Estimate` column contains point estimates (either mean or median depending on argument `robust`), while the `Est.Error` column contains uncertainty estimates (either standard deviation or median absolute deviation depending on argument `robust`). The remaining columns starting with `Q` contain quantile estimates as specified via argument `probs`.

### See Also

`posterior_predict.brmsfit`

### Examples

    ## Not run:
    ## fit a model
    fit <- brm(time | cens(censored) ~ age + sex + (1 + age || patient),
               data = kidney, family = "exponential", inits = "0")

    ## predicted responses
    pp <- predict(fit)
    head(pp)

    ## predicted responses excluding the group-level effect of age
    pp <- predict(fit, re_formula = ~ (1 | patient))
    head(pp)

    ## predicted responses of patient 1 for new data
    newdata <- data.frame(
      sex = factor(c("male", "female")),
      age = c(20, 50),
      patient = c(1, 1)
    )
    predict(fit, newdata = newdata)

    ## End(Not run)

[Package brms version 2.16.1 Index]