Major rewrite of the package for a configurable, dual-backend neural-network imputer.
deepimp_arch() (number and size of hidden
layers, dropout, activation, batch normalisation, optimiser, learning rate), replacing
the previously hard-coded network.torch backend (default; no Python required) and an optional
keras3 backend, selected with backend = "torch" / "keras".impNNetCoDa() reimplemented on the shared imputation engine for rounded zeros in
compositional data, with correction = "truncate" (default, Templ 2021), "expectation",
or "none"."deepimp" object; read the completed data with getImputed()
(or as.data.frame()), and inspect with print(), summary(), and plot().seed argument. Reproducibility is exact when dropout = 0; with
dropout > 0 the backend's training-time randomness is not fully pinned by the seed in the
current torch build (repeated runs are close but may not be bit-identical).vignette("deepImp"), and a package overview page (?deepImp).impNNetCoDa(initialize = "kNNa") no longer aborts at high rounded-zero rates.
The compositional-kNN initialiser (robCompositions::impKNNa()) can fail with
'probs' not in [0, 1] when a large fraction of every part falls below the
detection limit; the initialiser now falls back to knn (with a warning)
instead of stopping the imputation.impNNet() was redesigned. Legacy arguments dense, small, normalize_x, and
normalize_y are soft-deprecated (a warning maps them onto the new API). The arguments
model_numeric, model_binary, model_nominal, and loss were removed; configure the
network through arch and backend instead.m > 1, impNNet() / impNNetCoDa() return several completed data sets. These are
stochastic replicate completions, not statistically valid multiple imputation.