井出草平の研究ノート

潜在クラス分析のDistal Outcomesの補助設定ごとの結果の比較[Mplus]

Distal Outcomesが連続変数の場合、DU3STEP法、DE3STEP法、BCH法、DCON法、PC法などがある。詳しくはここなどを参照してもらいたいが、BCH法をとることが現在のところ推奨されている。

そんなわけで、それぞれの方法での推定結果の違いをみてみたい。ちなみにデータは適当につくった仮想データである。

コード

BCH法のコードを示す。DU3STEPであればBCHのところをDU3STEPに変えるだけである。

Title: BCH
Data: file = a1.dat;
Variable: Names = U1-U8 Y;
Categorical = U1-U8;
Classes = C(4);
Auxiliary = Y(BCH);
Analysis:  Type = Mixture;

クラス構成割合

クラス構成割合はなかった。

推定結果

BCH DU3STEP DE3STEP DCON PC(E)
Mean S.E. Mean S.E. Mean S.E. Mean a.S.E. Mean S.E.
Class 1 47.306 0.732 47.300 0.730 47.300 0.730 47.589 0.579 47.704 0.608
Class 2 50.883 2.811 50.920 2.727 50.920 2.727 49.082 1.419 48.171 1.856
Class 3 48.090 3.820 48.104 3.856 48.104 3.856 47.978 2.405 47.735 2.873
Class 4 40.813 8.660 40.780 7.487 40.780 7.487 40.668 4.361 43.876 5.523

感想

実データで、もう少し複雑なモデルでテストしてみないと価値のある結果は出ない、ということである。
また、やってみようと思う。

仮想データ

Rで作成した。

サンプルデータの作成

set.seed(1234)
U1 <- sample(0:1, 1000, replace=T,prob=c(0.4,0.6))
U2 <- sample(0:1, 1000, replace=T,prob=c(0.2,0.8))
U3 <- sample(0:1, 1000, replace=T,prob=c(0.5,0.5))
U4 <- sample(0:1, 1000, replace=T,prob=c(0.6,0.4))
U5 <- sample(0:1, 1000, replace=T,prob=c(0.3,0.7))
U6 <- sample(0:1, 1000, replace=T,prob=c(0.9,0.1))
U7 <- sample(0:1, 1000, replace=T,prob=c(0.5,0.5))
U8 <- sample(0:1, 1000, replace=T,prob=c(0.6,0.4))
Y <- sample(20:75, 1000, replace=T)
d0<- cbind(U1,U2,U3,U4,U5,U6,U7,U8,x)
df <- as.data.frame(d0)

Mplusへの書き出し1

library(MplusAutomation)
variable.names(df) # 変数名を書き出し

Mplusへの書き出し2

prepareMplusData(df, filename="a1.dat", 
                keepCols=c("U1","U2","U3", "U4", "U5", "U6", "U7", "U8","x"),
                overwrite=T)