Message/Author 

Ewan Carr posted on Friday, September 13, 2013  6:52 am



I'm estimating a twolevel random slope model with the Bayes estimator. I have missing data on one independent variable. I'm trying to impute this variable using the H0 approach. 1) Am I correct in understanding that, if I use the H0 approach, I can't use the BAYES estimator in the subsequent analysis model?
quote:ESTIMATOR=BAYES is not available with TYPE=IMPUTATION in the DATA command.
I want/need to use Bayesian estimation (due to small level2 sample size; 22). But I also need to impute the missing values. 2) Is this impossible in Mplus? 3) Are there any alternative approaches to imputing the data that would allow Bayesian estimation? (e.g. using plausible values) Many thanks, Ewan  


You should include your independent variable in the model by mentioning its mean or variance parameter. Then Bayes can be used. 

Ewan Carr posted on Monday, September 16, 2013  2:33 am



Thanks for your reply. However, I'm not sure I understand. My imputation model looks like:
quote:TITLE: DATA: file = ess5.dat; VARIABLE: [...] usevariables = satlife sec1 income; cluster = cntry2; within = income sec1; ANALYSIS: type = twolevel random; estimator = bayes; processors = 2; MODEL: %WITHIN% s  satlife ON sec1; [income]; %BETWEEN% satlife; s; DATA IMPUTATION: impute = income; ndatasets = 5; save = H0_impute*.dat;
And the analysis model looks like:
quote:TITLE: DATA: file = H0_imputelist.dat; type = IMPUTATION; VARIABLE: names = SEC1 SATLIFE INCOME CNTRY2; missing = *; usevariables = all; cluster = cntry2; within = income sec1; ANALYSIS: type = twolevel random; estimator = bayes; MODEL: %WITHIN% s  satlife ON sec1; satlife ON income; %BETWEEN% satlife; s;
I still get the error: "BAYES not available with TYPE=IMPUTATION". Any idea where I'm going wrong? Many thanks. 


Following is what Bengt suggested. You cannot do multiple imputation and use Bayes. Bayes is essentially doing multiple imputation behind the scene. TITLE: DATA: DATA: file = ess5.dat; VARIABLE: names = SEC1 SATLIFE INCOME CNTRY2; missing = *; usevariables = all; cluster = cntry2; within = income sec1; ANALYSIS: type = twolevel random; estimator = bayes; MODEL: %WITHIN% s  satlife ON sec1; satlife ON income; %BETWEEN% satlife; s; 


Also, add the variance of income to the MODEL command to avoid losing cases with missing on income, for example, %WITHIN% s  satlife ON sec1; satlife ON income; income; 

Ewan Carr posted on Tuesday, September 17, 2013  2:35 am



Thank you Linda and Bengt — that worked perfectly. One final question: what should I call this method? I'm responding to reviewer comments who have recommended multiple imputation. I'm wondering how I should explain the above technique. If Bayes is doing "multiple imputation behind the scenes" then is this multiple imputation? Many thanks for your help with this, Ewan  


I don't think this has a name. No, Bayes takes an approach similar to FIML. 

Ewan Carr posted on Thursday, September 19, 2013  9:33 am



OK great, that's very helpful. So when explaining what I've done about missing data I'll refer readers to the FIML literature. Many thanks, Ewan. 


Hi Linda and Bengt, Similar to the Mplus user above, I am trying to use TYPE = IMPUTATION (to read in 20 plausible values that I already have, for my dependent variable). But I also want to use ESTIMATOR=BAYES and I am getting the message indicated by tue user above. Given that I am using multiple imputation for my dependent rather than independent variable, is there anything I can do, in order to use both TYPE = IMPUTATION and ESTIMATOR=BAYES? Thank you. 


Please send the output where you get the message to Support. 


I would use Estimator = Bayes on the original data rather than on the imputed data. Using Bayes on imputed data creates technical issues for the credibility intervals so Mplus does not allow it. 

Fred posted on Wednesday, September 27, 2017  1:16 am



Regarding H0Imputation I want to do MI with a restricted model so I am modelling according to example 11.7 on your homepage (https://www.statmodel.com/usersguide/chapter11.shtml). There is a Bayes estimator specified to impute the missing values. Now I am wondering if that is the algorithm as described in your paper "Bayesian Analysis Using Mplus"? According to that it is a Gibbs sampler with conditional univariate distributions. Is the H0Imputation conceputally equal to Fully Conditional Specification with the differnce that with H0 I have to specifiy the model directly? Thanks for the reply Freddy 


See the paper on our website: Asparouhov, T. & Muthén, B. (2010). Multiple imputation with Mplus. Technical Report. Version 2. Click here to view Mplus inputs, data, and outputs used in this paper. download paper contact second author 

Fred posted on Thursday, September 28, 2017  12:09 am



Thank you for your answer. In your paper, you write: "[...] that can be estimated in Mplus with the Bayesian estimator, which we call H0 imputation." (p. 2). Unfortunately there is no indication of what the Bayes estimator is exactly and how the imputations are generated. My question therefore remains, if the Bayes estimator used for imputation is the same one that is used for estimation which is described in your "Bayesian Analysis Using Mplus"paper. Thanks for the reply Freddy 


In example 11.7 you can remove the DATA IMPUTATION: and the SAVEDATA: sections and run the example. You will notice that the estimated model is exactly the same (with or without those commands). That is, we do one type of Baysian estimation, adding DATA IMPUTATION: does not change anything about the model estimation. The H0 imputation works like this (specified as in example 11.7, estimator = bayes and data imputation command) we first estimate the model until convergence. After the model has converged we continue chain 1 of the MCMC for 100*NDATASETS more iterations. All missing values are imputed during MCMC and one copy is stored every 100 iterations. 

Back to top 