Path to this page:
Subject: CVS commit: pkgsrc/math/R-robustbase
From: Makoto Fujiwara
Date: 2023-08-11 07:23:11
Message id: 20230811052311.D2B76FBDB@cvs.NetBSD.org
Log Message:
(math/R-robustness) Updated 0.95.1 to 0.99.0
CHANGES in robustbase VERSION 0.99-0 (2023-06-12, svn r928):
NEW FEATURES:
* In case it finds an _exact fit_, i.e., k > n/2 residuals are
(practically) zero, 'lmrob.S()' now returns that, 'scale =
0', and robustness weights 'weights(., "robustness")' which
are either 0 or 1 quickly and more consistently.
This is _not yet_ satisfactorily working for the "large n"
case.
**** *TODO*: Optionally (but off by default?? for back
compatibility??), 'lmrob()' initialized by such an exact-fit
estimator may use a (user-specified or automatic) scale s^ >
0 to continue providing efficient SM / MM estimates.
* 'lmrob.control()' gets class '"lmrobCtrl"' which can be
'print()'ed and 'update()'d.
* New tuning const 'zero.scale = 1e-10' instead of hardwired
'EPS_ZERO' in 'lmrob.S()''s C code; additionally the exact
fit / zero-residuals checking is finally y-scale
equivariant, using 1/n ||y||_1 = 'mean(abs(y))'.
BUG FIXES:
* Fixed 'covMcd()': corrected the consistency correction
factor for the reweighted estimate: was MCDCons(p,
sum(w)/n), now is MCDCons(p, 0.975), see Croux and
Haesbroeck (1999).
Consequently, often 'covMcd()' and estimates based on it,
such as 'BYlogreg()' or 'ltsReg()' are slightly changed.
* registered 'residuals.lmrob.S' _and_ changed 'formals'
compatible with generic to '(object, ...)'.
* 'lmrob.S()' in C level 'refine_fast_s()' no longer modifies
'beta_cand[]' which notably fixes a bug found in exact-fit
examples previously resulting in 'coef() == 0' "results",
also for 'lmrob()' which calls 'lmrob.S()' for its default
initial estimate.
* 'print(<lmrob.S>)' finally works again as intended (_not_
printing a largish list); mostly by fixing internal
'lmrob.control.minimal()'.
* 'summary.lmrob(obj)' now also gets a 'weights' component
from 'obj' if that is non-trivial; this may also correct
'summary()' output in weighted cases.
* Minor fixes in 'plot.lts()' related to par mfrow.
* ltsReg() Help file changed - the note strongly advising NOT
to use LTS regression removed.
Misc:
* argument 'mf' e.g., in 'lmrob.fit()' has been deprecated
since 2017-12-09 and is defunct now.
* 'lmrob()' tweaks, notably saying more for 'trace.lev >= 3'.
* replaceed (almost) all 'Calloc()' by 'R_alloc()' in C code;
e.g., prevents leakage from user interrupt.
Files: