Compute Posterior Probabilities, Cluster Assignments, and Model Entropy for a Longitudinal Mixture Model
Compute Posterior Probabilities, Cluster Assignments, and Model Entropy for a Longitudinal Mixture Model
This function computes posterior probabilities, cluster assignments, and model entropy for a given mixture model with a predefined number of classes. If the true labels are available, it can also compute the model accuracy.
model: A fitted mxModel object. Specifically, this should be the mxOutput slot from the output of getMIX().
nClass: An integer representing the predefined number of latent classes in the model.
label: A logical value indicating whether the data contains true labels, which are often available in a simulated data set. Default is FALSE.
cluster_TIC: A string or character vector representing the column name(s) for time-invariant covariate(s) indicating cluster formations. Default is NULL, indicating that no such time-invariant covariates are present in the model.
Returns
An object of class postOutput. Depending on the label argument, the object may contain the following slots:
prob: A matrix of posterior probabilities.
membership: A vector indicating class membership based on maximum posterior probability.
entropy: The entropy of the model, a measure of uncertainty in class assignment.
accuracy (optional): If label = TRUE, the model's accuracy based on true labels.
The content of these slots can be printed using the printTable() method for S4 objects.
Examples
mxOption(model =NULL, key ="Default optimizer","CSOLNP", reset =FALSE)data("RMS_dat")# Re-baseline the data so that the estimated initial status is for the starting point of the studyRMS_dat0 <- RMS_dat
baseT <- RMS_dat0$T1
RMS_dat0$T1 <- RMS_dat0$T1 - baseT
RMS_dat0$T2 <- RMS_dat0$T2 - baseT
RMS_dat0$T3 <- RMS_dat0$T3 - baseT
RMS_dat0$T4 <- RMS_dat0$T4 - baseT
RMS_dat0$T5 <- RMS_dat0$T5 - baseT
RMS_dat0$T6 <- RMS_dat0$T6 - baseT
RMS_dat0$T7 <- RMS_dat0$T7 - baseT
RMS_dat0$T8 <- RMS_dat0$T8 - baseT
RMS_dat0$T9 <- RMS_dat0$T9 - baseT
RMS_dat0$ex1 <- scale(RMS_dat0$Approach_to_Learning)RMS_dat0$ex2 <- scale(RMS_dat0$Attention_focus)RMS_dat0$gx1 <- scale(RMS_dat0$INCOME)RMS_dat0$gx2 <- scale(RMS_dat0$EDU)# Fit longitudinal mixture group model of bilinear spline functional form with fixed knot but no# cluster TICs or growth TICsset.seed(20191029)MIX_BLS_LGCM_r <- getMIX( dat = RMS_dat0, prop_starts = c(0.33,0.34,0.33), sub_Model ="LGCM", cluster_TIC =NULL, y_var ="M", t_var ="T", records =1:9, curveFun ="BLS", intrinsic =FALSE, res_scale = list(0.3,0.3,0.3), growth_TIC =NULL, tries =10)label1 <- getPosterior( model = MIX_BLS_LGCM_r@mxOutput, nClass =3, label =FALSE, cluster_TIC =NULL)# Fit longitudinal mixture group model of bilinear spline functional form with fixed knot, cluster# TICs, and growth TICsset.seed(20191029)MIX_BLS_LGCM.TIC_r <- getMIX( dat = RMS_dat0, prop_starts = c(0.33,0.34,0.33), sub_Model ="LGCM", cluster_TIC = c("gx1","gx2"), y_var ="M", t_var ="T", records =1:9, curveFun ="BLS", intrinsic =FALSE, res_scale = list(0.3,0.3,0.3), growth_TIC = c("ex1","ex2"), tries =10)label2 <- getPosterior( model = MIX_BLS_LGCM.TIC_r@mxOutput, nClass =3, label =FALSE, cluster_TIC = c("gx1","gx2"))
References
Peugh, J., & Fan, X. (2015). Enumeration Index Performance in Generalized Growth Mixture Models: A Monte Carlo Test of Muthén's (2003) Hypothesis. Structural Equation Modeling: A Multidisciplinary Journal, 22(1), 115-131. Routledge. tools:::Rd_expr_doi("10.1080/10705511.2014.919823")
Lubke, G., & Muthén, B.O. (2007). Performance of Factor Mixture Models as a Function of Model Size, Covariate Effects, and Class-Specific Parameters. Structural Equation Modeling: A Multidisciplinary Journal, 14(1), 26-47. Routledge. tools:::Rd_expr_doi("10.1080/10705510709336735")