Skip to content

robscale 0.5.3

Choose a tag to compare

@davdittrich davdittrich released this 29 Mar 12:18
· 20 commits to main since this release

robscale 0.5.3

Major update since the last public release (0.2.1). This is the CRAN submission release.

New features

  • 11 robust estimators with confidence intervals: robScale, robLoc, Qn, Sn, MAD, IQR, ADM, GMD, SD/c4, plus a variance-weighted ensemble combining seven scale statistics via bootstrap
  • Newton–Raphson iteration replaces scoring iteration for M-scale/M-location (2–4 steps vs 6–8)
  • Fused AVX2 kernel for NR accumulation in a single data pass
  • All input validation in C++ with zero R-side allocation
  • BCa bootstrap confidence intervals with jackknife acceleration for all estimators

Performance

Speedups vs existing implementations:

Small samples (n ≤ 20):

  • robScale/robLoc: 4–5× vs revss
  • Qn: 6× vs robustbase
  • MAD: 21–26× vs stats::mad
  • IQR: 37× vs stats::IQR

Mid-to-large samples (n ≥ 1000):

  • robScale: 2–4× vs revss
  • Sn: 7–9× vs robustbase
  • MAD: 5–8× vs stats::mad
  • IQR: 5–7× vs stats::IQR
  • GMD: 2–8× vs GiniDistance

Build fixes (0.5.3 specific)

  • Added target("avx2,fma") / target("avx512f") attributes to extern "C" declarations of libmvec/SLEEF vectorized tanh functions (Clang 21 ABI compatibility)
  • Unified TBB preprocessor guards across all source files for system-oneTBB builds (CRAN Linux)
  • Eliminated unused-variable warning (use_avx2 in qn_estimator.cpp)

Installation

install.packages("robscale")

https://cran.r-project.org/package=robscale