Learn R Programming

aghq (version 0.4.1)

default_control: Default control arguments for aghq::aghq().

Description

Run default_control() to print the list of valid control parameters and their defaults, and run with named arguments to change the defaults.

Usage

default_control(...)

Value

A list of argument values.

Arguments

...

You can provide a named value for any control parameter and its value will be set accordingly. See ?aghq and examples here.

Details

Valid options are:

  • method: optimization method to use:

    • 'BFGS' (default): optim(...,method = "BFGS")

    • 'sparse_trust': trustOptim::trust.optim

    • 'SR1': trustOptim::trust.optim with method = 'SR1'

    • 'sparse': trust::trust

    Default is 'sparse_trust'.

  • negate: default FALSE. Multiply the functions in ff by -1? The reason for having this option is for full compatibility with TMB: while of course TMB 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 with tmbstan 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. Set negate = TRUE if you have provided a template which computes the negated log-posterior and its derivatives.

  • ndConstruction: construct a multivariate quadrature rule using a "product" rule or a "sparse" grid? Default "product". See ?mvQuad::createNIGrid().

  • interpolation: how to interpolate the marginal posteriors. The 'auto' option (default) chooses for you and should always work well. The 'polynomial' option uses polynom::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 from splines::interpSpline().

  • numhessian: logical, default FALSE. Replace the ff$he with a numerically-differentiated version, by calling numDeriv::jacobian on ff$gr. Used mainly for TMB 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 where aghq 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.

Examples

Run this code

default_control()
default_control(method = "trust")
default_control(negate = TRUE)

Run the code above in your browser using DataLab