BCH with covariate interpretation PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
Message/Author
 Sara Suzuki posted on Tuesday, September 18, 2018 - 1:27 am
What is a correct interpretation of the BCH procedure if I run the following syntax? It is different to the results without the covariates, but I am not sure how to interpret.

USEVARIABLES ARE
ind1
ind2
ind3
ind4
ind5
ind6
ind7
ind8
covariate1
covariate2;

AUXILIARY = (BCH)
distal1
distal2
distal3;

MISSING ARE ALL (88, 777, 999);

CLASS = C(3);

ANALYSIS: TYPE = MIXTURE;

MODEL:

%OVERALL%
C on covariate1 covariate2;
 Tihomir Asparouhov posted on Tuesday, September 18, 2018 - 11:23 pm
The interpretation is the same as the one without the covariates. The results are different because the latent class solution is different. You should be able to see the differences between the latent classes not just in the BCH variables but in the actual model as well. You can consider running the manual BCH see Section 3
https://www.statmodel.com/examples/webnotes/webnote21.pdf
where you can use the covariates and the distal outcomes in the auxiliary model.
 Sara Suzuki posted on Wednesday, September 19, 2018 - 10:36 am
Hello Dr. Asparouhov,

Thank you for your reply.

If I follow the steps outlined in Section 3 of Webnote 21, and run the below models, will this give me a BCH result that is "controlled for" by the covariates? I want to know: after controlling for the influence of the covariates on class assignment, how are classes related to the distal outcome?


Step 1:

USEVARIABLES ARE
ind1
ind2
ind3
ind4
ind5
ind6
ind7
ind8;

AUXILIARY = covariate1 covariate2 distal1 distal2 distal3;

MISSING ARE ALL (88, 777, 999);

CLASS = C(3);

ANALYSIS: TYPE = MIXTURE;

SAVEDATA: FILE=manualBCH.dat; SAVE=bchweights;


Step 2:

DATA: FILE=manualBCH.dat;

USEVARIABLES ARE
covariate1
covariate2
distal1
distal2
distal3
w1-w3;

TRAINING = w1-w3(BCH);

MISSING ARE ALL (88, 777, 999);

CLASS = C(3);

ANALYSIS: TYPE = MIXTURE;

MODEL:

%OVERALL%
C ON X;
 Bengt O. Muthen posted on Wednesday, September 19, 2018 - 6:12 pm
You need to also say "Y ON X" in your model - see the scripts in the webnote.
 Sara Suzuki posted on Wednesday, September 19, 2018 - 9:00 pm
Hello Dr. Muthén,

Since I do not want to regress my distal on the covariates, so I should not leave out "Y on X"?
 Sara Suzuki posted on Wednesday, September 19, 2018 - 9:00 pm
I meant to say:

Since I do not want to regress my distal on the covariates, should I not leave out "Y on X"?
 Bengt O. Muthen posted on Thursday, September 20, 2018 - 4:15 pm
Yes, you should.
 Sara Suzuki posted on Thursday, September 20, 2018 - 8:30 pm
Ok - great so I will run the model without "Y on X." Thank you Dr. Muthén.
 Sara Suzuki posted on Sunday, September 30, 2018 - 4:31 am
I tried both regressing the distal on covariates (syntax A) and not regressing the distal on covariates (syntax B) and got very different Wald test results depending on what I did.

Could you help me understand which model is better?

Is it correct that syntax A, where I regress the distal on covariates as well, gives a more "pure" Wald test, showing whether the means of the distal differ between classes after accounting for selection into classes based on covariates and effect of covariates on the distals?



Syntax A:
DATA: FILE=manualBCH.dat;

USEVARIABLES ARE
covariate1
covariate2
distal1
distal2
distal3
w1-w3;

TRAINING = w1-w3(BCH);

CLASS = C(3);

ANALYSIS: TYPE = MIXTURE;

MODEL:

%OVERALL%
C ON covariate1 covariate2;
distal1 distal2 distal3 ON covariate1 covariate2;

%C#1%
distal1 distal2 distal3 ON covariate1 covariate2;

%C#2%
distal1 distal2 distal3 ON covariate1 covariate2;

%C#3%
distal1 distal2 distal3 ON covariate1 covariate2;

Syntax B:
DATA: FILE=manualBCH.dat;

USEVARIABLES ARE
covariate1
covariate2
distal1
distal2
distal3
w1-w3;

TRAINING = w1-w3(BCH);

CLASS = C(3);

ANALYSIS: TYPE = MIXTURE;

MODEL:

%OVERALL%
C ON covariate1 covariate2;
 Bengt O. Muthen posted on Sunday, September 30, 2018 - 2:54 pm
You are right about syntax A - it is better when there are direct effects.
 Scot Seitz posted on Saturday, December 14, 2019 - 12:25 pm
I recently ran the third step of the BCH method. My auxiliary model has multiple covariates (both dichotomous and continuous) and 3 continuous outcomes. I am trying to examine the role of the covariates in predicting the latent classes. In the output in the "Categorical Latent Variables" section, I see that each class is regressed on each covariate (comparing each class to the last class, which seems to be the reference class). I have a few questions:

1) How can I change the reference class so that I can examine the role of each covariate between different classes?
2) Are the estimates in the "Categorical Latent Variables" section regression coefficients?
3) In the "Categorical Latent Variables" section, can I obtain standardized estimates? I included "output: stdyx" in my syntax and standardized results are not reported for this section (although standardized results are reported for other sections).
4) Do you suggest any other way to examine the role of the covariates in predicting the latent classes in the third step of the BCH method?
 Tihomir Asparouhov posted on Monday, December 16, 2019 - 2:46 pm
1. Reorder the weights like this
training=w1 w2 w4 w3(bch);

2. It is multinomial logistic regression
https://en.wikipedia.org/wiki/Multinomial_logistic_regression

3. I would recommend using
define: standardize x;
so the "model results" will be standardized.

4. You can use the 3-step (R3step option) and the 1-step estimation. If those estimates disagree you might have direct effects from the covariate to the latent class variable indicators. See Table 4
http://www.statmodel.com/download/3stepOct28.pdf
 shonnslc posted on Sunday, May 10, 2020 - 1:17 pm
Hi,

I am trying the manual BCH method to examine if profiles differ in a distal outcome. I know how to do that in an automatic way, but not sure how to do that in a manual way:

usevar=
y BCHW1 BCHW2 ;
CLASSES = c(2);
training=BCHW1 BCHW2 (bch);

Analysis:
Type = mixture;
starts = 0;

model:
%overall%

%c#1%
[y];
%c#2%
[y];

This will only give me the mean of the distance outcome in each class, but how can I get the differences between them. Thank you!
 Bengt O. Muthen posted on Monday, May 11, 2020 - 1:55 pm
Use Model Constraint.

%c#1%
[y] (y1mean);
%c#2%
[y] (y2mean);

Model constraint:

new(diff);
diff= y1mean - y2mean;
 shonnslc posted on Thursday, May 14, 2020 - 8:45 am
Thank you, Muthen. But isn't this approach (using the model constraint command) based on the Wald test instead of the chi-square test used in the automatic approach? Does that matter? Thank you!
 Bengt O. Muthen posted on Thursday, May 14, 2020 - 3:49 pm
No, the Wald test is used in Model Tests. Model Constraint uses a regular z-test for each New parameter.
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: