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)