Processing math: 100%

Generic function and default method for computing predictive errors yyrep (in-sample, for observed y) or y˜y (out-of-sample, for new or held-out y). See predictive_error.stanreg() in the rstanarm package for an example.

predictive_error(object, ...)

# S3 method for default
predictive_error(object, y, ...)

Arguments

object

The object to use.

...

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

y

For the default method, a vector of y values the same length as the number of columns in the matrix used as object.

Value

predictive_error() methods should return a D by N

matrix, where D is the number of draws from the posterior predictive distribution and N is the number of data points being predicted per draw.

The default method just takes object to be a matrix and y to be a vector.

See also

  • 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.

Examples

# default method
y <- rnorm(10)
ypred <- matrix(rnorm(500), 50, 10)
pred_errors <- predictive_error(ypred, y)
dim(pred_errors)
#> [1] 50 10
head(pred_errors)
#>            [,1]        [,2]     [,3]       [,4]       [,5]        [,6]
#> [1,]  0.5273861  0.07515823 1.513581  1.4204596 -3.4765209 -0.40151181
#> [2,] -3.3664225  0.81258188 2.744778 -0.8234573 -1.3396243 -1.43882134
#> [3,] -0.5546069  2.37300064 1.780391 -0.2672072  0.7954730 -0.41251601
#> [4,] -0.2880340 -0.76885376 0.723278 -0.5925147 -0.7830652  1.52582725
#> [5,] -0.5131371  3.30739106 1.233684  0.3282228 -0.8251587  0.01187749
#> [6,]  0.1832783  1.69463620 0.412581  1.1282433 -2.4243409 -0.55389915
#>            [,7]      [,8]      [,9]      [,10]
#> [1,]  0.3291168 0.7518855 1.0182404  2.1367075
#> [2,] -0.9216418 1.3862216 0.6818612  1.1718269
#> [3,] -0.7428718 2.1940964 0.7415774 -1.0785962
#> [4,]  1.6353221 1.0977800 2.3479025  0.9887451
#> [5,] -0.3287231 2.4549490 0.3920619  2.0133653
#> [6,]  0.6492479 0.7439346 0.9827939  2.3187384

# Also see help("predictive_error", package = "rstanarm")