記得之前有寫過如何用R做隨機截距交叉滯后,有些粉絲完全是R小白,還是希望我用mplus做,今天就給大家寫寫如何用mplus做隨機截距交叉滯后。
做之前我們需要知道一些Mplus的默認的設定:
- observed and latent exogenous variables are correlated, and
- residuals of observed and latent outcome variables (which do not predict anything) in a path model are correlated.
這些設定可以幫助我們更容易地設定結構方程模型,但是在做隨機截距交叉滯后模型的時候我們需要變化一下,此時需要在語法中加上ANALYSIS: MODEL = NOCOV;
用mplus做隨機截距交叉滯后需要規定4個部分:
- 因素間部分,就是隨機截距,用BY來設置,寫出RIx BY x1@1 x2@1 ...這樣的形式,其中@1表示固定為1的意思,這個是做隨機效應交叉滯后的默認操作
- 因素內部分的內在波動,也是用BY來設定,寫出wx1 BY x1; wx2 BY x2; ....這樣的形式,同時需要將誤差方差固定為0
- 交叉滯后部分,寫出wx2 ON wx1 wy1; wx3 ON wx2 wy2; ....這樣的形式
- 內外共變部分,因素內寫出wx1 WITH wy1; wx2 WITH wy2;....這樣的形式;因素外寫出RIx WITH RIy的形式。
所以一個基本的隨機截距交叉滯后的代碼就是如下:
MODEL: ! 隨機截距 RIx BY x1@1 x2@1 x3@1 x4@1 x5@1; RIy BY y1@1 y2@1 y3@1 y4@1 y5@1; ! 因素內 wx1 BY x1@1; wx2 BY x2@1; wx3 BY x3@1; wx4 BY x4@1; wx5 BY x5@1; wy1 BY y1@1; wy2 BY y2@1; wy3 BY y3@1; wy4 BY y4@1; wy5 BY y5@1; ! 誤差方差為0 x1-y5@0; ! 交叉滯后 wx2 wy2 ON wx1 wy1; wx3 wy3 ON wx2 wy2; wx4 wy4 ON wx3 wy3; wx5 wy5 ON wx4 wy4; ! 隨機截距相關 RIx WITH RIy; !組內相關 wx1 WITH wy1; wx2 WITH wy2; wx3 WITH wy3; wx4 WITH wy4; wx5 WITH wy5;
加協變量
一般情況下我們在重復測量之前都會收集一般人口學特征等等協變量,在做分析的時候我們也會有控制協變量的需求,此處我們是有兩個選擇,一個是把協變量在顯變量水平(左圖),另外一個是將協變量控制在隨機截距水平(右圖):

控制在顯變量水平的意思就是說我這些變量對模型的作用都是對每一波測量都有的,在協變量不變的情況下來從整體上擬合我們的模型,比如我現在有一個協變量Z我就可以寫出代碼如下:
MODEL: ! 隨機截距 RIx BY x1@1 x2@1 x3@1 x4@1 x5@1; RIy BY y1@1 y2@1 y3@1 y4@1 y5@1; RIx WITH RIy; wx1 BY x1@1; wx2 BY x2@1; wx3 BY x3@1; wx4 BY x4@1; wx5 BY x5@1; wy1 BY y1@1; wy2 BY y2@1; wy3 BY y3@1; wy4 BY y4@1; wy5 BY y5@1; x1-y5@0; ! 協變量添加 x1-x5 ON z1 (s1); y1-y5 ON z1 (s2); wx2 wy2 ON wx1 wy1; wx3 wy3 ON wx2 wy2; wx4 wy4 ON wx3 wy3; wx5 wy5 ON wx4 wy4; wx1 WITH wy1; wx2 WITH wy2; wx3 WITH wy3; wx4 WITH wy4; wx5 WITH wy5;
控制在放在隨機截距的意思就是說這個顯變量是影響了個體差異進而影響整個模型,這個是在探究between-difference的影響的時候用的,此時我們的代碼如下:
MODEL: RIx BY x1@1 x2@1 x3@1 x4@1 x5@1; RIy BY y1@1 y2@1 y3@1 y4@1 y5@1; RIx WITH RIy; wx1 BY x1@1; wx2 BY x2@1; wx3 BY x3@1; wx4 BY x4@1; wx5 BY x5@1; wy1 BY y1@1; wy2 BY y2@1; wy3 BY y3@1; wy4 BY y4@1; wy5 BY y5@1; x1-y5@0; ! 協變量添加語法 RIx RIy ON z1; wx2 wy2 ON wx1 wy1; wx3 wy3 ON wx2 wy2; wx4 wy4 ON wx3 wy3; wx5 wy5 ON wx4 wy4; wx1 WITH wy1; wx2 WITH wy2; wx3 WITH wy3; wx4 WITH wy4; wx5 WITH wy5;
運行上面的代碼我們的帶協變量的隨機截距交叉滯后就出來了,然后我們點擊view diagram還可以看自動生成的路徑圖

