BCH method for estimating a distal ou... PreviousNext
Mplus Discussion > Latent Variable Mixture Modeling >
Message/Author
 anonymous posted on Monday, October 20, 2014 - 8:35 pm
In reading about the new BCH method in web note 21 (October 7, 2014), I'm wondering if there is a variant of the method demonstrated in 3.2 that predicts the distal outcome(s) from the latent classes while controlling for the effect of the covariates on the distal outcomes.
 Bengt O. Muthen posted on Tuesday, October 21, 2014 - 6:37 am
That's what's shown in the Section 3.2 input.
 anonymous posted on Tuesday, October 21, 2014 - 11:33 am
Perhaps I'm misunderstanding, but when I run that syntax the output shows the distal outcome regressed on my covariates and the classes regressed on my covariates, but I don't see anything in the syntax or output about the classes predicting the distal outcome.
 Bengt O. Muthen posted on Tuesday, October 21, 2014 - 12:19 pm
You get class-specific intercepts/thresholds for the distal outcome. That is the same information as in a regression of the distal on the latent class variable. You can test for differences in these parameters when using Model Constraint.
 Anne Chan  posted on Friday, January 09, 2015 - 1:20 pm
I noticed that the missing cases (in distal outcome) are handled by listwise in the 3-step approach. I am wondering how the missing data (in distal outcome) are handled by new BCH method?
 Bengt O. Muthen posted on Friday, January 09, 2015 - 4:52 pm
Same way. If you run DCON you will see how many cases are used (same as for BCH).
 Valentina Ulloa posted on Tuesday, June 30, 2015 - 6:47 am
Dear Dr. Muthén,
I´m trying to fit a mixture model using BCH, but when I include a second predictor (educ) of the latent class variable (SC), Mplus asks me to use Alorithm=integration which is not available for bch (according to an error message) . Could you help me with that please? Here´s my input:

Analysis:
Type is mixture; Starts=0; Estimator=MLR;
Model:
%overall%
SC on ISEIH Educ;
ISEIR on Educ ISEIH;
Educ on ISEIH;

%sc#1%
[ISEIR] (m1);
%sc#2%
[ISEIR] (m2);
%sc#3%
[ISEIR] (m3);
%sc#4%
[ISEIR] (m4);
%sc#5%
[ISEIR] (m5);

Model test:
m1=m2;
m1=m3;
m1=m4;
m1=m5;

Thanks.
 Bengt O. Muthen posted on Wednesday, July 01, 2015 - 5:27 pm
Integration is needed if your Educ variable has missing data. You can delete those cases.
 Valentina Ulloa posted on Thursday, July 02, 2015 - 8:23 am
