
Last chance! 50% off unlimited learning
Sale ends in
These functions are wrappers around the E_loo
function of the loo package.
# S3 method for brmsfit
loo_predict(
object,
type = c("mean", "var", "quantile"),
probs = 0.5,
psis_object = NULL,
resp = NULL,
...
)# S3 method for brmsfit
loo_linpred(
object,
type = c("mean", "var", "quantile"),
probs = 0.5,
psis_object = NULL,
resp = NULL,
...
)
# S3 method for brmsfit
loo_predictive_interval(object, prob = 0.9, psis_object = NULL, ...)
An object of class brmsfit
.
The statistic to be computed on the results.
Can by either "mean"
(default), "var"
, or
"quantile"
.
A vector of quantiles to compute.
Only used if type = quantile
.
Optional names of response variables. If specified, predictions are performed only for the specified response variables.
Optional arguments passed to the underlying methods that is
log_lik
, as well as
posterior_predict
or
posterior_linpred
.
For loo_predictive_interval
, a scalar in prob = 0.9
(
loo_predict
and loo_linpred
return a vector with one
element per observation. The only exception is if type = "quantile"
and length(probs) >= 2
, in which case a separate vector for each
element of probs
is computed and they are returned in a matrix with
length(probs)
rows and one column per observation.
loo_predictive_interval
returns a matrix with one row per
observation and two columns.
loo_predictive_interval(..., prob = p)
is equivalent to
loo_predict(..., type = "quantile", probs = c(a, 1-a))
with
a = (1 - p)/2
, except it transposes the result and adds informative
column names.
# NOT RUN {
## data from help("lm")
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
d <- data.frame(
weight = c(ctl, trt),
group = gl(2, 10, 20, labels = c("Ctl", "Trt"))
)
fit <- brm(weight ~ group, data = d)
loo_predictive_interval(fit, prob = 0.8)
## optionally log-weights can be pre-computed and reused
psis <- loo::psis(-log_lik(fit), cores = 2)
loo_predictive_interval(fit, prob = 0.8, psis_object = psis)
loo_predict(fit, type = "var", psis_object = psis)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab