NEWS
smoothemplik 0.0.17 (2025-10-29)
- Fixed failing equality tests for Macs (due to inferior accuracy)
smoothemplik 0.0.16 (2025-10-27)
- Defined
EL0() as the univariate and EL1() as the multi-variate wrapper, subsumed by EL()
- Added Extrapolated EL for applications where the convex hull can be violated
- Re-implemented adjusted (2 variants) and balanced EL
- Added Bartlett factor computation
- Improved
brentZero() root search, added two new extensions rules: "left" and "right"
- Improved the damped Newton search, added several stopping criteria to prevent stalling
smoothemplik 0.0.15 (2025-08-18)
- Rewrote most of the internal functions in Rcpp for higher speed
- Moved
weightedEL to EL0 and cemplik -- now that it is in C++ -- to EL
- Added Euclidean likelihood,
EuL()
smoothEmplik() accepts attach.attributes = TRUE as a synonym for "all"
- Fixed 2 bugs in the Taylor expansion related to the spanning condition
smoothemplik 0.0.14 (2025-07-22)
- Fixed a bug in the Taylor expansion for the case of convex hull condition failures
- Removed unfinished functions for optimisation and constrained optimisation
- Implemented adaptive bandwidths at each point of the evaluation grid for better smoothing
- Added a draft version of the vignette showcasing the use of adaptive kernels for smoothing
- Implemented a Wald-like Taylor expansion to allow mu to be outside the convex hull in
weightedEL()
- Sped up the fourth-order triangular kernel
smoothemplik 0.0.13
- Implemented Taylor expansion to allow mu to be outside the convex hull in
weightedEL(), as in Owen (2013)
- Replaced
uniroot() with a C++ version of Brent's zero search for speed
- Improved handling of influential observations in LSCV
smoothemplik 0.0.12
- Fixed a bug in
prepareKernel() where a valid y vector with attributes would not pass the check.
- Implemented a more accurate check for lambda being close to the boundary based on the relative search interval length in
weightedEL().
weightedEL() preserves the names of the input vector in wts.
- Sped up
ctracelr() by using the previous lambda value in the search (~4 times faster).
- The output of
mllog() now has column names because it was confusing without them.
- The output of
svdlm() is now a vector, not a 1-column matrix.
- Replaced certain instances of
sapply() with vapply() in smoothing functions.
- Added unit tests for some functions.
smoothemplik 0.0.11
- Added EUPL licence.
- Initialised tests for unit testing.
- Fixed the bug in DCV when weights were not taken into account.
- Removed simulation functions for the paper (to be provided separately).
- Added examples for most functions.
smoothemplik 0.0.10
- Feature: support for weighted kernel density and regression observation.
- Feature: support for sparse weight matrices via
sparseKernelWeightsCPP() to save memory.
- Feature: observation de-duplication to speed up the non-parametric functions.
- Feature: low-level C++ parallelisation and chunking to limit maximum RAM use (via
RcppParallel).
- Feature: leave-one-out kernel smoothing support for custom output grids.
- Reworked mixed kernel density and regression workflow making use of the block data structure.
- Bug fix: now there are time savings in multi-core mixed estimation.
- Bug fix: in DCV, duplicated observations were not merged (now the LOO is the true LOO: duplicates of the same observation are also left out).
- Improved the initial value choice for cross-validation (using a log-scale grid around the rule-of-thumb value).
- Sped up C++ kernel functions with
RcppArmadillo (20--50% speed gains through better iterations, code structure, and condition checks).
smoothemplik 0.0.9
- Added a vignette on non-parametric methods.
- Added 4th-order C++ versions of all kernels (for bias reduction) and their convolutions.
- Auto-detect cross-validation type (density or least-squares) based on the input.
- Changed the default behaviour of Silverman's rule of thumb: use a robust estimator of SD (IQR/1.34).
- Prepared a stub for discontinuous densities.
- Moving the gradient-related functions to a new package,
pnd.
smoothemplik 0.0.8
- Rewrote the C++ smoothers using
RcppArmadillo for speed-up, refactored the kernel-related code.
- Feature: Support for the 2nd-order uniform, triangular, Epanechnikov, and quartic kernel.
smoothemplik 0.0.7
- Feature: added functions for parallelised numerical differentiation.
- Rewrote multi-variate weighted empirical likelihood functions to allow for Taylor approximations of the empirical likelihood function of any order.
smoothemplik 0.0.6
- Feature: getSELWeights now renormalises the weights to unity after trimming (by default, can be overridden via
renormalise = FALSE).
smoothemplik 0.0.5