Hello,

I'm trying to use multiple imputation with chained equations (N = 330, 6 time points). At each time point, there are 6 dichotomous variables and 3 continuous variables. Some of the variables have no missing data (timeran0 timether0 mfq_total0 adanyexp0 ad4week0 intervalexp0 so I have included them after the = sign). The data are in wide format.

With the code below, I get an error message: "mfq_total3 > 57.67809 predicts data perfectly"

Code:
mi impute chained (logit, augment) scdattrec0 scdattrec1 scdattrec2 scdattrec3 scdattrec4 scdattrec5 nssirec0 nssirec1 nssirec2 nssirec3 nssirec4 nssirec5 scdidrec0 scdidrec1 scdidrec2 scdidrec3 scdidrec4 scdidrec5 ad4week1 ad4week2 ad4week3 ad4week4 ad4week5 adanyexp1 adanyexp2 adanyexp3 adanyexp4 adanyexp5 intervalexp1 intervalexp2 intervalexp3 intervalexp4 intervalexp5 (regress) timether1 timether2 timether3 timether4 timether5 timeran1 timeran2 timeran3 timeran4 timeran5 mfq_total1 mfq_total2 mfq_total3 mfq_total4 mfq_total5 = i.sexrc age_baseline i.arm timeran0 timether0 mfq_total0 i.adanyexp0 i.ad4week0 i.intervalexp0, add(5) force noisily
By removing several variables, I have solved the perfect prediction issue, as below (less pared down versions either continue to have perfect prediction, do not converge, or "VCE is not positive definite"):

Code:
mi impute chained (logit, augment) nssirec0 nssirec1 nssirec2 nssirec3 nssirec4 nssirec5 scdidrec0 scdidrec1 scdidrec2 scdidrec3 scdidrec4 scdidrec5 intervalexp1 intervalexp2 intervalexp3 intervalexp4 intervalexp5 (regress) timether1 timether2 timether3 timether4 timether5 mfq_total1 mfq_total2 mfq_total3 mfq_total4 mfq_total5 = i.sexrc age_baseline i.arm timether0 mfq_total0 i.intervalexp0, add(5) force noisily
I believe the issue with perfect prediction is due to the large number of dichotomous variables, some of which have low endorsement rates, and some of which are interdependent (e.g., a participant with a 1 for ad4week1 is also a 1 for intervalexp1 and adanyexp1).

Would imputing the data in long format help, or are there any other modifications you suggest that might resolve the issue with perfect prediction, aside from removing variables? If not, I will use another method to handle missingness, but I would like to make sure the imputation issue isn't resolvable.

Thank you in advance for any suggestions you have.