Simple survey weights and bootstrap PreviousNext
Mplus Discussion > Structural Equation Modeling >
Message/Author
 Elizabeth Schofield posted on Friday, April 14, 2017 - 8:16 am
I'm trying to fit a path model with a binary outcome, but the observations have simple survey weights (there were no sampling units) and we would like to Bootstrap to test some indirect effects.

I thought I needed to use a weight statement in the Variable chunk, TYPE=COMPLEX and REPSE=BOOTSTRAP in the Model chunk, and specify the MODEL INDIRECT effects. However when I do this I get an error that I need a cluster or strata variable for the replicate weights for the Bootstrap.

I don't have a complex sample with sampling units, so I'm not sure where to go from here. Is there a different TYPE= option for this situation? Is there a way to force the replicate weights be calculated only from my survey weights?

One workaround that "works" is to set STRAT to one of the demographic variables that went into the weights, but this seems like a rough approximation to what we really want to do here.

Thanks for your help.
 Tihomir Asparouhov posted on Friday, April 14, 2017 - 10:31 pm
You got this right - the trick with the one STRAT is the way to go (or use clusters with just one observation each). It is just a workaround and is totally valid.
 Binay Adhikari posted on Monday, May 14, 2018 - 1:26 pm
Hello Elizabeth and Tihomir,

Could you elaborate how you solved the problem? I am having similar problem and am new to mplus.

Thanks!
 Tihomir Asparouhov posted on Monday, May 14, 2018 - 2:16 pm
Something like that should work

variable: names =... w s;
weight=w; strat=s;
define: s=1;
analysis: estimator=ml;bootstrap=200;repse=bootstrap; type=complex;
model: ...
 Binay Adhikari posted on Monday, May 14, 2018 - 2:26 pm
Thanks for your quick response, Tihomir. I have some follow up questions. Can strat be categorical, i.e.a list of strata? Also, all my mediators and final outcome are binary; in this can should I use ml as estimator? I am using WLSMV as estimator in my path model now.

Thanks again.
 Tihomir Asparouhov posted on Monday, May 14, 2018 - 5:57 pm
Yes but if you have strata variable already you don't need to create a fake strata variable s.

Bootstrap SE for type=complex would be available only for WLSMV.

The question about the estimator should probably be addressed first though as these two estimators operate on a different model. You will probably find these useful
https://www.statmodel.com/download/Causal.pdf
http://statmodel.com/Mplus_Book.shtml
https://www.statmodel.com/download/webnotes/CatMGLong.pdf
 Binay Adhikari posted on Monday, May 14, 2018 - 10:18 pm
Thanks for the links, Tihomir.

Regarding estimators: I used the default setting for estimator and link function. I did specify the categorical endogenous and outcome variables. I referred the mplus manual that is available online to create the path model. The result of my model shows WLSMV and probit as estimator and link functions respectively. I am doing it correctly?

Regarding strata: Just to be sure, is strata only used as a grouping variable for bootstrapping?
 Tihomir Asparouhov posted on Tuesday, May 15, 2018 - 5:00 pm
Yes that would be correct. The strata trick simply specifies that there is just one strata. Strata is different from grouping variable.
 Binay Adhikari posted on Wednesday, May 16, 2018 - 11:10 am
Thanks Tihomir.

I am sorry for asking the same question again. My data set has a variable within which each participants are clustered and this variable is used specify weights for individual participants within cluster. Is this variable good enough to use a strata?
 Tihomir Asparouhov posted on Wednesday, May 16, 2018 - 1:01 pm
It depends on the sampling. If this is cluster sampling you should specify that with the cluster= option. If it is stratified sampling you should specify that with the strata= option.
 Binay Adhikari posted on Wednesday, May 16, 2018 - 3:34 pm
I am sorry for asking the same question again. The data was collected using quota sampling and weighting was done after collecting data using census variables. The weights are calculated using different geographic scales as boundaries, e.g., municipal scale and neighborhood scales. I am using just the neighborhood scale weights.
I understand this may not be appropriate question for this forum as it is moving towards study design but I would appreciate if you could suggest appropriate model specification in such case of quota sampling and post-stratification weighting. Thanks!
 Tihomir Asparouhov posted on Wednesday, May 16, 2018 - 3:42 pm
Quota sampling in Mplus would best be treated as stratified sampling.
 Binay Adhikari posted on Wednesday, May 16, 2018 - 3:47 pm
That means I can use geographic boundaries used for assigning the weights as strata while creating my path model?
 Tihomir Asparouhov posted on Wednesday, May 16, 2018 - 5:33 pm
The strata are the quota segments. You will have to read the description of the sampling method. You might also inquire with the folks that collected the data for the proper stratification specification.
 Massimiliano Orri posted on Sunday, February 10, 2019 - 5:10 pm
Dear Mplus team,

I would like to obtain bootstrapped CI for a mediation analysis in which my outcome is binary (using counterfactual framework).
As I am using weights, I specified:

VARIABLE: ..
WEIGHTS = w; STRAT = s;
DEFINE: s=1;
ANALYSIS:
TYPE=COMPLEX;
REPSE=BOOTSTRAP;
ESTIMATOR = ML;
ALGORITHM=INTEGRATION;
INTEGRATION = MONTECARLO;
BOOT = 10000;

But it doesn't work, because Mplus is not accepting the ML estimator. See warning/error message below:

*** WARNING in ANALYSIS command
Estimator ML is not available for analysis with categorical variables and
replicate weights. Default estimator will be used.
*** ERROR in ANALYSIS command
BOOTSTRAP is not available for estimators MLM, MLMV, MLF and MLR.

Is there any workaround to solve the problem?

Thanks
 Tihomir Asparouhov posted on Monday, February 11, 2019 - 9:26 am
You can run this with the WSLMV estimator. If you remove
ESTIMATOR = ML;
ALGORITHM=INTEGRATION;
INTEGRATION = MONTECARLO;
it should work. This is based on the probit link in case you want to compare to ML.
 Massimiliano Orri posted on Monday, February 11, 2019 - 1:46 pm
Thanks for your response.
Is there any way I can run it using legit link?
 Tihomir Asparouhov posted on Wednesday, February 13, 2019 - 9:54 am
I don't think there is but you can look at standardized estimates (which are link independent) or alternatively use the approximation between logit and probit link

https://www.researchgate.net/post/What_is_the_best_method_probit_or_logit

https://statmodeling.stat.columbia.edu/2006/06/06/take_logit_coef/
Back to top
Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action: