Current Limitations: loss function and submodel are hard-coded (need to accept arguments for these)

Constructor

define_param(maxit, cvtmle, one_dimensional, constrain_step, delta_epsilon, verbose)

maxit

The maximum number of update iterations

cvtmle

If TRUE, use CV-likelihood values when calculating updates.

one_dimensional

If TRUE, collapse clever covariates into a one-dimensional clever covariate scaled by the mean of their EIFs.

constrain_step

If TRUE, step size is at most delta_epsilon (it can be smaller if a smaller step decreases the loss more).

delta_epsilon

The maximum step size allowed if constrain_step is TRUE.

convergence_type

The convergence criterion to use: (1) "scaled_var" corresponds to sqrt(Var(D)/n)/logn (the default) while (2) "sample_size" corresponds to 1/n.

fluctuation_type

Whether to include the auxiliary covariate for the fluctuation model as a covariate or to treat it as a weight. Note that the option "weighted" is incompatible with a multi-epsilon submodel (one_dimensional = FALSE).

use_best

If TRUE, the final updated likelihood is set to the likelihood that minimizes the ED instead of the likelihood at the last update step.

verbose

If TRUE, diagnostic output is generated about the updating procedure.