Constructs control parameters for BIRDiE model fitting. All arguments have defaults.
Arguments
- max_iter
The maximum number of EM iterations.
- accel
The acceleration algorithm to use in doing EM. The default
"squarem"
is good for most purposes, though"anderson"
may be faster when there are few parameters or very tight tolerances."daarem"
is an excellent choice as well that works across a range of problems, though it requires installing the smalldaarem
package."none"
is not recommended unless other algorithms are running into numerical issues. See the references below for details on these schemes.- order
The order to use in the acceleration algorithm. Interpretation varies by algorithm. Can range from 1 (default) to 3 for SQUAREM and from 1 to the number of parameters for Anderson and DAAREM (default -1 allows the order to be determined by problem size).
- anderson_restart
Whether to use restarts in Anderson acceleration.
- abstol
The absolute tolerance used in checking convergence.
- reltol
The relative tolerance used in checking convergence. Ignored if
accel = "squarem"
or"daarem"
.
References
Varadhan, R., & Roland, C. (2004). Squared extrapolation methods (SQUAREM): A new class of simple and efficient numerical schemes for accelerating the convergence of the EM algorithm.
Walker, H. F., & Ni, P. (2011). Anderson acceleration for fixed-point iterations. SIAM Journal on Numerical Analysis, 49(4), 1715-1735.
Henderson, N. C., & Varadhan, R. (2019). Damped Anderson acceleration with restarts and monotonicity control for accelerating EM and EM-like algorithms. Journal of Computational and Graphical Statistics, 28(4), 834-846.
Examples
str(birdie.ctrl(max_iter=100))
#> List of 6
#> $ max_iter: int 100
#> $ accel :function (init, em_step, ctrl, n_x = 1, ...)
#> $ order : num 1
#> $ restart : logi TRUE
#> $ abstol : num 1e-06
#> $ reltol : num 1e-06