I’m running a multiple imputations by chained equations (MICE) procedure. I have a sample of 1374 subjects with 5 variables that require imputation, with the maximum number of missing values for a given variable around 250. I’m pooling across 50 datasets.
For some reason the N(%) of my categorical variables changes after the imputation. This occurs whether I include the variable in the MI procedure or not. For example, if I run a crosstab on sex before the MI procedure, I get 48% of the sample as male, while after the procedure it is 52%. The original dataset (_mi_m==0) doesn't change; it's when I check the N(%) across all datasets or run my analysis that the variables have changed. I thought the MI procedure keeps unimputed variables the same across all datasets? What am I missing?
I’ve copied a syntax example below.
Many thanks
*(1)
mi set mlong
*(2)
mi misstable summarize advmerej advperej adpmt01 adpjt01 djbes01
mi misstable patterns advmerej advperej adpmt01 adpjt01 djbes01
*(3)
cor advmerej advperej adpmt01 adpjt01 djbes01
*(4)
mi register imputed advmerej advperej adpmt01 adpjt01 djbes01
*(5)
mi impute chained (regress)advmerej (regress)advperej (regress)adpmt01 (regress)adpjt01 (regress)djbes01 = sex, add(50) rseed (53421) force
mi estimate: logistic sex rmint02b advmerej advperej adpmt01 adpjt01 djbes01
For some reason the N(%) of my categorical variables changes after the imputation. This occurs whether I include the variable in the MI procedure or not. For example, if I run a crosstab on sex before the MI procedure, I get 48% of the sample as male, while after the procedure it is 52%. The original dataset (_mi_m==0) doesn't change; it's when I check the N(%) across all datasets or run my analysis that the variables have changed. I thought the MI procedure keeps unimputed variables the same across all datasets? What am I missing?
I’ve copied a syntax example below.
Many thanks
*(1)
mi set mlong
*(2)
mi misstable summarize advmerej advperej adpmt01 adpjt01 djbes01
mi misstable patterns advmerej advperej adpmt01 adpjt01 djbes01
*(3)
cor advmerej advperej adpmt01 adpjt01 djbes01
*(4)
mi register imputed advmerej advperej adpmt01 adpjt01 djbes01
*(5)
mi impute chained (regress)advmerej (regress)advperej (regress)adpmt01 (regress)adpjt01 (regress)djbes01 = sex, add(50) rseed (53421) force
mi estimate: logistic sex rmint02b advmerej advperej adpmt01 adpjt01 djbes01
Comment