See predictive_interval.stanreg() in the rstanarm package for an example.

predictive_interval(object, ...) # S3 method for default predictive_interval(object, prob = 0.9, ...)

object | The object to use. |
---|---|

... | Arguments passed to methods. See the methods in the rstanarm package for examples. |

prob | 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")