distfreereg() is no longer a generic function.
Selection of appropriate methods is done by internal-only functions.
This simplifies distfreereg()’s use and simplifies the
process of adding support for new model classes.
compare() and update.distfreereg() have
been modified for use with the updated distfreereg()
function. Call elements have been simplified.
The covariance list is now filled in a way that generally prefers operations on the “square root” level. In particular, the path Σ→ Σ-1/2→Q is preferred to Σ→P→Q.
The covariance list must now be NULL when
test_mean is a model object. In the previous version, a
covariance list value was simply ignored in this case.
plot.distfreereg() now has an “ecdf”
option.
The buffer option for controlling the creation of
simultaneous confidence bands has been replaced by the
q_probs option, which is based on quantiles.
Fixed two bugs affecting the calculation of the radii of simultaneous confidence bands, which are now narrower than previously calculated.
For clarity, all occurrences of the names
mcsim_stats have been replaced with
theoretical_stats. Further, all occurrences of
observed_stats in compare objects have been
replaced with empirical_stats to distinguish them from
statistics that are observed from data rather than simulated by
compare().
Minor changes: accounting for the Jacobian returned by
nls() no longer requires an inefficient multiplication by
SqrtSigma and then by Q. Information added to
sample size mismatch error message in update.distfreereg().
Default type value for plot.distfreereg()’s
residual plot changed to p.
Documentation updated.
Printed output of ks.test.compare()
shortened.
Option added to print.distfreereg() to omit printing
parameter estimates.
compare()’s true mean specification
and subsetting in true_mean model objects no longer
(always) produce errors. See documentation for details and
limitations.Support for glm and lmerMod (from
lme4) objects has been added.
Grouping is now available for all ordering options, and
group now defaults to TRUE. The
res_order object can now contain repeated elements, which
are now used to determine the groups. The aggregator matrix has been
renamed the “grouping matrix”.
The control argument of distfreereg()
can now have an element named return_on_error, which allows
for partial output from distfreereg() when an error
occurs.
A covariance list element can now be a list of matrices, corresponding to the block diagonal matrix with blocks given by the list elements.
compare now uses simulate() to generate
observed outcome variable values when true_mean is neither
a function nor an nls object. The
theta argument in compare() is therefore now
only allowed when test_mean has class
function.
To promote reliability, specifying columns to order the residuals must now be done using column names, not column numbers.
The compare argument err_dist_fun must
now be a character string naming the desired function.
A simple compare method for print() has
been added.
The method argument in
distfreereg.formula() no longer has a default
value.
distfreereg.formula() no longer has a
covariance argument.
Only distfreereg.function() retains a
theta_init argument. Starting values for estimation for
using distfreereg.formula() can be specified, when
applicable, using an appropriately named element of
method_args.
Computation of mu now uses a Cholesky decomposition
instead of a matrix square root based on an eigenvalue
decomposition.
The handling of weights has been improved. Specifically, the covariance structure obtained from model objects is now determined from weights and the estimated sigma value.
Jacobians and Hessians are now calculated using
calculus package. Because of the speed improvement,
confint.distfreereg() now always returns the matrix or
vector returned by the appropriate method of confint(). In
particular, it no longer returns a list that includes the output of
vcov.distfreereg().
The symmetry argument has been replaced by a
mandatory check for symmetry of Sigma and P,
with associated tolerance options.
Minor changes: rmvnorm() no longer drops dimensions,
and therefore always returns a matrix. Error message in
get_n() now contains more detail. Progress messages for
distfreereg() modified. Updates and improvements made to
the documentation.
Modified tests for macos-arm64.
Added access to matsqrt_tol value to control
threshold for what eigenvalue(s) are “too negative” when calculating the
eigendecomposition for determining the square root of a matrix.