1 / 45

Growth Mixture Modeling

Growth Mixture Modeling. Shaunna L. Clark & Ryne Estabrook Advanced Genetic Epidemiology Statistical Workshop October 24, 2012. Outline . Growth Mixture Model Regime Switching Other Longitudinal Mixture Models OpenMx GMM How to extend GMM to FMM

torie
Download Presentation

Growth Mixture Modeling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Growth Mixture Modeling Shaunna L. Clark & RyneEstabrook Advanced Genetic Epidemiology Statistical Workshop October 24, 2012

  2. Outline • Growth Mixture Model • Regime Switching • Other Longitudinal Mixture Models • OpenMx • GMM • How to extend GMM to FMM • How to get individual class probabilities from OpenMx • Exercise

  3. Homogeneity Vs. Heterogeneity • Previous session showed a growth model where everyone follows the same mean trajectory of use • With some individual variations • Is this an accurate representation of the development of substance abuse\dependence? • Probably Not

  4. Growth Mixture Modeling (GMM) • Muthén & Shedden, 1999; Muthén, 2001 • Setting • A single item measured repeatedly • Example: Number of substances currently using • Hypothesized trajectory classes • Non-users; Early initiate; Late, but consistent use • Individual trajectory variation within class • Aims • Estimate trajectory shapes • Linear, quadratic, etc. • Estimate trajectory class probabilities • Proportion of sample in each trajectory class • Estimate variation within class

  5. Linear Growth Model Diagram σ2Int,Slope σ2Slope σ2Int S I mInt 1 mSlope 2 0 1 3 4 1 1 1 1 1 xT1 xT2 xT3 xT4 xT5 σ2ε1 σ2ε2 σ2ε3 σ2ε4 σ2ε5

  6. Linear GMM Model Diagram C σ2Int,Slope σ2Slope σ2Int S I mInt 1 mSlope 2 0 1 3 4 1 1 1 1 1 xT1 xT2 xT3 xT4 xT5 σ2ε1 σ2ε2 σ2ε3 σ2ε4 σ2ε5

  7. GMM Example Profile Plot

  8. GMM example Profile Plot

  9. Growth Mixture Model Equations xitk = Interceptik + λtk*Slopeik + εitk Interceptik = α0k + ζ0ik Slopeik = α1k + ζ1ik for individual i at time t in class k εitk ~ N(0,σ)

  10. Latent Class Growth Model (LCGA) Vs. GMM C • Nagin, 1999; Nagin & Tremblay, 1999 • Same as GMM except no residual variance on growth factors • No individual variation within class • Everyone has the same trajectory • LCGA is a special case of GMM σ2Int,Slope S I mInt 1 mSlope 2 0 1 3 4 1 1 1 1 1 xT1 xT2 xT4 xT5 xT3

  11. Class Enumeration • Still cannot use LRT χ2 • Information Criteria: AIC (Akaike, 1974), BIC (Schwartz,1978) • Penalize for number of parameters and sample size • Model with lowest value • Interpretation and usefulness • Profile plot • Substantive theory • Predictive validity • Size of classes

  12. Analysis Plan • Determine growth function • Determine number of classes • Examine mean plots, with and without individual trajectories • Determine if growth factor variances need: • To be different from zero (GMM vs. LCGA) • Should be held equal across classes • Add covariates and distal outcomes

  13. Modeling Zero

  14. How do I model Zeros? • Particularly relevant for substance abuse (or other outcome with floor effects) to model non-users • Some outcomes are right skewed so that there are many low values of the dependent variable • However, some outcomes may have more zero’s than expected • Example: Alcohol consumption; Individuals who never drink • These individuals will always respond that consumed zero drinks

  15. When you have more zero’s than expected • In this case, zeros can be thought of coming from two populations • Structural Zeros – zeros always occur in this population • Example: Never drinkers • Others who produce zero with some probability at the time of measurement • Example: Occasional drinkers

  16. One Option • Identify those individuals in the two populations • Structural zeros can then be eliminated • Those who could potentially produce zeros are retained • But it can very difficult to tell the difference between the two • Or the population of interest is the entire population • i.e. both drinkers and non-drinkers • Stem issue

  17. Zero-Class • Consider what you mean by a zero • Only non-users who have not initiated use or those have initiated but only one try? • Fix growth factor mean to zero • Start not using, stay not using • If only fix the means it will not be a pure zero-class • Likely to pick up people that have tried once or twice, but have not moved to regular use • Fix growth factor means and (co)variance to zero • No variance in group • Sometimes can cause computation issues

  18. Regime Switching

  19. Is GMM a good model for substance use development? • Maybe not • Assumes that individuals remain in same trajectory over time • Once a heavy smoker always a heavy smoker, even if you successfully quit for a period • May not hold with many substance use outcomes • Examples: Switching from moderate to heavy drinking, changing from daily smoker to non-smoker

  20. Individual Trajectory Plots • Dolan et al. (2005) presented the regime switching model (RSM) a way to get traction on this issue

  21. Dolan Et Al. Regime Switching Model (RSM) • Regime = latent trajectory class • Ex: habitual moderate drinkers, heavy drinkers • Regime Switch = move from one regime to another • Ex: A switch from moderate to heavy drinking • Used latent markov modeling for normally distributed outcomes (Schmittmann et al., 2005)

  22. RSM with Ordinal Data • Dolan RSM model was designed to be used with normally distributed data • Substance abuse measures are often: • If continuous, not normally distributed • Count • Ex: # of drinking using days per month • Categorical • Ex: Do you use X substance? • As we’ve seen in previous talks, can use the Mehta, Neale and Flay (2004) method when we have ordinal data

  23. Application:Adolescent Drinking • From Dolan et al. paper • Data: National Longitudinal Survey Youth (NLSY97) • Years 1998, 1999, 2000, 2001 • 737 white males and females • Age 13 or 14 in 1998 • Indicated the regularly drank alcohol • Outcome: “In the past 30 days, on days you drank, how much did you drink?” • Made ordinal: 0= 0-2 drinks; 1= 3 drinks; 2= 4-6 drinks, 3= 7+ drinks

  24. Model Simplifications for GMM & RSM Application • Assumed linear model • Really quadratic • No correlation between intercept and slope • Where you start drinking at the beginning of the study does not influence how your drinking develops during the study • Transition probabilities equivalent across time • Probability of drinking between age 12-13 are the same as 20-21

  25. Comparing GMM and RSM

  26. 3-Class GMM Profile Plot

  27. 3-Class RSM Profile Plot

  28. GSM & RSM Combined Profile Plot

  29. RSM Transition Probabilities • Likely to stay in same class • Low class unlikely to switch to other classes • Most likely to switch between moderate and high drinking classes

  30. Other Longitudinal Mixture models • Longitudinal Latent Class Analysis • Models patterns of change over time, rather than functional growth form • Lanza & Collins, 2006; Feldman et al., 2009 11 variables 3 Classes Quadratic

  31. Latent Transition Analysis • Models transition from one state to another over time • Unlike RSM, do not impost growth structure • Ex: Drinking alcohol or not over time • Graham et al., 1991; Nylund et al., 2006 • Script on the OpenMx forum C1 C2 x1 x1 x5 x5 x2 x2 x3 x3 x4 x4 Time 2 Time 1

  32. Other Longitudinal Mixture Models • Survival Mixture • Multiple latent classes of individuals with different survival functions • Ex: Different groups based on age of initiation • Kaplan, 2004; Masyn, 2003; Muthén & Masyn, 2005

  33. OpenMx:GMM Example GMM_example.R 2 Classes Intercept and Slope

  34. Make objects for things we will reference throughout the Script #Number of measurement occasions nocc <- 4 #Number of growth factors (intercept, slope) nfac <- 2 #Number of classes nclass <- 2 #Number of thresholds; 1 minus categories of variable nthresh <- 3 #Function that will help us label our thresholds labFun <- function(name="matrix",nrow=1,ncol=1){matlab <- matrix(paste(rep(name, each=nrow*ncol), rep(rep(1:nrow),ncol), rep(1:ncol,each=nrow),sep="_"))return(matlab)}

  35. Setting up the growth part of the model #Factor Loadings lamda <- mxMatrix("Full", nrow = nocc, ncol= nfac, values = c(rep(1,nocc),0:(nocc-1)),name ="lambda") #Factor Variances phi <-mxMatrix("Diag", nrow = nfac, ncol = nfac, free = TRUE,labels = c("vi", "vs"), name ="phi") #Error terms theta <-mxMatrix("Diag", nrow = nocc, ncol = nocc, free = TRUE,labels = paste("theta",1:nocc,sep = ""), values = 1,name ="theta") #Factor Means alpha <- mxMatrix("Full", nrow= 1, ncol = nfac, free = TRUE, labels = c("mi", "ms"), name ="alpha")

  36. Growth Part Cont’D #Item Thresholds thresh <- mxMatrix(type="Full", nrow=nthresh, ncol=nocc, free=rep(c(F,F,T),nocc), values=rep(c(0,1,1.1),nocc), lbound=.0001,labels=labFun("th",nthresh,nocc),name="thresh") cov <-mxAlgebra(lambda %*% phi %*% t(lambda) + theta, name="cov") mean <-mxAlgebra(alpha %*% t(lambda), name="mean” obj<-mxFIMLObjective("cov", "mean", dimnames=names(ordgsmsData), threshold="thresh",vector=TRUE) lgc <- mxModel("LGC", lamda, phi, theta, alpha, thresh, cov, mean, obj)

  37. Class-Specific Model class1 <- mxModel(lgc, name ="Class1") class1 <- omxSetParameters(class1, labels = c("vi", "vs", "mi", "ms"), values = c(0.01, 0.05, 0.14, 0.32), newlabels = c("vi1", "vs1", "mi1", "ms1")) As in LCA, repeat for all your latent classes. Just make sure to change the class number and starting values accordingly.

  38. Class Proportions #Fixing one probability to 1 classP <- mxMatrix("Full", nrow = nclass, ncol = 1, free = c(TRUE, FALSE), values = 1, lbound = 0.001, labels = c("p1", "p2"), name="Props") # rescale the class proportion matrix into a class probability matrix by dividing by their sum # (done with a kronecker product of the class proportions and 1/sum) classS <- mxAlgebra(Props%x%(1/sum(Props)), name ="classProbs")

  39. Class-Specific Objectives # weighted by the class probabilities sumll<-mxAlgebra(-2*sum(log( classProbs[1,1]%x%Class1.objective + classProbs[2,1]%x%Class2.objective)), name = "sumll") # make an mxAlgebraObjective obj <- mxAlgebraObjective("sumll")

  40. Finish It OFF # put it all in a model gmm <- mxModel("GMM 2 Class", mxData(observed = ordgsmsData, type ="raw”), class1, class2, classP, classS, sumll, obj) # run it gmmFit <- mxRun(gmm, unsafe = TRUE) # run it again using starting values from previous run summary(gmmFit2 <- mxRun(gmmFit))

  41. Difference Between GMM and FMM? C C F I 1 σ2Int σ2F 1 1 1 1 1 1 xT1 xT3 xT2 x2 xT5 x5 x1 x3 xT4 x4 Factor Mixture Model Intercept Only Growth Mixture Model

  42. GMM and FMM • The difference between the two models shown on the previous slide is that the factor loadings are restricted to 1 in the GMM where in the FMM they are freely estimated • Adjust the script by having letting the values of the lambda matrix be freely estimated • To run the FMM on the previous page, • similar to factor analysis, need to fix a parameter so the model is identified • Restrict the mean of two of the factors in two class to set the metric of the factor

  43. FMM & Measurement Invariance • Clark et al. (In Press) • In previous version, the threshold of the items were measurement invariant across classes • Classes were differentiated based on difference in the mean and variances of the factor • Can also have models where there are measurement non-invariant thresholds • Classes arising because of difference in item thresholds • Add thresholds to class-specific statements • Need to restrict the factor mean to zero because can’t identify factor mean and item thresholds

  44. How do we extract Class Probabilities and Calculate Entropy in OpenMX RyneEstabrook

  45. Open Mx Exercise\Homework • Adjust the GMM_example.R script to include: • A quadratic growth function • A third class • Run it • Re-run it • Interpret the output • What are the classes?

More Related