Page 1 of 1

Combining mcmc(cc) logit results using mi estimate

Posted: Fri Apr 23, 2021 9:03 pm
by mlwinmlwin
Thank you in advance! I am relatively new to runmlwin and Bayesian models.

I am running a longitudinal cross-classified logit model (10 rounds of individual observations, and individuals can move across states over the 10 years). Due to missingness, I used "mi impute chained" to impute missing data. Based on my reading of previous posts, I know I should be able to use "mi estimate, cmdok" to combine the results across imputed datasets. Here are my codes:

STEP 1:
gen cons=1

mi estimate, cmdok noisily post imputations (1/5): ///
runmlwin DV cons IV1 IV2 IV3, ///
level3 (state_fips: cons) ///
level2 (study_id: cons) ///
level1 (year:) ///
discrete(dist(binomial) link(logit) denom(cons)) nopause forcesort

estimates store m_prior

STEP 2:
mi estimate, cmdok noisily imputations (1/5): ///
runmlwin DV cons IV1 IV2 IV3, ///
level3 (state_fips: cons) ///
level2 (study_id: cons) ///
level1 (year:) ///
discrete(dist(binomial) link(logit) denom(cons)) mcmc(cc) initsmodel(m_prior) nopause forcesort


1) Do my codes look correct? (I have been running them successfully for my analysis, but want to double-check with experts here)

2) More specifically, in both step 1 and step 2, when showing the combined results, I observed "Average RVI = .", "Largest FMI=. ", "DF: avg =.", and "DF: max =.". Are these normal to see?

3) Most importantly, in step 2 with MCMC(CC), how can we interpret "Coef. Std. Err. t P>|t| [95% Conf. Interval]" in the combined results? In each iteration (i.e., m=1, 2, etc.), we get "Mean Std. Dev. ESS P [95% Cred. Interval]". Can we interpret [95% Conf. Interval] in the combined results the same as [95% Cred. Int] derived in each iteration (i.e., m=1, 2, etc.)? How about the p-values in the combined results? Are these p-values in the combined results one-sided or two-sided? Any other things I should be aware of when interpreting the combined results?

Thank you again!

Re: Combining mcmc(cc) logit results using mi estimate

Posted: Tue May 11, 2021 5:21 pm
by ChrisCharlton
I asked George about this and he had the following suggestions, although we are not that familiar with the mi estimate command:
  1. You can probably skip step 1 and just supply some plausible starting values to step 2, rather than having to do two sets of imputations. Otherwise the runmlwin syntax looks fine.
  2. We aren't really sure what these statistics refer to, and suggest looking at the documentation for https://www.stata.com/help.cgi?mi_estimate to see if that gives some guidance.
  3. It is probable that the command is combining the results from the five sets of models using Rubin's rules on the means of the chains returned in e(b) and e(V). This would suggest that what is returned would be regular 2-sided p-values.

Re: Combining mcmc(cc) logit results using mi estimate

Posted: Thu Mar 16, 2023 1:46 am
by plopblurt
Many thanks, Chris slope game
I have the same issue and I could fix.

Re: Combining mcmc(cc) logit results using mi estimate

Posted: Fri May 05, 2023 4:56 am
by poorused
I got it. Thanks, Chris. :Dredactle

Re: Combining mcmc(cc) logit results using mi estimate

Posted: Wed May 17, 2023 6:48 am
by brisbian
mlwinmlwin wrote: Fri Apr 23, 2021 9:03 pm Thank you in advance! I am relatively new to runmlwin and Bayesian models.

I am running a longitudinal cross-classified logit model (10 rounds of individual observations, and individuals can move across states over the 10 years). Due to missingness, I used "mi impute chained" to impute missing data. Based on my reading of previous posts, I know I should be able to use "mi estimate, cmdok" to combine the results across imputed datasets. Here are my codes:

STEP 1:
gen cons=1

mi estimate, cmdok noisily post imputations (1/5): ///
runmlwin DV cons IV1 IV2 IV3, ///
level3 (state_fips: cons) ///
level2 (study_id: cons) ///
level1 (year:) ///
discrete(dist(binomial) link(logit) denom(cons)) nopause forcesort

estimates store m_prior

STEP 2:
mi estimate, cmdok noisily imputations (1/5): ///
runmlwin DV cons IV1 IV2 IV3, ///
level3 (state_fips: cons) ///
level2 (study_id: cons) ///
level1 (year:) ///
discrete(dist(binomial) link(logit) denom(cons)) mcmc(cc) initsmodel(m_prior) nopause forcesort


1) Do my codes look correct? (I have been running them successfully for my analysis, but want to double-check with experts here)

2) More specifically, in both step 1 and step 2, when showing the combined results, I observed "Average RVI = .", "Largest FMI=. ", "DF: avg =.", and "DF: max =.". Are these normal to see a small world cup

3) Most importantly, in step 2 with MCMC(CC), how can we interpret "Coef. Std. Err. t P>|t| [95% Conf. Interval]" in the combined results? In each iteration (i.e., m=1, 2, etc.), we get "Mean Std. Dev. ESS P [95% Cred. Interval]". Can we interpret [95% Conf. Interval] in the combined results the same as [95% Cred. Int] derived in each iteration (i.e., m=1, 2, etc.)? How about the p-values in the combined results? Are these p-values in the combined results one-sided or two-sided? Any other things I should be aware of when interpreting the combined results?

Thank you again!
Can you fix your error?