default_control_marglaplace {aghq} | R Documentation |
Default control arguments for aghq::marginal_laplace()
.
Description
Run default_control_marglaplace()
to print the list of valid control parameters
and their defaults, and run with named arguments to change the defaults.
Usage
default_control_marglaplace(...)
Arguments
... |
You can provide a named value for any control parameter and its
value will be set accordingly. See |
Details
Valid options are:
method
: optimization method to use for thetheta
optimization:'BFGS' (default):
optim(...,method = "BFGS")
'sparse_trust':
trustOptim::trust.optim
'SR1':
trustOptim::trust.optim
withmethod = 'SR1'
'sparse':
trust::trust
inner_method
: optimization method to use for theW
optimization; same options as formethod
. Defaultinner_method
is 'sparse_trust' and defaultmethod
is 'BFGS'.-
negate
: defaultFALSE
. Multiply the functions inff
by-1
? The reason for having this option is for full compatibility withTMB
: while of courseTMB
allows you to code up your log-posterior any way you like, all of its excellent features including its automatic Laplace approximation and MCMC sampling withtmbstan
assume you have coded your template to return the negated log-posterior. However, by default,aghq
assumes you have provided the log-posterior without negation. Setnegate = TRUE
if you have provided a template which computes the negated log-posterior and its derivatives. Note that I don't expect there to be any reason to need this argument formarginal_laplace
; if you are doing a marginal Laplace approximation using the automatic Laplace approximation provided byTMB
, you should check outaghq::marginal_laplace_tmb()
. -
interpolation
: how to interpolate the marginal posteriors. The'auto'
option (default) chooses for you and should always work well. The'polynomial'
option usespolynom::poly.calc()
to construct a global polynomial interpolant and has been observed to be unstable as the number of quadrature points gets larger, which is obviously a bad thing. Try'spline'
instead, which uses a cubic B-Spline interpolant fromsplines::interpSpline()
. numhessian: logical, default
FALSE
. Replace theff$he
with a numerically-differentiated version, by callingnumDeriv::jacobian
onff$gr
. Used mainly forTMB
with the automatic Laplace approximation, which does not have an automatic Hessian.onlynormconst: logical, default
FALSE
. Skip everything after the calculation of the log integral, and just return the numeric value of the log integral. Saves computation time, and most useful in cases whereaghq
is being used as a step in a more complicated procedure.method_summaries: default
'reuse'
, method to use to compute moments and marginals. Choosing'correct'
corresponds to the approximations suggested in the Stochastic Convergence... paper, which attain the same rate of convergence as the approximation to the marginal likelihood. See?compute_moment
.
Value
A list of argument values.
Examples
default_control_marglaplace()
default_control_marglaplace(method = "trust")
default_control_marglaplace(method = "trust",inner_method = "trust")
default_control_marglaplace(negate = TRUE)