IRMI-style imputation using cellwise-robust regression as the inner engine. Three engines are available: CRM (Filzmoser et al. 2020), Shooting S (Öllerer et al. 2016), and a cellwise-weighted MM hybrid.

imputeCellReg(
  data,
  engine = "crm",
  maxit = 50,
  eps = 0.005,
  uncert = "pmm",
  trace = FALSE
)

Arguments

data

data.frame with missing values (mixed continuous + categorical)

engine

regression engine: "crm" (default), "cellwise-mm", or "shooting-s"

maxit

maximum outer IRMI iterations (default: 50)

eps

convergence tolerance (default: 5e-3)

uncert

imputation uncertainty: "pmm" (default), "normalerror", or "none"

trace

logical; print progress

Value

A list with components:

data_imputed

the imputed data.frame

cellweights

n x p matrix of cell weights (1 = clean)

converged

logical

iterations

number of outer iterations

Details

The function cycles through all variables with missing values (IRMI framework), fitting a cellwise-robust regression of each variable on all others. The engine argument selects the regression method:

"crm"

CRM (Cellwise Robust M-regression) from the crmReg package. Uses SPADIMO for cellwise outlier detection within each regression. Requires crmReg.

"cellwise-mm"

Hybrid: compute cell weights via MCD conditional residuals, then fit MM-estimation (lmrob) with row weights derived from cell weights. The MM-estimator provides high breakdown point.

"shooting-s"

Shooting S-estimator (Öllerer et al. 2016). Iterates between cellwise detection and S-estimation. Implemented from the published algorithm.

Categorical variables are imputed via weighted multinomial logistic regression, with row weights derived from the continuous cell weights.

References

P. Filzmoser, S. Höppner, I. Ortner, S. Serneels, S. Van Aelst (2020) Cellwise robust M regression. Computational Statistics and Data Analysis, 147, 106944.

V. Öllerer, A. Alfons, C. Croux (2016) The shooting S-estimator for robust regression. Computational Statistics, 31(3), 829–844.

Author

Matthias Templ