Skip to contents

clis 0.3.6

  • tests/testthat/test-screening.R: the helper that plants outliers drew responses from rBEZI() without clamping them strictly below one, so gamlss rejected the response with “response variable out of range” and two screening tests failed. The clamp applied to the simulation scripts in 0.2.3 is now applied here too.
  • New data-raw/ directory with the scripts that regenerate every table and figure of the accompanying paper, and a runbook in data-raw/README.md.

clis 0.3.5

  • bic_penalty() now stops with an explanatory message when the fit contains a gamlss::pb()-style smooth. Such terms keep their basis coefficients outside the model coefficient vector, so no penalty block can be recovered and model.matrix() returns only the linear part of the term. The previous behaviour was to return a zero penalty, which silently turned penalised screening into unpenalised screening on a design that omitted the basis. Penalised screening is supported when the basis is supplied explicitly as design columns and the penalty matrix is passed to bic_info().

clis 0.3.4

  • Bug fix: the observed information for the inflation block omitted the term in the second derivative of the inverse link. That term vanishes in expectation, which justifies dropping it from the Fisher weight but not from the observed one. bic_info(use_fisher = FALSE) now agrees with a numerical Hessian of the log-likelihood; use_fisher = TRUE, the default, was already correct.
  • Bug fix: the three covariate perturbation schemes omitted the direct term by which the perturbed design column enters the score for its own coefficient. delta_disccovar(), delta_meancovar() and delta_preccovar() now agree with numerical mixed partial derivatives.
  • Bug fix: the delta block of delta_preccovar() had the wrong sign.
  • The covariate schemes now stop with an informative message when the selected column is constant, which happens with the default p = 1 for a design whose first column is the intercept and previously returned a matrix of zeros without warning.

clis 0.3.3

  • Bug fix: the benchmark for the aggregate contribution m[r] returned by cnc_scores() was computed as the square root of twice the mean of the selected eigenvalues, which is on a different scale from m[r] itself. The threshold was therefore far too large and the rule never flagged an observation. It is now sqrt(2) times the mean of m[r] across observations, as intended.

clis 0.3.2

  • Documentation: regenerated man/ from the roxygen sources. All 20 exported functions now have help pages; clis_screen() documentation includes the calib_idx and penalised arguments, which had been missing.
  • Packaging: removed the empty data/ directory and the unused LazyData field; the bundled vaccination data is loaded from inst/extdata via load_vaccination(). The README example was corrected accordingly.
  • Removed the unused zoib dependency from Suggests and updated the vignette to refer to the reading-accuracy and lung-function applications.

clis 0.3.1

clis 0.3.0

  • Scalability: clis_screen() with the default B_Et score now uses a linear-time algorithm that never forms the n x n curvature matrix. On a 67,000-observation fit the influence scores compute in under a second, where the dense n x n construction needs ~33 GB and fails. New exported cnc_scores_linear() exposes this path directly, and cnc_block_decomp() was rewritten to be linear-time as well.
  • The m_r aggregate score still uses the dense eigendecomposition and is now guarded by options(clis.max_dense_n=) (default 5000) to avoid an accidental out-of-memory build on large samples.

clis 0.2.3

  • Fix: print.clis and summary.clis are now registered as S3 methods, so print(res) and summary(res) dispatch correctly.
  • clis_screen() gains a calib_idx argument to supply an explicit, trusted calibration set. The conformal guarantee requires the calibration set to be (nearly) free of influential points; a random split can let outliers leak into calibration and suppress power, so when a clean subset is known it should be supplied via calib_idx.
  • Simulation scripts revised: the response is clamped strictly below one (the zero-inflated beta admits [0, 1) only, and draws at exactly one made gamlss reject the response), influential points are planted so that the response contradicts the covariate (genuine influence rather than accommodated leverage), and screening uses a large clean calibration set.
  • All of the above validated by running the package under R 4.3.3 with gamlss on the real AlcoholUse data and on simulated data.

clis 0.2.2

  • Fix: influence computations no longer require the model to be fitted with x = TRUE. The design matrices are now recovered via the gamlss model.matrix method (with a manual fallback), so bic_info(), clis_screen(), and the plots work on a standard gamlss fit. This was the cause of silent per-replication failures in the simulation scripts.
  • The simulation scripts now surface the first real error when an entire cell fails, instead of returning a non-numeric result downstream.

clis 0.2.1

  • New data-raw/sim-fdr-power.R reproduces the linear-model false discovery rate table and the detection-power curves.
  • New data-raw/sim-classical.R reproduces the classical sensitivity analysis and its figure.
  • New data-raw/README.md gives a runbook for reproducing every table and figure in the paper.
  • Worked examples now use the real AlcoholUse data from the zoib package, matching the paper’s application.

clis 0.2.0

  • Semiparametric extension: penalised additive submodels.
  • bic_info() gains a penalty argument for the penalised information J + S, and reports effective degrees of freedom and their block split.
  • New bic_penalty() assembles the block-diagonal penalty matrix from the smooth terms of a fitted additive gamlss model.
  • clis_screen() gains a penalised argument; the false discovery rate guarantee carries over to penalised fits.
  • New reproducibility script data-raw/sim-semiparametric.R for the semiparametric simulation (FDR control, curve recovery, and effective degrees of freedom under REML and GCV smoothing).
  • New plot_influence() reproduces the classical local-influence index plot (curvature vs. observation index with cutoff and labels), in the style of the beta-regression diagnostics literature.
  • New data-raw/application.R reproduces the paper’s application on the real AlcoholUse data (from the zoib package): fit, classical index plot, conformal screening, and the semiparametric refit.

clis 0.1.0

  • Initial release.
  • clis_screen(): conformal local influence screening with finite-sample false discovery rate control for zero-or-one inflated beta regression.
  • Conformal normal curvature scores via cnc_matrix() and cnc_scores().
  • Block decomposition of influence into inflation vs. mean/precision components via cnc_block_decomp().
  • Four perturbation schemes: case-weights, discrete-covariate, mean-covariate, and precision-covariate.
  • Diagnostic plots: plot_clis(), plot_cnc_panels(), plot_residuals(), envelope_bic().
  • Bundled vaccination dataset (national DTP3 coverage, 2022).