# predictive_interval.stanreg

##### Predictive intervals

For models fit using MCMC (`algorithm="sampling"`

) or one of the
variational approximations (`"meanfield"`

or `"fullrank"`

), the
`predictive_interval`

function computes Bayesian predictive intervals.
The method for stanreg objects calls `posterior_predict`

internally, whereas the method for objects of class `"ppd"`

accepts the
matrix returned by `posterior_predict`

as input and can be used to avoid
multiple calls to `posterior_predict`

.

##### Usage

```
# S3 method for stanreg
predictive_interval(object, prob = 0.9,
newdata = NULL, draws = NULL, re.form = NULL, fun = NULL,
seed = NULL, offset = NULL, ...)
```# S3 method for ppd
predictive_interval(object, prob = 0.9, ...)

##### Arguments

- object
Either a fitted model object returned by one of the rstanarm modeling functions (a stanreg object) or, for the

`"ppd"`

method, a matrix of draws from the posterior predictive distribution returned by`posterior_predict`

.- prob
A number \(p \in (0,1)\) indicating the desired probability mass to include in the intervals. The default is to report \(90\)% intervals (

`prob=0.9`

) rather than the traditionally used \(95\)% (see Details).- newdata, draws, fun, offset, re.form, seed
Passed to

`posterior_predict`

.- ...
Currently ignored.

##### Value

A matrix with two columns and as many rows as are in `newdata`

.
If `newdata`

is not provided then the matrix will have as many rows as
the data used to fit the model. For a given value of `prob`

, \(p\),
the columns correspond to the lower and upper \(100p\)% central interval
limits and have the names \(100\alpha/2\)% and \(100(1 -
\alpha/2)\)%, where \(\alpha = 1-p\). For example, if `prob=0.9`

is
specified (a \(90\)% interval), then the column names will be
`"5%"`

and `"95%"`

, respectively.

##### See Also

##### Examples

```
# NOT RUN {
fit <- stan_glm(mpg ~ wt, data = mtcars, iter = 300)
predictive_interval(fit)
predictive_interval(fit, newdata = data.frame(wt = range(mtcars$wt)),
prob = 0.5)
# stanreg vs ppd methods
preds <- posterior_predict(fit, seed = 123)
all.equal(
predictive_interval(fit, seed = 123),
predictive_interval(preds)
)
# }
```

*Documentation reproduced from package rstanarm, version 2.18.2, License: GPL (>= 3)*