井出草平の研究ノート

Mplusにおける潜在クラス分析で各ケースのクラス所属確率を出力する

Mplusで潜在クラスは分析できたが、その後どうするかという問題がある。
例えば、計算した潜在クラスを他のモデルの独立変数や従属変数に使用したいといった場合だ。

最近は、同時推定(共変量を伴った潜在クラス分析やDistal Outcomesを伴った潜在クラス分析やその拡張モデル)を使用するので、ここで示しているのは簡易法である。主成分分析の結果を別の分析に使用するのも同じような戦略である。

話がそれたので潜在クラス分析に戻ろう。
例はUCLAのidreから。

LATENT CLASS ANALYSIS | MPLUS DATA ANALYSIS EXAMPLES
https://stats.idre.ucla.edu/mplus/dae/latent-class-analysis/

データはこちら→ https://stats.idre.ucla.edu/wp-content/uploads/2016/02/lca1.dat

TITLE:     Fictitous Latent Class Analysis.
DATA:      File = https://stats.idre.ucla.edu/wp-content/uploads/2016/02/lca1.dat;
VARIAVBLE: NAMES = id item1 item2 item3 item4 item5 item6 item7 item8 item9;
           USEVARIABLES = item1 item2 item3 item4 item5 item6 item7 item8 item9;
           CATEGOLICAL  = item1 item2 item3 item4 item5 item6 item7 item8 item9;
           CLASSES = c(3);
ANALYSIS:  TYPE=mixture;
PLOT:      type = plot3;
           series = item1 (1) item2 (2) item3 (3) item4 (4) item5 (5) 
                    item6 (6) item7 (7) item8 (8) item9 (9);
SAVEDATA:  file = lca1_save.txt ;
           save = cprob;
           format = free;
OUTPUT:    tech11 tech14;

DATA
File:ローカルの場所を指定することが多いが、ウェブ上のものも参照できるようだ。

Variable
name:
変数の名前をつける。データとして指定されているdatファイルには変数名がついていない。Mplusでは行頭に変数名を入れれず、変数名はスクリプト内で指定する。

usevariables:
分析に使用する変数を指定する。

categorical:
カテゴリカル変数を指定(この指定がない場合は潜在プロフィル分析となる)。

classes = c(3): クラス数の指定

Analysis
混合モデルを指定。
他の値はデフォルト値で設定されている。
デフォルトは少ないので最終の結果等では指定した方がよい。

例:カッコ内説明
STARTS = 200 10(ランダム初期値。デフォルトは10 2)
STITERATION = 50(初期最適化の反復回数。デフォルトは10)

Plot
各項目への条件付き応答確率をプロットで出力する。
type = plot3;を指定する。
seriesオプションを設定し、変数名(プロットの順番)[item1 (1)]と書き、プロットに必要な変数すはすべて指定する。


以下のようなプロットが出力でき、クラスの解釈に有用である。


このプロットは自動的に出力されない。

メニューから[GRAPH]->[View Graphs]->[Estimated probabilities]と選択すると出てくる。

SAVEDATA
各個人の各クラスへの所属確率の推定値と所属クラス番号をファイルを出力できる。主成分分析をした時にデータが出力されるのと同じようなものである。

file:
出力するファイル名(場所とファイル名を両方指定する。"C:\Mplus\output.txt"というような感じである。)
save:
cprobとはprobilityesのこと。cはおそらくclassの略なので、クラス確率(Class Probility)ということだろう。cprobは潜在クラス分析でのみ使うコマンドである。

.txt(テキスト形式)や.sav(SPSS形式)、.dat形式やcsv形式で出力できる。ただ、出力されるファイル内容は同じなので一工夫必要である。SPSSは多形式取り込みの手順が必要である。csv形式のファイルをSPSSに取り込むという手順と同じだ。
他の形式はエディタで加工する。スペースが半角スペースが5つデータ間に挟まった形で出力されるので、半角スペース5つをカンマに置換するとよい。"_____"→","
このように処理した上で、拡張子をcsvに変更するとExcelなどで開けるようになる。


変数名を加えた出力はファイルはこちら
ここで出力されたデータを他の分析に使用することができる。

Output
参照 http://d.hatena.ne.jp/iDES/20170601/1496265443