Construct target distribution from a BridgeStan StanModel
object.
Source: R/bridges.R
target_distribution_from_stan_model.Rd
Construct target distribution from a BridgeStan StanModel
object.
Usage
target_distribution_from_stan_model(
model,
include_log_density = TRUE,
include_generated_quantities = FALSE,
include_transformed_parameters = FALSE
)
Arguments
- model
Stan model object to use for target (posterior) distribution.
- include_log_density
Whether to include an entry
log_density
corresponding to current log density for target distribution in values returned by trace function.- include_generated_quantities
Whether to included generated quantities in Stan model definition in values returned by trace function.
- include_transformed_parameters
Whether to include transformed parameters in Stan model definition in values returned by trace function.
Value
A list with entries
log_density
: A function to evaluate log density function for target distribution given current position vector.value_and_gradient_log_density
: A function to evaluate value and gradient of log density function for target distribution given current position vector, returning as a list with entriesvalue
andgradient
.trace_function
: A function which given achain_state()
object returns a named vector of values to trace during sampling. The constrained parameter values of model will always be included.
Examples
model <- example_gaussian_stan_model()
target_distribution <- target_distribution_from_stan_model(model)
withr::with_seed(
876287L, state <- chain_state(stats::rnorm(model$param_unc_num()))
)
state$log_density(target_distribution)
#> [1] -37.68319
target_distribution$trace_function(state)
#> mu sigma log_density
#> -1.400044 1.290871 -37.683193