loo_predict.brmsfit {brms} | R Documentation |
Compute Weighted Expectations Using LOO
Description
These functions are wrappers around the E_loo
function of the loo package.
Usage
## S3 method for class 'brmsfit'
loo_predict(
object,
type = c("mean", "var", "quantile"),
probs = 0.5,
psis_object = NULL,
resp = NULL,
...
)
## S3 method for class 'brmsfit'
loo_linpred(
object,
type = c("mean", "var", "quantile"),
probs = 0.5,
psis_object = NULL,
resp = NULL,
...
)
## S3 method for class 'brmsfit'
loo_predictive_interval(object, prob = 0.9, psis_object = NULL, ...)
Arguments
object |
An object of class |
type |
The statistic to be computed on the results.
Can by either |
probs |
A vector of quantiles to compute.
Only used if |
psis_object |
An optional object returned by |
resp |
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
|
prob |
For |
Value
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.
Examples
## 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)
## End(Not run)