| predictive_interval.stanreg {rstanarm} | R Documentation | 
Predictive intervals
Description
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 matrices accepts the matrix returned by
posterior_predict as input and can be used to avoid multiple calls to
posterior_predict.
Usage
## S3 method for class 'stanreg'
predictive_interval(
  object,
  prob = 0.9,
  newdata = NULL,
  draws = NULL,
  re.form = NULL,
  fun = NULL,
  seed = NULL,
  offset = NULL,
  ...
)
## S3 method for class 'matrix'
predictive_interval(object, prob = 0.9, ...)
## S3 method for class '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 matrix method, a matrix of draws from the 
posterior predictive distribution returned by 
  | 
prob | 
 A number   | 
newdata, draws, fun, offset, re.form, seed | 
 Passed to 
  | 
... | 
 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
predictive_error, posterior_predict, 
posterior_interval
Examples
if (.Platform$OS.type != "windows" || .Platform$r_arch != "i386") {
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 matrix methods
preds <- posterior_predict(fit, seed = 123)
all.equal(
  predictive_interval(fit, seed = 123),
  predictive_interval(preds)
)
}