混合模型,增長混合模型這些問題諮詢的同學還是比較多的,今天再次嘗試寫寫它們的區別,希望對大家進一步理解兩種做軌跡的方法有幫助。
首先,無論是LCGA還是GMM,它們都是潛增長模型的框框裡面的東西:
Latent growth modeling approaches, such as latent class growth analysis (LCGA) and growth mixture modeling (GMM), have been increasingly recognized for their usefulness for identifying homogeneous subpopulations within the larger heterogeneous population and for the identification of meaningful groups or classes of individuals
我們一開始做增長模型或者增長曲線模型的時候,初始的目的就是看軌跡,最簡單的想法就是看看我的研究人群的某個變數的軌跡隨著時間是如何發展的,這是目的1--------不考慮異質性,認為所有的人都有同樣的軌跡,協變數對所有人的作用都是一樣的。
然後更進一步,人們發現,其實人群中就算是同一個變數(特質)是存在著不同的軌跡的,如果我們單單認為一個軌跡能說明問題,其實是將問題過分地簡單化了,是不對的-------這個時候考慮軌跡的潛類別和才是更加好的方法------考慮軌跡的潛類別就涉及到兩個方法了一個就是GMM另一個就是LCGA。
增長混合模型GMM
下圖左邊是全體個案的增長軌跡,傳統的增長模型試圖去描述整個群體的增長情況,認為所有個體的增長情況都可以用一個總的平均增長趨勢去描述(左圖中的實線)。但是我們看整個人群中的其中一個亞組人群(右圖),其實這個亞組的增長趨勢是和人群總體大不相同的,人群的總體趨勢是在上升,此亞組則是在下降,這也是從一個側面說明考慮軌跡的潛類別的重要意義,我就是希望通過這麼一套方法識別出整體軌跡發展的異質性,實現分類和干預的精準化:
其實下面的左圖可以理解為多水平模型(隨機截距+隨機斜率),中間的實線就是擬合出來的時間的固定效應:
The conventional growth model can be described as a multilevel, randomeffects model (Raudenbush & Bryk, 2002). According to this framework, intercept and slope vary across individuals and this heterogeneity is captured by random effects
而GMM是在幹什麼呢?
GMM, on the other hand, relaxes this assumption and allows for differences in growth parameters across unobserved subpopulations.
GMM認為軌跡,也就是變數隨著時間變化的情況是存在亞組的,而且這些亞組的斜率和截距其實不一樣了,這些亞組怎麼來呢,是用潛變數表示的,就是潛軌跡類別,叫做latent trajectory classes:
This is accomplished using latent trajectory classes (i.e., categorical latent variables), which allow for different groups of individual growth trajectories to vary around different means (with the same or different forms)
就是你這樣理解:多水平模型和潛類別分析一結合就有了增長混合模型(這句話我似乎之前在文章中寫過,感興趣的同學再去翻翻之前的文章):就是將多水平模型的隨機斜率弄出來潛類別。
每個潛軌跡類別都可以有其自己的軌跡引數,然後相應軌跡類別的人群在相應軌跡的斜率均值上下隨機擾動,形成增長混合模型。
潛類別增長模型LCGA
剛剛寫了增長混合模型,大家注意標紅的文字,增長混合模型是允許個體圍繞亞組軌跡均值擾動的,這個是混合的意思,而LCGA也是一種GMM的特殊情況:
Latent class growth analysis (LCGA) is a special type of GMM, whereby the variance and covariance estimates for the growth factors within each class are assumed to be fixed to zero
就是如果我認為軌跡有亞組,但是亞組的軌跡引數沒有變異,那麼此時就是潛類別增長模型,其與增長混合模型的區別就在於增長混合模型考慮了軌跡引數的隨機效應而潛類別增長模型沒有。就是在LCGA的每個亞組中,所有個體都應該是同質的。
mplus實操
在mplus中做LCGA和GMM都很簡單,剛剛寫了LCGA其實是GMM的特例,所以程式碼中都會有很多相似之處。
比如我現在有一個4次隨訪的資料,t1是基線,我現在想做一個LCGA,我就可以寫出如下程式碼:
Model: i s |t1@0 t2@1 t3@2 t4@3;
如果考慮曲線增長我可以寫出如下程式碼:
i s q|t1@0 t2@1 t3@2 t4@3;
上面的程式碼都是預設隨著時間變化,時間的loading是0,1,2,3,當然這些你也可以選擇自由估計,只需要去掉@就可以了。
我們做LCGA後得到的軌跡是這樣的:
上面的程式碼想要改成增長混合模型只需要將i-s@0去掉,然後加上%c#1%命令就可以了,如下:
In this example, the syntax i-s@0 fixes all within-class variances to zero, consistent with the LCGA approach. Removing this line will set the variances of I and S as equal across all classes and estimate the variances of the growth parameters
意思就是首先,你告訴mplus,不需要將亞組內的截距和斜率都固定為0,然後告訴它,每個亞組的I和S都可以自由估計,也就是說我們在擬合GMM模型,這個模型花費的時間相應地會比LCGA長一點。
同樣的資料,同樣的潛類別軌跡數量我們再跑一遍GMM得到的軌跡圖形是這樣的:
可以看到GMM和LCGA擬合的結果其實還是有差異的。
當模型擬合完成後我們可以通過mplus的圖形選單得到每一個軌跡類別的估計均值變化情況,以及該軌跡類別下個體的增長情況,具體選單為:Graph → View Graphs → Estimated Means and Observed Individual Values:
當然了,在做LCGA模型和GMM模型的時候也是可以加協變數的。就是看在某些協變數存在的條件下某個變數的軌跡是如何變化的,叫做conditional latent class model with covariates。可以通過下面的程式碼實現:
所以從這個意義上講很多中文論文中做的:先做軌跡再探討軌跡的影響因素,這類的文章從邏輯上是站不住腳的。更好的研究設計應該是先探討軌跡再將軌跡作為自變數去進行後續的研究。
另外再寫寫如何判斷最優的軌跡類別數量,反正大家記住,所有的擬合優度指標都是為你的研究問題服務的,它們只起指導作用並不能最終決定到底多少個軌跡類別,決定軌跡類別數量一定是你的理論合理性,模型的可解釋性,簡潔性
Keeping this in mind, fit indices and tests of model fit should not be the final word in deciding on the number of classes.
並且很多時候各種擬合優度指標會出現矛盾的情況,這個時候要優先看BLRT檢驗和BIC。
小結
今天給大家又理了理LCGA和GMM的東西,希望對大家進一步理解兩種做軌跡的方法有幫助。感謝大家耐心看完,自己的文章都寫的很細,重要程式碼都在原文中,希望大家都可以自己做一做,請轉發本文到朋友圈後私信回覆“資料連結”獲取所有資料和本人收集的學習資料。如果對您有用請先記得收藏,再點贊分享。