自己生成的就是亂糟糟一團,然后點擊圖中的各個節點都是可以調整的,下圖是給一個同學做的多個顯變量的隨機截距交叉滯后模型,模型中控制了兩個協變量sex和degree,然后下圖就是mplus自動生成的模型圖,調整調整還是能看的,這個模型是將協變量控制在顯變量水平的:

多組比較建模
多組比較的意思就是看看路徑系數或者載荷,在某個變量的組間是不是一樣,內在原理是將模型分組擬合,然后比較固定兩組路徑相等的模型擬合優度和兩組自由估計的優度之間的差異,如果路徑相等的模型並沒有顯著差於自由估計的模型就可以認為組間無差異,常見的應用就是在量表的跨文化調試中,比如你想看看英文和中文的量表有沒有差異,你就可以嘗試進行多組比較建模:
Multigroup models test separate models in two or more discrete groups. Equality constraints across groups are used to conduct nested tests using likelihood ratio comparisons between a model with certain parameters constrained to be equal and a model with those same parameters freely estimated (allowed to differ) across the groups. For example, one can investigate whether means, predictive paths, or loadings differ across two nationalities.
做多組比較的時候,我們也需要修改一些mplus的默認設定,在默認設定中,顯變量的截距在組間是等價的;潛變量的均值是自由估計的,我們在做多組比較模型的時候需要估計的參數其實變多了,所以我們需要將顯變量的截距自由估計和將潛變量的均值固定從而釋放更多的自由度。
如果我們要依照某個變量比如說group這個變量進行多組比較,我就可以在variable參數中加上grouping,寫出代碼如下,如果我們想直接比較某兩個參數,我們可以用model test語法,然后結果中就會輸出系數的組間檢驗,比如下面的代碼就是在比較兩組間隨機截距的相關是不是一樣:
VARIABLE: NAMES = x1-x5 y1-y5 GROUP; GROUPING = GROUP (1=G1 2=G2); MODEL: ! 隨機截距部分 RIx BY x1@1 x2@1 x3@1 x4@1 x5@1; RIy BY y1@1 y2@1 y3@1 y4@1 y5@1; ! 測量誤差 wx1 BY x1@1; wx2 BY x2@1; wx3 BY x3@1; wx4 BY x4@1; wx5 BY x5@1; wy1 BY y1@1; wy2 BY y2@1; wy3 BY y3@1; wy4 BY y4@1; wy5 BY y5@1; x1-y5@0; ! 交叉滯后系數 wx2 wy2 ON wx1 wy1; wx3 wy3 ON wx2 wy2; wx4 wy4 ON wx3 wy3; wx5 wy5 ON wx4 wy4; ! 隨機截距共變 RIx WITH RIy(a); ! 同一波次的相關 wx1 WITH wy1; wx2 WITH wy2; wx3 WITH wy3; wx4 WITH wy4; wx5 WITH wy5; MODEL G2: RIx WITH RIy(b); model test: a = b;
上面的代碼的意思就是在運行上面的代碼就可以出多組比較的結果了:
結果中會有系數比較的結果,說明兩組間我們的系數(隨機截距的相關)是有顯著差異的:


以上就是今天給大家分享的在隨機截距交叉滯后中控制協變量以及如何做組間系數比較,希望對大家有所啟發。
上面的所有操作都是可以在R語言中進行的,不過有做這個模型需求的大多數同學還是用mplus多,所以出了一期mplus,希望可以幫助到大家。之后會給大家寫R的操作。
小結
今天給大家寫了隨機截距交叉滯后的mplus做法,包括如何添加協變量,以及如何進行多組比較,希望對大家有啟發,感謝大家耐心看完,自己的文章都寫的很細,代碼都在原文中,希望大家都可以自己做一做,請轉發本文到朋友圈后私信回復“數據鏈接”獲取所有數據和本人收集的學習資料。如果對您有用請先收藏,再點贊分享。
也歡迎大家的意見和建議,大家想了解什么統計方法都可以在文章下留言,說不定我看見了就會給你寫教程哦,另歡迎私信。