This function wraps estimate_classical() to handle fitting
multiple individuals in a consistent way. It prepares the data, distributes
the estimation across individuals, and manages parallelization strategies and
progress reporting. Unlike the deprecated estimate_model_ids(), this
function no longer saves results to disk --- instead, it directly returns an
object of class fits_ids_dm.
estimate_classical_wrapper(
drift_dm_obj,
obs_data_ids,
parallelization_strategy = NULL,
progress = NULL,
start_vals = NULL,
optimizer,
n_cores = NULL,
seed = NULL,
...
)an object of class fits_ids_dm, which is a list with two
components:
drift_dm_fit_info --- a list containing the model object,
observed data, optimizer information, and convergence messages
all_fits --- a list of individual estimation results
a drift_dm object that will be estimated for
each individual in obs_data_ids.
a data.frame of observed data including an ID
column that uniquely identifies each individual.
an integer, either 1 or 2. Strategy 1
parallelizes across individuals, while strategy 2 parallelizes within
individuals (only supported for "DEoptim"). Default is 1
an integer, controlling progress output. 0 = no progress,
1 = minimal output, 2 = progress bar. Default is 1
an optional data.frame with starting values for each
individual. Must contain an ID column matching the IDs in
obs_data_ids, and one column per parameter.
an optional seed to make the results reproducible
further arguments passed to estimate_classical(), including
lower, upper, verbose, control, round_digits.
Note that the argument return_runs is not supported.
Convergence issues are checked automatically. If one or more individuals fail to converge, a warning is issued with the corresponding IDs and messages returned by the optimizer.
estimate_classical(), estimate_dm()