See predictive_interval.stanreg() in the rstanarm package for an example.
predictive_interval(object, ...)
# S3 method for default
predictive_interval(object, prob = 0.9, ...)The object to use.
Arguments passed to methods. See the methods in the rstanarm package for examples.
A number \(p \in (0,1)\) indicating the desired probability mass to include in the intervals.
predictive_interval() methods should return a matrix with two
columns and as many rows as data points being predicted. For a given value
of prob, \(p\), the columns correspond to the lower and upper
\(100p\)\
\(100(1 - \alpha/2)\)\
prob=0.9 is specified (a \(90\)\
would be "5%" and "95%", respectively.
The default method just takes object to be a matrix and computes
quantiles, with prob defaulting to 0.9.
The rstanarm package (mc-stan.org/rstanarm) for example methods (CRAN, GitHub).
Guidelines and recommendations for developers of R packages interfacing with Stan and a demonstration getting a simple package working can be found in the vignettes included with rstantools and at mc-stan.org/rstantools/articles.
# Default method takes a numeric matrix (of draws from posterior
# predictive distribution)
ytilde <- matrix(rnorm(100 * 5, sd = 2), 100, 5) # fake draws
predictive_interval(ytilde, prob = 0.8)
#>            10%      90%
#> [1,] -3.317022 2.428411
#> [2,] -2.707817 2.573733
#> [3,] -2.627796 2.032464
#> [4,] -2.092631 2.380482
#> [5,] -2.267105 2.457976
# Also see help("predictive_interval", package = "rstanarm")