psis_loo_ss objectsUpdate psis_loo_ss objects
# S3 method for psis_loo_ss
update(
object,
...,
data = NULL,
draws = NULL,
observations = NULL,
r_eff = 1,
cores = getOption("mc.cores", 1),
loo_approximation = NULL,
loo_approximation_draws = NULL,
llgrad = NULL,
llhess = NULL
)A psis_loo_ss object.
A psis_loo_ss object to update.
Currently not used.
See loo_subsample.function().
The subsample observations to use. The argument can take four (4) types of arguments:
NULL to use all observations. The algorithm then just uses
standard loo() or loo_approximate_posterior().
A single integer to specify the number of observations to be subsampled.
A vector of integers to provide the indices used to subset the data.
These observations need to be subsampled with the same scheme as given by
the estimator argument.
A psis_loo_ss object to use the same observations that were used in a
previous call to loo_subsample().
Vector of relative effective sample size estimates for the
likelihood (exp(log_lik)) of each observation. This is related to
the relative efficiency of estimating the normalizing term in
self-normalized importance sampling when using posterior draws obtained
with MCMC. If MCMC draws are used and r_eff is not provided then
the reported PSIS effective sample sizes and Monte Carlo error estimates
can be over-optimistic. If the posterior draws are (near) independent then
r_eff=1 can be used. r_eff has to be a scalar (same value is used
for all observations) or a vector with length equal to the number of
observations. The default value is 1. See the relative_eff() helper
functions for help computing r_eff.
The number of cores to use for parallelization. This defaults to
the option mc.cores which can be set for an entire R session by
options(mc.cores = NUMBER). The old option loo.cores is now
deprecated but will be given precedence over mc.cores until
loo.cores is removed in a future release. As of version
2.0.0 the default is now 1 core if mc.cores is not set, but we
recommend using as many (or close to as many) cores as possible.
Note for Windows 10 users: it is strongly
recommended to avoid using
the .Rprofile file to set mc.cores (using the cores argument or
setting mc.cores interactively or in a script is fine).
What type of approximation of the loo_i's should be used?
The default is "plpd" (the log predictive density using the posterior expectation).
There are six different methods implemented to approximate loo_i's
(see the references for more details):
"plpd": uses the lpd based on point estimates (i.e., \(p(y_i|\hat{\theta})\)).
"lpd": uses the lpds (i,e., \(p(y_i|y)\)).
"tis": uses truncated importance sampling to approximate PSIS-LOO.
"waic": uses waic (i.e., \(p(y_i|y) - p_{waic}\)).
"waic_grad_marginal": uses waic approximation using first order delta
method and posterior marginal variances to approximate \(p_{waic}\) (ie.
\(p(y_i|\hat{\theta})\)-p_waic_grad_marginal). Requires gradient of
likelihood function.
"waic_grad": uses waic approximation using first order delta method and
posterior covariance to approximate \(p_{waic}\) (ie.
\(p(y_i|\hat{\theta})\)-p_waic_grad). Requires gradient of likelihood
function.
"waic_hess": uses waic approximation using second order delta method and
posterior covariance to approximate \(p_{waic}\) (ie.
\(p(y_i|\hat{\theta})\)-p_waic_grad). Requires gradient and Hessian of
likelihood function.
As point estimates of \(\hat{\theta}\), the posterior expectations of the parameters are used.
The number of posterior draws used when
integrating over the posterior. This is used if loo_approximation is set
to "lpd", "waic", or "tis".
The gradient of the log-likelihood. This
is only used when loo_approximation is "waic_grad",
"waic_grad_marginal", or "waic_hess". The default is NULL.
The Hessian of the log-likelihood. This is only used
with loo_approximation = "waic_hess". The default is NULL.
If observations is updated then if a vector of indices or a psis_loo_ss
object is supplied the updated object will have exactly the observations
indicated by the vector or psis_loo_ss object. If a single integer is
supplied, new observations will be sampled to reach the supplied sample size.