estimate_dm().For type = "sep_b" in estimate_dm(): Chains are now initialized more
robustly.
We reverted back to adding the value 0.001 to t_vec when evaluating DMC's
drift rate for a!=2 (after noticing solver crashes with the former value of
1e-5).
It is now possible to pass a value via ddm_opts() to objects of type
dmc_dm(); this controls the value that is added to t_vec when evaluating DMC's
drift rate for a!=2.
estimate_dm(). From this version onward, fits are not automatically saved to
the file system to be reloaded later. Instead, estimate_dm() returns fitted
objects directly, and you save the results yourselves.dRiftDM now uses an adaptive time-stepping scheme for deriving PDFs ---
substantially increasing speed.
We now support variability in the drift rate for the constant drift-rate component (not only for the Ratcliff DDM).
plot() methods were redesigned to avoid argument clashes and to provide
more customization options.
drift_dm() objects gain a new entry cost_function. This lets us use the
"rmse" statistic or full-range maximum likelihood, and it enables fitting
aggregated data via "rmse".
The neg_log_like entry of a drift_dm object has been replaced by the more
general cost_value.
cost_function() accessor and replacement methods have been introduced.
cost_value() accessor and replacement methods have been introduced.
estimate_dm() has been introduced.
If possible, dRiftDM now provides reasonable starting values for the
Nelder-Mead and BFGS optimization routines (both bounded and unbounded). To
this end, EZ Diffusion parameter estimates are used whenever possible, in
combination with grid-search-like procedure.
estimate_model() has been deprecated and superseded by estimate_dm().
estimate_model_ids() has been deprecated. Use estimate_dm(), which does
not save individual fits to the file system --- ensuring more consistent
behavior across fitting modes.
get_lower_upper() has been introduced. It provides default upper and lower
parameter ranges for pre-built models and their components.
Hierarchical and non-hierarchical Bayesian parameter estimation is now
possible via estimate_dm()! This is still experimental, and the returned
mcmc_dm type is not fully integrated yet (currently: diagnostic checks and
parameter extraction is supported).
calc_stats() gains basic_stats and densities options for type.
basic_stats returns means, standard deviations, and choice proportions;
densities returns density values.
calc_stats() gains a resample option to quantify variability in model
predictions. We can resample for a given model or a single individual, or
bootstrap an entire sample.
calc_stats() arguments split_by_ID and average have been superseded by
the more general level argument.
simulate_data() no longer returns RTs restricted to the time grid (step
size dt). PDFs are linearly interpolated for inverse transform sampling. We
can control RT decimal places via round_to.
simulate_data() now supports the conds argument.
ssp_dm() gains var_non_dec and var_start to toggle variability in
non-decision time and starting point.
ssp_dm() now uses uniform variability in non-decision time, aligning more
closely with the original publication.
ssp_dm() default dx and dt increase computation speed while balancing
numerical error for many parameter values.
dmc_dm() default dx and dt increase computation speed while balancing
numerical error for many parameter values.
ratcliff_dm() default dx and dt increase computation speed while
balancing numerical error for many parameter values.
coef() and plot() now support the mcmc_dm object type.
check_discretization() has been introduced. This function helps us assess
the loss in precision when increasing dt and dx.
get_example_fits_ids() was removed.
get_example_fits() has been introduced to obtain fits_ids_dm,
fits_agg_dm, or mcmc_dm objects.
nt_constant() now uses round() instead of as.integer() to locate the
Dirac delta index, reducing bias in non-decision time estimates.
pdfs() now also returns a vector of the time domain.
The coef() and plot() method now supports mcmc_dm objects.
The progress argument replaces verbose in calc_stats (default: 1).
The "fit_stats" option for calc_stats() now returns multiple fit
statistics, including log-likelihood, AIC, BIC, and root-mean-squared error.
simulate_traces now properly considers trial-by-trial variability in the
drift rate.
calc_stats() is now more precise due to proper numerical integration.print() and summary() methods are now available for traces_dm,
traces_dm_list, stats_dm, stats_dm_list, and coefs_dm objects.
New unpack_obj() makes it easy to strip away attributes and class labels of
objects created by dRiftDM. The more specific predecessor function
unpack_traces() is now deprecated unpack_traces().
New pdfs() provides access to a model's predicted probability density
function.
coef.drift_dm() gains a select_custom_prms argument.
list_stats_dm objects are now called stats_dm_list for name consistency.
traces_dm objects now have additional attributes (which were required for
appropriate print and summary methods).
More consistent capitalization in print.summary.*() methods.