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 subsety[ry]of elements inyto which the imputation model is fitted. Therygenerally distinguishes the observed (TRUE) and missing values (FALSE) iny.- x
Numeric design matrix with
length(y)rows with predictors fory. Matrixxmay have no missing values.- wy
Logical vector of length
length(y). ATRUEvalue indicates locations inyfor 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().
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
