Download presentation
Presentation is loading. Please wait.
Published byGregory Ells Modified over 9 years ago
1
G ROWTH M IXTURE M ODELING Shaunna L. Clark & Ryne Estabrook Advanced Genetic Epidemiology Statistical Workshop October 24, 2012 1
2
O UTLINE 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 2
3
H OMOGENEITY V S. H ETEROGENEITY 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 3
4
G ROWTH M IXTURE M ODELING (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 4
5
L INEAR G ROWTH M ODEL D IAGRAM 5 σ 2 Slope x T1 x T2 x T3 x T4 x T5 1 I S Int Slope σ 2 Int σ 2 Int,Slope 11111 01 2 34 σ 2 ε1 σ 2 ε2 σ 2 ε3 σ 2 ε4 σ 2 ε5
6
L INEAR GMM M ODEL D IAGRAM 6 σ 2 ε1 σ 2 ε2 σ 2 ε3 σ 2 ε4 σ 2 ε5 x T1 x T2 x T3 x T4 x T5 1 I S C Int Slope σ 2 Slope σ 2 Int σ 2 Int,Slope 11111 01 2 34
7
GMM E XAMPLE P ROFILE P LOT 7
8
8
9
G ROWTH M IXTURE M ODEL E QUATIONS 9 x itk = Intercept ik + λ tk *Slope ik + ε itk Intercept ik = α 0k + ζ 0ik Slope ik = α 1k + ζ 1ik for individual i at time t in class k ε itk ~ N(0,σ)
10
L ATENT C LASS G ROWTH M ODEL (LCGA) V S. GMM 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 10 x T1 x T2 x T3 x T4 x T5 1 I S C Int Slope σ 2 Int,Slope 11111 01 2 34
11
C LASS E NUMERATION 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 11
12
A NALYSIS P LAN Determine growth function Determine number of classes Examine mean plots, with and without individual trajectories Determine if growth factor variances need: 1. To be different from zero (GMM vs. LCGA) 2. Should be held equal across classes Add covariates and distal outcomes 12
13
M ODELING Z ERO 13
14
H OW DO I MODEL Z EROS ? 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 14
15
W HEN YOU HAVE MORE ZERO ’ S THAN EXPECTED In this case, zeros can be thought of coming from two populations 1. Structural Zeros – zeros always occur in this population Example: Never drinkers 2. Others who produce zero with some probability at the time of measurement Example: Occasional drinkers 15
16
O NE O PTION 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 16
17
Z ERO -C LASS 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 17
18
R EGIME S WITCHING 18
19
I S 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 19
20
I NDIVIDUAL T RAJECTORY P LOTS Dolan et al. (2005) presented the regime switching model (RSM) a way to get traction on this issue 20
21
D OLAN E T A L. R EGIME S WITCHING M ODEL (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) 21
22
RSM WITH O RDINAL D ATA 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 22
23
A PPLICATION : A DOLESCENT D RINKING 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 23
24
M ODEL S IMPLIFICATIONS FOR GMM & RSM A PPLICATION 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 24
25
C OMPARING GMM AND RSM 25 Model-2*LLnpAICBICsaBIC 3-Class GMM -507718995-4199-958 3-Class RSM -458926990-4183-955
26
3-C LASS GMM P ROFILE P LOT 26
27
3-C LASS RSM P ROFILE P LOT 27
28
GSM & RSM C OMBINED P ROFILE P LOT 28
29
RSM T RANSITION P ROBABILITIES Likely to stay in same class Low class unlikely to switch to other classes Most likely to switch between moderate and high drinking classes 29 ClassLowModerateHeavy Low0.740.010.04 Moderate0.170.670.22 Heavy0.090.320.74
30
O THER L ONGITUDINAL M IXTURE MODELS Longitudinal Latent Class Analysis Models patterns of change over time, rather than functional growth form Lanza & Collins, 2006; Feldman et al., 2009 30 LCALCGA Binary item3511 3 category item6812 11 variables 3 Classes Quadratic
31
L ATENT T RANSITION A NALYSIS 31 x1x1 x2x2 x3x3 x4x4 x5x5 C1C1 x1x1 x2x2 x3x3 x4x4 x5x5 C2C2 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 Time 1 Time 2
32
O THER L ONGITUDINAL M IXTURE M ODELS 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 32
33
O PEN M X : GMM E XAMPLE GMM_example.R 2 Classes Intercept and Slope 33
34
M AKE OBJECTS FOR THINGS WE WILL REFERENCE THROUGHOUT THE S CRIPT #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)} 34
35
S ETTING UP THE GROWTH PART OF THE MODEL #Factor Loadings lamda <- mxMatrix("Full", nrow = nocc, nco l= 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") 35
36
G ROWTH P ART C ONT ’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) 36
37
C LASS -S PECIFIC M ODEL 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. 37
38
C LASS P ROPORTIONS #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") 38
39
C LASS -S PECIFIC O BJECTIVES # 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") 39
40
F INISH I T 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)) 40
41
D IFFERENCE B ETWEEN GMM AND FMM? 41 σ 2 In t x T1 x T2 x T3 x T4 x T5 1 I C 11111 x1x1 x2x2 x3x3 x4x4 x5x5 C F σ2Fσ2F Factor Mixture ModelIntercept Only Growth Mixture Model 1
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 42
43
FMM & M EASUREMENT I NVARIANCE 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 43
44
H OW DO WE EXTRACT C LASS P ROBABILITIES AND C ALCULATE E NTROPY IN O PEN MX Ryne Estabrook 44
45
O PEN M X E XERCISE \H OMEWORK 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? 45
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.