mice.impute.norm {mice} | R Documentation |
Imputation by Bayesian linear regression
Description
Calculates imputations for univariate missing data by Bayesian linear regression, also known as the normal model.
Usage
mice.impute.norm(y, ry, x, wy = NULL, ...)
Arguments
y |
Vector to be imputed |
ry |
Logical vector of length |
x |
Numeric design matrix with |
wy |
Logical vector of length |
... |
Other named arguments. |
Details
Imputation of y
by the normal model by the method defined by
Rubin (1987, p. 167). The procedure is as follows:
Calculate the cross-product matrix
S=X_{obs}'X_{obs}
.Calculate
V = (S+{diag}(S)\kappa)^{-1}
, with some small ridge parameter\kappa
.Calculate regression weights
\hat\beta = VX_{obs}'y_{obs}.
Draw a random variable
\dot g \sim \chi^2_\nu
with\nu=n_1 - q
.Calculate
\dot\sigma^2 = (y_{obs} - X_{obs}\hat\beta)'(y_{obs} - X_{obs}\hat\beta)/\dot g.
Draw
q
independentN(0,1)
variates in vector\dot z_1
.Calculate
V^{1/2}
by Cholesky decomposition.Calculate
\dot\beta = \hat\beta + \dot\sigma\dot z_1 V^{1/2}
.Draw
n_0
independentN(0,1)
variates in vector\dot z_2
.Calculate the
n_0
valuesy_{imp} = X_{mis}\dot\beta + \dot z_2\dot\sigma
.
Using mice.impute.norm
for all columns emulates Schafer's NORM method (Schafer, 1997).
Value
Vector with imputed data, same type as y
, and of length
sum(wy)
Author(s)
Stef van Buuren, Karin Groothuis-Oudshoorn
References
Rubin, D.B (1987). Multiple Imputation for Nonresponse in Surveys. New York: John Wiley & Sons.
Schafer, J.L. (1997). Analysis of incomplete multivariate data. London: Chapman & Hall.
See Also
Other univariate imputation functions:
mice.impute.cart()
,
mice.impute.lasso.logreg()
,
mice.impute.lasso.norm()
,
mice.impute.lasso.select.logreg()
,
mice.impute.lasso.select.norm()
,
mice.impute.lda()
,
mice.impute.logreg.boot()
,
mice.impute.logreg()
,
mice.impute.mean()
,
mice.impute.midastouch()
,
mice.impute.mnar.logreg()
,
mice.impute.mpmm()
,
mice.impute.norm.boot()
,
mice.impute.norm.nob()
,
mice.impute.norm.predict()
,
mice.impute.pmm()
,
mice.impute.polr()
,
mice.impute.polyreg()
,
mice.impute.quadratic()
,
mice.impute.rf()
,
mice.impute.ri()