Thank you for your answer Dr. Muthén, but I tried taking out missing values and got the same error message(that I need to use integration algorithm).
Could it be that when I regress Educ on ISEIH, Educ variable becomes a distal outcome of the latent class and that is why I cannot also regress the latent class(SC) on Educ? If so, is there a way not to consider Educ as distal outcome (I'm only interested in ISEIR as distal outcome), to be able to regress it on ISEIH?
And another question, I get an Entropy of 1.140 in the second BCH step, is that because of the use of the weights or I'm I doing something wrong?
Thanks
 Bengt O. Muthen posted on Friday, July 03, 2015 - 9:17 am
I recommend that you remove Educ ON ISEIH. That statement does not change the mixture model.

If you still have entropy >1, please send your output, and data if possible, along with your license number to support.
 Nick Shryane posted on Thursday, August 20, 2015 - 5:58 am
Hello,

I have the same issue as Valentina with regard to entropy > 1 when I run a regression auxiliary/latent class model along the lines of section 3.2 in webnote 21v2.

The input code is:

---
Variable:
Names are
ofcan ofecs ofcok ofgas truant schyear w1 w2 w3 ;
Usevariables are
truant schyear w1 w2 w3 ;
Classes are
c (3) ;
Training are
w1 w2 w3 (bch) ;
Analysis:
Type = Mixture ;
Starts = 0 ;
Model:
%overall%
[schyear] ;
schyear on truant ;
%c#1%
[schyear] ;
schyear on truant ;
%c#2%
[schyear] ;
schyear on truant ;
---

The model fits three latent class to explain school pupils' exposure to four drug exposure variables. The latent classes, and whether the pupil ever truants from school, are then used to predict school year.

The model estimates look fine, but the classification quality output looks wrong (entropy >1, classification probabilities > 1).

I wonder, is this something to do with the class membership uncertainty being known quantities represented already by the bch weights?

Thanks,
Nick
 Bengt O. Muthen posted on Thursday, August 20, 2015 - 6:35 pm
There is a glitch in the entropy when BCH weights are used. Ignore the entropy printed.
 lisa Carlesso posted on Friday, November 06, 2015 - 9:41 am
hello

I am trying to use BCH for an LCA with a continuous distal outcome and have no problem with the first step. When I run the final step I get this error message
Invalid symbol in data file:
"*" at record #: 1, field #: 23
and when I open the file in either Mplus editor or textedit, I can see that there are several *'s scattered throughout the file. Any idea on why this is and how it can be fixed?
Is it related to missing data? I have specified missing =all (99)

thank you
 Linda K. Muthen posted on Friday, November 06, 2015 - 11:09 am
When you read data that you have saved, you need to read it according the the information at the end of the output where it was saved. The * is a missing value flag that requires

MISSING = *;
 Dina Dajani posted on Saturday, December 05, 2015 - 11:28 am
Hi Dr. Muthen,

When manually doing the BCH method for the first step I indicate to SAVE=bchweights; But the file does not have the bchweights, just has my indicators and auxiliary variables. Do you know what the problem might be?

USEVARIABLES are

DCNID
BrfPInhT
BrfPShfT
BrfPEmCT
BrfPIntT
BrfPWMT
BrfPPOrgT
BrfPOgMT
BrfPMonT
WISCDigB
StatuTot;

MISSING ARE ALL (999);

CLASSES = c(3);

IDVARIABLE = DCNID;

AUXILIARY = AnxDepT PriDx1 PriDx2;

ANALYSIS:
TYPE = Mixture;
Starts = 0;

OUTPUT: SAMPSTAT;

SAVEDATA: FILE IS "\datastore01.psy.miami.edu\Groups\LUddin_Lab\Dina Dajani\Projects\KKI\latentprofileanalysis\bch\bch.dat"
SAVE= bchweights;
 Bengt O. Muthen posted on Saturday, December 05, 2015 - 1:08 pm
Please send output to Support along with your license number.
 lisa Carlesso posted on Wednesday, December 09, 2015 - 8:37 am
Hello

I have a question about interpreting the model results.
I have a 3 class model with a continuous distal outcome, 5 categorical covariates and 2 continuous.

How are the Y on X estimates to be interpreted? as beta co-efficients?

Are the intercepts for Y the class specific means?

thank you
 Bengt O. Muthen posted on Wednesday, December 09, 2015 - 1:07 pm
Q1-Q2: Yes, as for regular linear regression.

Q3: No, they are class-specific intercepts.
 Michelle Mack posted on Friday, April 22, 2016 - 2:13 pm
Hello-

Can someone explain how to interpret the class specific intercepts mentioned in the above post.
 Bengt O. Muthen posted on Saturday, April 23, 2016 - 9:32 am
They show the influence of the latent class variable on Y beyond the influence of the covariates. Think of the latent class variable as a dummy covariate in linear regression - it changes the intercepts.
 Dina Dajani posted on Saturday, April 23, 2016 - 11:15 am
If I am not mistaken, the class specific intercepts represent the class-specific means of Y
 Bengt O. Muthen posted on Sunday, April 24, 2016 - 10:50 am
If Y is regressed on something, the intercept is estimated instead of the mean.
 Michelle Mack posted on Tuesday, April 26, 2016 - 10:12 am
Thank-you!
 Ryan Grimm posted on Friday, May 06, 2016 - 2:43 pm
I've used the BCH with 3 distal outcomes, one of which is continuous and 2 are binary. I also used DCAT & DCON with the same distals.
There is a lot of missing data on each of the three distals, and this was reported in the output for DCAT & DCON. But, with the BCH, I received the following messages:

PROBLEMS OCCURRED DURING THE ESTIMATION FOR THE DISTAL OUTCOME KMTHIRT.

PROBLEMS OCCURRED DURING THE ESTIMATION FOR THE DISTAL OUTCOME LAMAJOR2.

The results said 999 for all of the estimates for these 2 distals. However, the 3rd distal, which was binary, ran fine. Any ideas as to why this may have occurred?

Just to confirm, does the BCH assume MAR for the distal outcomes?

Thank you very much!
 Bengt O. Muthen posted on Monday, May 09, 2016 - 2:24 pm
BCH uses listwise for the distal outcome so if you have a lot of missing on it, this is problematic.

Regarding your problematic run, send output to Support along with your license number.
 Lerzan Coskun posted on Thursday, June 02, 2016 - 8:22 am
Hello

I've used the manual BCH with several continuous distal outcomes but I am not sure how to do the same for categorical outcomes.

I want to examine the effect of latent class membership on a categorical outcome (DCF_MALT) after controlling for three variables which are ces_t1, T1_FINAN, and HISPANIC. To this end, I wrote the following input code:

Usevar are DCF_MALT ces_t1 T1_FINAN HISPANIC BCHW1-BCHW4;
Categorical =DCF_MALT;
Classes = c(4);
Training=BCHW1-BCHW4(bch);
Analysis:
Type = Mixture;
Starts=0;
Estimator=mlr;
Model:
%overall%
DCF_MALT on ces_t1;
DCF_MALT on T1_FINAN;
DCF_MALT on HISPANIC;
c on ces_t1;
c on T1_FINAN;
c on HISPANIC;


When I added the same regressions into the class specific part of the model, I received an error notification that those statements were ignored:

The following MODEL statements are ignored:
* Statements in Class 1:
C#1 ON CES_T1
C#1 ON T1_FINAN
C#1 ON HISPANIC
C#2 ON CES_T1
C#2 ON T1_FINAN
C#2 ON HISPANIC
C#3 ON CES_T1
C#3 ON T1_FINAN
C#3 ON HISPANIC

I wonder if my input until the class specific part of the model is correct and how should I revise the input re: the class specific part of the model.

Thanks!
 Michelle Mack posted on Friday, June 03, 2016 - 11:45 am
Is there a variant of the BCH method where I can predict the distal outcome while controlling for previous levels of that same outcome? (so, predicting change over time in a distal outcome)

Thanks!
 Bengt O. Muthen posted on Friday, June 03, 2016 - 5:50 pm
Coskun:

Use DCAT instead when distal is categorical.
 Bengt O. Muthen posted on Friday, June 03, 2016 - 5:52 pm
Mack:

See Section 3.2 of the BCH paper (web note 21).
 Lerzan Coskun posted on Saturday, June 04, 2016 - 7:04 pm
Hi Dr. Muthen,

Thanks for your advice re: using DCAT for categorical variables. However, I have a set of control variables which I'd used for continuous distal outcomes and I'd like to be able to control for the same variables while examining the categorical outcomes. It is my impression that you can't add controls into the model while using DCAT. Am I mistaken?
 Bengt O. Muthen posted on Sunday, June 05, 2016 - 12:09 pm
With control variables you can use the manual approach.
 Lerzan Coskun posted on Monday, June 06, 2016 - 7:41 am
Hi Dr. Muthen,

I tried the manual BCH for categorical outcomes but the code I wrote did not quite work out.

I want to examine the effect of latent class membership on a categorical outcome (DCF_MALT) after controlling for three variables which are ces_t1, T1_FINAN, and HISPANIC.

I'm attaching here the input I used in the second step of manual BCH. I'll greatly appreciate if you could tell me which part of the input was incorrect or needs to be revised.

Usevar are DCF_MALT ces_t1 T1_FINAN HISPANIC BCHW1-BCHW4;
Categorical =
DCF_MALT;
Classes = c(4);
Training=BCHW1-BCHW4(bch);
Analysis:
Type = Mixture;
Starts=0;
Estimator=mlr;

Model:
%overall%
DCF_MALT on ces_t1;
DCF_MALT on T1_FINAN;
DCF_MALT on HISPANIC;
c on ces_t1;
c on T1_FINAN;
c on HISPANIC;

%c#1%
DCF_MALT on ces_t1;
DCF_MALT on T1_FINAN;
DCF_MALT on HISPANIC;
c on ces_t1;
c on T1_FINAN;
c on HISPANIC;
%c#2%
DCF_MALT on ces_t1;
DCF_MALT on T1_FINAN;
DCF_MALT on HISPANIC;
c on ces_t1;
c on T1_FINAN;
c on HISPANIC;
%c#3%
DCF_MALT on ces_t1;
DCF_MALT on T1_FINAN;
DCF_MALT on HISPANIC;
c on ces_t1;
c on T1_FINAN;
c on HISPANIC;
%c#4%
DCF_MALT on ces_t1;
DCF_MALT on T1_FINAN;
DCF_MALT on HISPANIC;
c on ces_t1;
c on T1_FINAN;
c on HISPANIC;
 Linda K. Muthen posted on Monday, June 06, 2016 - 8:45 am
Please send the output and your license number to support@statmodel.com.
 Lerzan Coskun posted on Monday, June 06, 2016 - 1:22 pm
I will!

Thanks!
 Daniel Lee posted on Tuesday, November 01, 2016 - 4:33 pm
Hi Dr. Muthen,

I used Model Test command (e.g., intercept from class1 vs. intercept from class2) to conduct Wald's Chi-square test (taking into account several covariates). I would essentially constrain the intercept of an outcome (alcohol) in class 1 to equal the intercept of an outcome in class 2) using the model test command. For example:

Model:
%OVERALL%
C ON SEX HSYE;
ALC MARIJ NICT ON SEX HSYE;
%C#1%
[ALC](m1); [MARIJ](m2); [NICT](m3);
%C#2%
[ALC](m4); [MARIJ](m5); [NICT](m6);
%C#3%
[ALC](m7); [MARIJ](m8); [NICT](m9);
Output: SAMPSTAT TECH4 TECH7;
Model Test: m2 = m8;


Is this the Model Constraint method you were talking about to examine whether intercepts in classes are significantly different, when using BCH method? I tried following the Mplus manual on the Model Constraint command, and I had trouble understanding how I would actually implement this for the BCH method. But the Model Test command appears to constrain parameters to test whether the difference is significant (although this method may not be suitable).

If I am on the right track, please let me know. If I should change my analysis, and actually use the model constraint command, I would appreciate any guidance (e.g., video tutorial, article).

Thank you!!
 Bengt O. Muthen posted on Wednesday, November 02, 2016 - 5:19 pm
This use of Model Test is correct.
 Jin Qu posted on Wednesday, November 30, 2016 - 9:28 am
1.First, I used manual 3-step BCH approach.

Model:
%overall%
ZIN on Race;

%C#1%
ZIN on Race;
%C#2%
ZIN on Race;


Output:

Estimate S.E. Est./S.E. P-Value

Class 1

ZINT ON
RACE -0.127 0.271 -0.466 0.641

Intercepts
ZINT 0.123 0.249 0.495 0.621


Class 2

ZINT ON
RACE -0.542 0.374 -1.448 0.148

Intercepts
ZINT 0.483 0.330 1.463 0.143

However, the results changed when I include the model testing. The estimate of race for every class now is -.329 and the ZINT intercept changed too. Is there something wrong in the codes?

model:
%overall%
ZINTER4 on RaceDi;

%C#1%
[ZINTER4] (m1);
%C#2%
[ZINTER4] (m2);

model test: m1=m2;


Output:
Two-Tailed
Estimate S.E. Est./S.E. P-Value

Class 1

ZINT ON
RACE -0.329 0.174 -1.887 0.059

Intercepts
ZINTER4 0.243 0.184 1.319 0.187


Class 2

ZINT ON
RACE -0.329 0.174 -1.887 0.059

Intercepts
ZINT 0.352 0.222 1.587 0.113
 Jin Qu posted on Wednesday, November 30, 2016 - 9:31 am
Dr. Muthen,

Hi. Please see above for my first question. My second question is can I include 2 covariates in the BCH approach? Thank you!

E.g.,

DATA:
file= manBCH2.dat;

VARIABLE:

usevariables are ZINTER4 RaceDi W1-W4 gender C1-C4;

classes = c(4);


training=W1-W4 (bch) C1-C4 (bch);


analysis: Type=Mixture;
starts=0;
estimator=mlr;

model:
%overall%
ZINTER4 on RaceDi gender;
 Bengt O. Muthen posted on Thursday, December 01, 2016 - 10:31 am
We ask that postings be made in one window only. For long postings like this, please send the relevant outputs and questions to Support along with your license number.
 Chris Giebe posted on Thursday, December 08, 2016 - 9:24 am
Hello,

I am having the same problem as Dina, where I'm trying to run the first step of a manual BCH, but the bchweights do not show up in the generated .dat file.

SAVEDATA:
File = manual_BCH_est.dat;
Save = bchweights;

Looking at the output, it seems to have saved CPROBS instead.

Thanks for your help.
-Chris
 Bengt O. Muthen posted on Thursday, December 08, 2016 - 5:16 pm
Please send output and saved file to Support along with your license number.
 S Elaine posted on Wednesday, January 04, 2017 - 12:01 pm
I'm following web note 21 v. 2 (example 3.2) to use the BCH method to run a regression aux model combined with latent class regression. I've followed steps 1 and 2 and not had any issues; now, I'd like to test whether there are sig differences between the classes on the DV (ALCHPRB). I've found several examples of how to do this online, all seem to be different. Could you let me know if this is the proper way to use the model constraint option? If so, I continuously get the following message and don't know how to resolve this: WALD'S TEST COULD NOT BE COMPUTED BECAUSE OF A SINGULAR COVARIANCE MATRIX.

Model:
%Overall%
C on Age
Gender
minority
Chldses PAP PRALCHL BSI_GSI;
Alchlprb on Age
Gender
minority
Chldses PAP PRALCHL BSI_GSI;


%c#1%
Alchlprb on Age
Gender
minority
Chldses PAP PRALCHL BSI_GSI(p1);
%c#2%
Alchlprb on Age
Gender
minority
Chldses PAP PRALCHL BSI_GSI(p2);
%c#3%
Alchlprb on Age
Gender
minority
Chldses PAP PRALCHL BSI_GSI(p3);
%c#4%
Alchlprb on Age
Gender
minority
Chldses PAP PRALCHL BSI_GSI (p4);

MODEL TEST:
0 = p1- p2;
0= p1-p3;
0=p1-p4;
0=p2-p3;
0=p2-p4;
0=p4-p3;
 Daniel Lee posted on Wednesday, January 04, 2017 - 12:48 pm
Hi, I know BCH method uses list-wise deletion to handle missing data. Is there a way to treat missing data differently, like multiple imputation or FIML, when using BCH method? Thank you!
 Bengt O. Muthen posted on Wednesday, January 04, 2017 - 2:25 pm
Answer for Elaine:

Say

MODEL TEST:
0 = p1- p2;
0= p1-p3;
0=p1-p4;

The last 3 statements that you have are redundant (if 2, 3, and 4 are the same as 1, then 2, 3, and 4 are also the same).
 Bengt O. Muthen posted on Wednesday, January 04, 2017 - 2:26 pm
Answer for Daniel:

No.
 S Elaine posted on Thursday, January 05, 2017 - 8:43 am
Thank you for you response. This produced the following under model fit information:
Wald Test of Parameter Constraints

Value 1.123
Degrees of Freedom 3
P-Value 0.7715
I see many studies reporting Chi-sq and/or Wald statistics for each class comparison (unique stats when comparing class 4 vs. 1, 4 vs. 2...3. 3 vs. 2, etc) on the DV. However, I've only been able to produce one value, and cannot find guidelines for how this information is obtained using the lasted BCH recommendations. I saw your recommendation 10/21/2014 here re: class specific intercepts: http://www.statmodel.com/discussion/messages/13/20479.html?1465244548

I'm trying to locate recent papers that use the recommendations from web note 21 version 2 (3.2). I'm interested in reviewing examples that reporting findings using this approach, but have not been successful in locating any in the social sciences... any guidance, references, or suggestions would be appreciated!
 Bengt O. Muthen posted on Thursday, January 05, 2017 - 9:18 am
For comparing e.g. 4 vs 1, you need to do several runs, each with only that comparison.

Regarding your last question, if you don't find it among our latent class papers under Papers, you may want to ask on SEMNET.
 Jamie Taxer posted on Tuesday, January 24, 2017 - 4:31 pm
I am trying to use the manual BCH approach to examine if an auxiliary variable is a significant predictor of latent class membership. I used the syntax given in Web Note 21 section 3.2, step 2 and as suggested removed the y's. However, when I just include an auxiliary variable that is predicting latent class membership, I keep getting the message "One or more variables in the data set have no non-missing values. Check your data and format statement." According to the warnings there are 249 cases of missing on all variables other than x-variables. This is however, not the case. There should only be around 20 cases of missing values. I have tried the syntax below with two different data sets and get the same error message. Can you please tell me where I am going wrong?

Data: File = manBCHStep1_HS.dat;
Variable:
Names =
ZENTH3 ZENTH5 ZENTH6 ZENTH7 ZJOY1 ZJOY4
ZJOY5 ZJOY3 SE ANG AX EMOEX MH PH JOBSAT
MOT ACH DIS SOCDES B5EX BCHW1 BCHW2
BCHW3 BCHW4;

Missing are *;
Usevariables = socdes b5EX BCHW1-BCHW4;
Classes = c (4);
Training = BCHW1-BCHW4(bch);
Analysis: type = mixture;
Starts =0;
Model:
%overall%
c on b5EX socdes;
 Bengt O. Muthen posted on Tuesday, January 24, 2017 - 5:10 pm
Please send the input, output, data and license number to Support so we can check what's going on..
 Xinyi He posted on Monday, February 20, 2017 - 6:37 am
what kind of statistic test does Mplus use in the bch method or dcat method£¿chi-square test or wald test£¿
 Bengt O. Muthen posted on Monday, February 20, 2017 - 4:04 pm
The Wald chi-square test.
 gia barboza posted on Monday, April 17, 2017 - 8:52 am
Hello,
I am having the same problem that others have had using the BCH weights, they are not showing up in the file. Has there been any solution to this? thanks!
 Bengt O. Muthen posted on Monday, April 17, 2017 - 2:02 pm
We know of no such problem - send your relevant files to Support along with your license number.
 Daniel Lee posted on Monday, May 22, 2017 - 9:50 am
Hi Dr. Muthen,

I have submitted a paper using the BCH method and the reviewer recommended that I use expectation-maximization (via SPSS) first and then re-run BCH analysis. A large proportion of the sample (almost half) was dropped because of missing data on exogeneous variables. Would this be a plausible solution (Expectation Maximization) for handling missing data when using the BCH method?

Thank you!
 Bengt O. Muthen posted on Monday, May 22, 2017 - 2:13 pm
Sounds like the reviewer is suggesting dealing with missing data. But it doesn't make sense to me because the usual EM algorithm only produces a mean vector and covariance matrix which is not sufficient information for mixture modeling - plus the wrong (non-mixture model) is used.

Missing on exogenous variables not in the first step is tricky to handle. Multiple imputation can be used but limits what can be done. Changing from 3-step to 1-step where the exogenous variables are included in the model is computationally demanding.

Perhaps the best that can be done is to check if the subsample with no missing is different in important ways and if not rely on the results from the subsample.
 Daniel Lee posted on Wednesday, May 24, 2017 - 6:47 am
That is very helpful! As follow-up, in addition to mean vector and covariance matrix, what other information is used in mixture model that EM imputation does not produce?

Thank you!!
 Daniel Lee posted on Wednesday, May 24, 2017 - 12:43 pm
I apologize for asking a second string of questions in a separate post:

1) If I include a predictor (e.g., gender) as a within-class predictor in my BCH model (2 trajectory classes), and sex differences in Y were observed in one trajectory class (e.g., Class 1; with males higher than females on Y), but not in the other class (e.g., Class 2; males and females not significantly different on Y), would I be able to compare mean differences in the following way:

