Skip to contents

This function performs proper multiple imputation using the Support Vector Machine (SVM) combined with bootstrapping, as proposed by Takahashi (2026). It is specifically designed for binary variables in high-dimensional data settings.

Usage

mice.impute.svm(
  y,
  ry,
  x,
  wy = NULL,
  type = NULL,
  C = 1,
  scaled = TRUE,
  kernel = "vanilladot",
  tol = 0.001,
  kpar = list(),
  ...
)

Arguments

y

Vector to be imputed

ry

Logical vector of length length(y) indicating the the subset y[ry] of elements in y to which the imputation model is fitted. The ry generally distinguishes the observed (TRUE) and missing values (FALSE) in y.

x

Numeric design matrix with length(y) rows with predictors for y. Matrix x may have no missing values.

wy

Logical vector of length length(y). A TRUE value indicates locations in y for which imputations are created.

type

A vector of length ncol(x) identifying the predictors. Captured here to avoid conflicts with the SVM 'type' argument from mice's internal calls.

C

Cost of constraints violation (default = 1).

scaled

A logical vector indicating the variables to be scaled.

kernel

The kernel function used in training and predicting (default = "vanilladot").

tol

Tolerance of termination criterion (default = 0.001).

kpar

List of hyper-parameters for the kernel function (default = list()).

...

Other named arguments to be passed to kernlab::ksvm().

Value

A vector of length sum(!ry) with imputed values.

Details

Note: When using this method in high-dimensional settings, it is recommended to set eps = 0 in the mice() call to prevent remove.lindep() from removing predictors before they reach the SVM model.

References

Takahashi, M. (2026). Multiple Imputation based on the Support Vector Machine for High-Dimensional Data with General Missing Patterns in Causal Inference. Journal of Statistical Computation and Simulation. doi:10.1080/00949655.2026.2660865

Author

Masayoshi Takahashi, 2026