An R package providing a collection of optimizers, designed as a companion to the rcest package. Includes a custom random-walk optimizer with adaptive step sizes, a Gibbs sampler, and wrappers for nloptr and maxLik optimizers.
devtools::install_github("bamonroe/mopt")The main mopt() function implements a random-walk optimizer with adaptive proposal standard deviations. It supports both maximum likelihood and MCMC (Bayesian) modes:
# Maximum likelihood
result <- mopt(init = c(0, 0), fn = my_loglik, method = "rwalk",
control = list(iterations = 5000))
# MCMC with priors
result <- mopt(init = c(0, 0), fn = my_loglik, method = "mcmc",
control = list(iterations = 10000,
prior_fn = my_prior,
prior_args = list(...)))result <- gibbs_opt(init = c(a = 0, b = 0), jump = c(0.1, 0.1),
n = 5000, post_fn = my_posterior)When loaded alongside rcest, mopt automatically registers additional optimizers:
- nloptr:
sbplx,bobyqa,cobyla,neldermead,praxis,newuoa - maxLik:
bhhh,nr - Custom:
rwalk(ML),mcmc(Bayesian)
MIT