-Males in Class 1 vs. Members of Class 2
-Females in Class 1 vs. Members of Class 2


2) Although I'm not looking at an interaction effect specifically, as one typically would in a regression model, would I be able to say that sex modified the effect of the latent class variable on Y IF males in Class 1 had the highest value of Y compared to females in their own class, and males/females in Class 2?

Thank you again!
 Bengt O. Muthen posted on Wednesday, May 24, 2017 - 6:01 pm
Post 1:

Higher-order moments (skew, kurtosis, etc all the way up to working with raw data - that is, mixture modeling needs raw data.

Post 2:

When you say "within-class predictor", do you mean in the first or the last BCH step?

When you say you want to compare means, do you mean in the first or the last BCH step?
 Daniel Lee posted on Thursday, May 25, 2017 - 8:00 am
Hi Dr. Muthen,

I meant the last step. For example, I might regress Y on sex for each class to examine the unique influence of sex on Y for each class.

I would then do a wald chi-square test. So for example, if the effect of sex (female = 0) was .123 in CLASS 1, I would add .123 to the intercept and write:

Model Test: 0 = (INT1 + .123) - (INT2)

*Intercept2 is the mean of Y for class 2 (no sex-effect in this class). So this is essentially, at least in my head, males in class 1 vs. males/females in class 2.
 lisa Car posted on Thursday, May 25, 2017 - 2:55 pm
Hello

I am wondering what are the advantages of using the BCH method for association of classes with outcomes, compared to regular linear regression i.e. not in a joint model?

Also, if running the BCH, is it possible to get explained variance in the output?

thank you!
 Bengt O. Muthen posted on Thursday, May 25, 2017 - 6:39 pm
Lee post: A quick check suggests that this seems ok.
 Bengt O. Muthen posted on Thursday, May 25, 2017 - 6:41 pm
Car post:

Q1: By regular linear regression perhaps you mean regressing the outcome on a set of dummy variables representing most likely class membership. If so, you would be ignoring measurement error in the classification.

Q2: Not auto from Mplus but you can express it yourself.
 Daniel Lee posted on Thursday, June 01, 2017 - 8:19 am
Hi Dr. Muthen, is there a way to compare a BCH model (last step) with gender included as a between class predictor vs. the same model except, this time, gender is a between & within-group predictor? The model has a distal outcome & there are three classes.


Thank you!
 Daniel Lee posted on Thursday, June 01, 2017 - 8:21 am
Sorry, as a point of clarification, by compare I mean model fit comparison (e.g., BIC).
 Bengt O. Muthen posted on Thursday, June 01, 2017 - 6:59 pm
BIC works because the different models have the same set of DVs
 Daniel Lee posted on Wednesday, June 07, 2017 - 8:05 am
Thank you. If I may ask one more question - is a multi-group analysis possible for BCH model at step 2?
 Bengt O. Muthen posted on Wednesday, June 07, 2017 - 5:43 pm
Not sure if you can get Knownclass to do that - haven't tried.
 Jin Qu posted on Sunday, June 18, 2017 - 11:01 am
I am using the BCH method for my paper. What is the full name of the BCH method? I searched Asparouhov & Muthen (2014) webnote, but did not find it.
 Wendy Rote posted on Monday, June 19, 2017 - 3:15 pm
Hi,
I'd like to use the manual BCH method to estimate profile differences (From an LPA on Wave 1 variables) in Wave 2 outcomes controlling for levels of those same outcomes at wave 1. I've done this in the step 2 syntax by regressing each w2 outcome variable on its w1 equivalent, requesting the means of the w2 variables in each profile, and using model constraint to compare them. This seems to run fine but I'm not sure whether I should model the autoregessive paths for each profile separately (as is done in webnote 21 when controlling for demographic predictors in an LPA modeling mean class differences) or for just for the model overall (as I assume would more similarly replicate a classic autoregressive path model with a categorical variable predicting autoregressive change over time). The results differ quite a lot depending on the choice. Any feedback would be really helpful.
Thank you!
 Tihomir Asparouhov posted on Tuesday, June 20, 2017 - 9:41 am
The BCH comes from the first letters of the authors

Bolck, A., Croon M. A., & Hagenaars, J. A. (2004) Estimating latent
structure models with categorical variables: One-step versus three-step
estimators. Political Analysis, 12, 3-27.
 Tihomir Asparouhov posted on Tuesday, June 20, 2017 - 9:49 am
Wendy

I would recommend Section 4

http://statmodel.com/download/webnotes/webnote15.pdf

I would not be regressing indicator on indicator, rather regress latent class on latent class (otherwise you change the measurement model), i.e., if it gets too confusing stick the the standard latent transition analysis.

Using BCH with 2 latent class variables is not very easy. I would use one at a time and possibly run a joint analysis (single step standard ML) with all measurement model parameters fixed to the BCH estimates.
 Jamie Taxer posted on Tuesday, June 20, 2017 - 5:43 pm
I'm using the BCH method to examine differences in distal outcomes across latent profiles. Is it possible to determine the group specific standard deviations for my distal outcomes?
 Wendy Rote posted on Thursday, June 22, 2017 - 8:04 am
Thank you Tihomir,
I think I incorrectly described what I'm trying to do.

I am not regressing indicator on indicator, but distal outcomes on themselves at an earlier wave.

There is only one LPA, derived from indicators at W1.
----------------------------------------
Here is my Step 2 BCH syntax for regressing the distal outcome upon itself overall:

USEVARIABLES ARE W1Tpsycm W3Tpsycm
BCHW1-BCHW3;
MISSING IS All (999);

Classes = c(3);

Training = BCHW1-BCHW3(bch);

Analysis:
Type = Mixture;
Starts = 0;
Estimator = MLR;

Model:
%Overall%
W3Tpsycm on W1Tpsycm;

%c#1%
[w3Tpsycm] (b1);

%c#2%
[w3Tpsycm] (b2);

%c#3%
[w3Tpsycm] (b3);

Model Constraint:
New (b12 b13 b23);
b12 = b1-b2;
b13 = b1-b3;
b23 = b2-b3;
----------------------------------------
Here's the model section with class specific autoregressive paths:

Model:
%Overall%
W3Tpsycm on W1Tpsycm;

%c#1%
W3Tpsycm on W1Tpsycm;
[w3Tpsycm] (b1);

%c#2%
W3Tpsycm on W1Tpsycm;
[w3Tpsycm] (b2);

%c#3%
W3Tpsycm on W1Tpsycm;
[w3Tpsycm] (b3);
---------------------------
I'm trying to determine which model is more appropriate.
I hope this clarifies my question.
Thank you!!
 Tihomir Asparouhov posted on Thursday, June 22, 2017 - 3:08 pm
I would recommend this

Model:
%Overall%
W3Tpsycm on W1Tpsycm;

%c#1%
W3Tpsycm on W1Tpsycm (c1);
[w3Tpsycm] (b1);

%c#2%
W3Tpsycm on W1Tpsycm (c2);
[w3Tpsycm] (b2);

%c#3%
W3Tpsycm on W1Tpsycm (c3);
[w3Tpsycm] (b3);

Model Constraint:
New (c12 c13 c23);
c12 = c1-c2;
c13 = c1-c3;
c23 = c2-c3;

If any of these new parameters is significant you should use the class specific autoregressive model.
 Tihomir Asparouhov posted on Thursday, June 22, 2017 - 3:11 pm
Jamie

You can use a model like this to get the class specific variance.

Model:
%Overall%
distal; [distal];

%c#1%
distal; [distal];

%c#2%
distal; [distal];
 Sharon Simonton posted on Tuesday, June 27, 2017 - 9:53 am
Hi,

I'm using the BCH method to assess potential differences in distal outcomes across four latent classes per syntax in section 3.2 of Web Note 21. I have a set of covariates (12+) that influence my distal Ys and the latent class variable. I'm using class-specific models for the distal Ys.

I'm wondering if there's a way to get the fitted means for my distal outcomes at the centroid? When I include my model for C on my included covariates, I get the class-specific intercepts/thresholds for my distal outcomes but am unable to label the covariate means that I would then use in Model constraint to get the class-specific centroid means for my distal outcomes. Mplus assumes that I’m trying to bring the covariates into the model and gives me the error message that I need to use ALGORITHM = INTEGRATION (FIML estimation which cannot be used with BCH weights).

Is there another way to work around this so that I can get the necessary model parameters and use Model constraint (or some other procedure?) to compute and test for differences for the centroid means by class for my distal outcomes? Thank you for your assistance!
 Bengt O. Muthen posted on Tuesday, June 27, 2017 - 5:56 pm
You can instead use the actual sample means. That won't give you the exactly right SEs but they will be close.
 Jin Qu posted on Sunday, September 03, 2017 - 7:39 am
I am using the BCH method to include covariates for my latent profile analysis. Can I include more than 1 covariate at one time? for example, the outcome is "ZAGGR", while controlling for "crace" and "educati".

classes = c(4);
auxiliary= ZAGGR crace_D;

analysis: Type=Mixture;
OPTSEED=945065;
savedata: File=manBCH2_AGG.dat; save=bchweights;

PLOT:
type = plot3;
series = sfe_t6 (1)
sf_t6 (2) sfr_t6 (3)
sfERS (4) sfRS (5) sfRRS (6);
 Jin Qu posted on Sunday, September 03, 2017 - 7:41 am
Sorry I forgot to include the variable "educati" in my previous message.

classes = c(4);
auxiliary= ZAGGR crace_D educati;

analysis: Type=Mixture;
OPTSEED=945065;
savedata: File=manBCH2_AGG.dat; save=bchweights;

PLOT:
type = plot3;
series = sfe_t6 (1)
sf_t6 (2) sfr_t6 (3)
sfERS (4) sfRS (5) sfRRS (6);
 Bengt O. Muthen posted on Monday, September 04, 2017 - 4:06 pm
BCH is for a distal outcome, not covariates. If you want both, use the method described in Section 3.2 of our BCH paper.
 RuoShui posted on Wednesday, September 06, 2017 - 5:32 pm
Dear Drs. Muthen,

I am using the manual BCH method to estimate how the latent classes are different on the outcome variable, controlling a range of covariates. From the above postings, I understand that when covariates are included, the intercepts of the outcome were estimated across latent classes. But I am still unsure how to compare the means across classes. In your response to "Sharon" above, you said, that actual sample means can be used. Can you please explain a little more what do you mean by that and how to do this within the BCH manual approach?

Thank you!
 Bengt O. Muthen posted on Thursday, September 07, 2017 - 3:16 pm
Try using TECH4.
 RuoShui posted on Thursday, September 07, 2017 - 4:05 pm
Thank you Dr. Muthen! I did TECH4 and obtained the estimated latent means. I am wondering if there is a way to test the differences of the estimated latent means across the classes?

Thanks again!
 Tihomir Asparouhov posted on Friday, September 08, 2017 - 10:14 am
The model you are describing is focused on the conditional expectation E(Y|C,X) and not E(Y|C). Realize that it is somewhat of a mute question to ask if E(Y|C) is class invariant if E(Y|C,X) is not. It can happen in some strange/particular distribution of the [X|C], however, if
E(Y|C,X) is not class-invariant one generally should conclude that E(Y|C) is not class-invariant. If your question is regarding E[Y|C] you should remove the covariates from the the BCH estimation and get a direct answer to that.

You can also write out in model test E(Y|C) as a function of the mean of X and the regression coefficient (you would need to include in the model the distribution of X) thereby directly test the quantities of tech4.
 Gemma Hammerton posted on Saturday, December 16, 2017 - 9:24 am
Dear Drs Muthen,

I'm using the manual BCH method to assess potential differences in a continuous distal outcome Y across four latent classes. I have a set of covariates that I would like to adjust for by regressing Y on the covariates under the %overall% command. However, I receive an error message stating that the sample variance of one of the covariates is negative in class 1 and that the standard errors of the model parameters cannot be computed. Is there a way to prevent this error message without making this covariate endogenous and fixing its variance to equality across latent classes?

Thank you.
 Bengt O. Muthen posted on Saturday, December 16, 2017 - 2:39 pm
No, except deleting the covariate or the class. I would investigate why and if it makes sense that the covariate doesn't have variance in that class, perhaps using Most Likely Class.
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: