井出草平の研究ノート

うつ病の自記式尺度について潜在クラス分析を行った論文

今回取り上げるのは下記の論文。

Ulbricht CM, Rothschild AJ, Lapane KL. The association between latent depression subtypes and remission after treatment with citalopram: A latent class analysis with distal outcome. J Affect Disord. 2015 Dec 1;188:270-7. doi: 10.1016/j.jad.2015.08.039. Epub 2015 Sep 1. https://www.ncbi.nlm.nih.gov/pubmed/26384013

論文の概要

潜在クラスを使用した論文。 元データはSTAR*Dであり、潜在クラス分析を行っているのはうつ病の自記式尺度であるQIDS-SRである。STAR*Dが実施されたのは10年くらい前のことだが、新しい分析手法であれば、データがやや古くても論文になるようだ。

この論文から読み取れる潜在クラス分析の特徴

精神医学の論文と潜在クラス分析は相性が良い

社会学もそうだが精神医学でもカテゴリカル変数をよく使用する。例えば「うつ/うつではない」といったような「診断」は2値データである。また精神障害の構造化面接(SCID)は、項目の基準を満たしたかどうかで判断する。DSMでは大うつ病では9項目の症状のうち6項目を満たすと診断される。それぞれの症状の項目は2値である。

潜在変数を求める技法として因子分析が伝統的に使われてきたが、カテゴリカル変数は扱えない。カテゴリカル変数をよく使う分野では潜在クラス分析が非常に強力なツールになりうるのだ。

質問項目が決まると再現性が高い

潜在クラス分析の欠点はいくつかあるが、その一つは計測する質問文やその構成によってクラスの分類が大きく変わる可能性があるということである。そういった点から考えると、この論文ではQIDSを使用しており、質問文は固定されている。質問項目が固定していれば再現可能性も高まるはずである。

分析方法

潜在クラス分析の結果

4つのクラスを導き出している。
1. 軽症
2. 中等度
3. 重症+過食
4. 重症+不眠

ただ、BICで判断すると5クラスモデルが支持されたとのことである。ただ男性が9%、女性が11%だったので4クラスモデルを選択したとのことである。BLRT(Bootstrap Likelihood Ratio Test)を行ったとは書かれていない。日本の文献を読むとBLRTを重視する人が多いように感じるが、クラス数の決定はもう少し自由に決定した方がよいのではないだろうか。

BLRTの検定でモデル改善がなかなか示されず、クラスが8つも9つにもなって解釈ができないというのでは、技法の持ち腐れである。理論的な根拠からモデル数を決定するというやり方が許容してもよいのではないだろうか。

共変量を伴った潜在クラス分析

f:id:iDES:20170626133500p:plain

Table3は他の精神障害と潜在クラスの関係を探ったものである。技法的には多項ロジスティック回帰分析と同じである。参照カテゴリは軽症(Mild)である。

中等度

男性 45歳以上-、PTSD- 、社交恐怖+
女性 45歳以上-、白人-、社交恐怖+

重症+過食

男性 過食症+、社交恐怖+
女性 過食症+、社交恐怖+

上昇+不眠

男性 45歳以上-、全般性不安障害+、PTSD
女性 白人-、全般性不安障害+、PTSD+、社交恐怖+

インプリケーションとしては重症度によって併存症が変化するというところだろうか。特に、重症の方不安障害の併存が高いのが重要そうである。

distal outcomesを伴った潜在クラス分析

タイトルにもふくまれている"distal outcomes"という言葉。これは、潜在変数を独立変数として顕在変数(観測変数)を従属変数とした分析方法の際に使う用語である。従属変数がdistal outcomesに相当する。このブログではまだ分析方法を紹介していないが、潜在変数を独立変数にして解析をするのは割と難しいのである。

従属変数はcitalopramによる寛解である。日本ではレクサプロ(escitalopram)として発売されている薬の光学異性体である(レクサプロはS(L)体のみ)。STAR*Dでは第1段階目に投薬する薬として使用されている。

distal outcomeを伴った潜在クラス分析にもいくつか方法があるがUlbricht et al.(2015)が使用しているのはLanza et al.(2013)である。僕はよく理解できていないが、ベイズ推定を用いてdistal outcomesの分布を導く方法らしい。

Stephanie T. Lanza, Xianming Tan and Bethany C. Bray, Latent Class Analysis With Distal Outcomes: A Flexible Model-Based Approach Struct Equ Modeling. 2013 Jan; 20(1): 1–26. Published online 2013 Jan 29. doi: 10.1080/10705511.2013.742377 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4240499/

統計パッケージはLanzaらが作っているSASのマクロPROC LCAにDziakらのdisrtal outcomeマクロを利用して計算したのではないかと思われる。

PLOC LCAマクロ
https://methodology.psu.edu/downloads/proclcalta  

LCA Distal Macro
https://methodology.psu.edu/downloads/distal

f:id:iDES:20170626133550p:plain

QIDSによって4つに分けられたクラスの軽症を参照カテゴリにして、残り3つのクラスの投薬による寛解(HRSD≦7)のオッズ比が示されている。 男性では「過食を伴った重症」で効果が弱く、女性では「過食を伴った重症」「不眠を伴った重症」で効果が薄かった。男性の「不眠を伴った重症」も95%信頼区間の端が引っかかっている程度なので、軽症と重症の寛解率は異なるということであろう。軽症の方が抗うつ薬によって寛解に至りやすい。 また、中等度のうつとの差は出なかった。

インプリケーションとしては、次の2点であろうか。

  1. 軽症に比べ、重症は投薬治療で寛解しにくい
  2. 中等度と軽症は投薬治療の効果(寛解率)に差異はない

うつ病の軽症に対しての投薬の効果に関しては論争的であるので、わりと興味深い結果ではある。

Rで回帰分析のモデルを並べる方法

回帰分析のモデル比較をする表をExcelで作らずRでキレイに整形できるという話を聞いたので少し調べてみた。Rのstargazerパッケージ、texregパッケージできれいに整形できるらしい。いずれも、TeX、HTML、テキストの3種類に出力できる能力がある。

下準備として回帰分析の結果を作る。AERパッケージに入っているCPS1985というデータを使う。

library(AER) #パッケージの呼び出し
head(CPS1985) #CPS1985データの行頭のみ表示
?CPS1985 #データについて説明の表示

このデータを使い4つの回帰分析を作り、それぞれlm0~lm3に格納する。

lm0 <- lm(wage ~ age, data=CPS1985) #年齢が賃金を決めるモデル
lm1 <- update(lm0, ~. + gender) # 性別をモデルに加える
lm2 <- update(lm1, ~. + education) # 学歴をモデルに加える
lm3 <- update(lm2, ~. + experience) # 仕事の経験年数をモデルに加える

memiscパッケージ

テキストでまとめる方法。 memiscパッケージの mtable( ) 関数を使う。

library(memisc)
mtable(lm0, lm1, lm2, lm3)
==============================================================
                     lm0        lm1        lm2        lm3     
--------------------------------------------------------------
  (Intercept)      6.167***   6.929***  -4.843***  -1.957     
                  (0.723)    (0.720)    (1.244)    (6.835)    
  age              0.078***   0.085***   0.113***  -0.367     
                  (0.019)    (0.018)    (0.017)    (1.120)    
  gender: female             -2.275***  -2.335***  -2.344***  
                             (0.430)    (0.388)    (0.389)    
  education                              0.827***   1.307     
                                        (0.075)    (1.120)    
  experience                                        0.481     
                                                   (1.121)    
--------------------------------------------------------------
  R-squared            0.0        0.1        0.3        0.3   
  adj. R-squared       0.0        0.1        0.2        0.2   
  sigma                5.1        4.9        4.5        4.5   
  F                   17.2       23.0       59.9       44.9   
  p                    0.0        0.0        0.0        0.0   
  Log-likelihood   -1622.8    -1609.1    -1553.4    -1553.3   
  Deviance         13635.9    12954.1    10514.6    10510.9   
  AIC               3251.6     3226.2     3116.8     3118.6   
  BIC               3264.5     3243.4     3138.2     3144.3   
  N                  534        534        534        534     
==============================================================

きれいにまとめられる。 memiscパッケージは結果をいろいろな形式で出力なできるそうなので、またエントリーを改めたい。

stargazerパッケージ

stargazerパッケージをインストール

install.packages("stargazer")
library(stargazer)

上の回帰分析をまとめると次のようになる。

stargazer(lm0, lm1, lm2, lm3) # TeX形式
stargazer(lm0, lm1, lm2, lm3, type = "html") #HTML形式

デフォルトにもう少し手を入れていこう。

stargazer(lm0, lm1, lm2, lm3, type = "html", 
          title            = "表1 回帰分析のモデル比較", # タイトルを入れる
          covariate.labels = c("年齢", "性別-女性", "教育年数", 
                               "就労経験", "定数"), #独立変数の名前をいれる
          dep.var.labels   = "賃金"
          )

はてなブログは透明の罫線が表示される困った使用なので、画像として張った。下部にHTML出力のリンクをつけたので、生の出力結果がみたい場合はリンク先を見てほしい。

f:id:iDES:20170625155435p:plain

texregパッケージ

次に試すのはtexregパッケージ。デフォルトは次のコマンド。

library(texreg)
htmlreg(list(lm0, lm1, lm2, lm3))

タイトルや変数名などを少し加えてみる。

htmlreg(
  list(lm0, lm1, lm2, lm3),
  caption.above = TRUE,
  caption = "表1 回帰分析のモデル比較",
  custom.coef.names = c("定数","年齢", "性別-女性", "教育年数", 
                        "就労経験")
  )

HTMLの出力はtexregパッケージの方がキレイに出力できるようだ。

追記: textregパッケージについて新しいエントリをしました。(2020/01/09)

ides.hatenablog.com

RのpoLCAパッケージで潜在クラス分析を行う

Rので潜在クラス分析を行う。

Rで潜在クラス分析ができるパッケージは3つある。

他にMclustというパッケージがあるが、つまり潜在プロファイル分析(連続変数)のパッケージで潜在クラス分析には使えない。

ここではpoLCAパッケージを使用する。

データセットgss82を使用する。このデータはpoLCAパッケージに含まれるのでインストールをする必要がある。ちなみに、潜在クラス分析の古典的な解説書であるMcCutcheon(1987: 30)の図3.1で使用されている例である。

gss82の変数は4つである。カッコ内は変数の値である。

  • PURPOSE; 調査の目的について意見(good/depends/waste of time and money )
  • ACCURACY ; 調査の正確性(mostly true/not true)
  • UNDERSTA; 調査の質問を理解していたか (good/fair, poor)
  • COOPERAT; 面接調査に協力的だったか (interested/cooperative/impatient, hostile )

2クラスモデルを走らせてみる。

data(gss82) #データセットをgss82に設定
f <- cbind(PURPOSE,ACCURACY,UNDERSTA,COOPERAT)~1 #fomulaの設定。潜在クラス分析に入れる変数を選ぶ
gss.lc2 <- poLCA(f,gss82,nclass=2,maxiter=3000,nrep=100) #2クラスモデル

maxiterは反復回数である。デフォルトは1000である。収束しない場合にはmaxiterを多少多めにしておいてもよい。nrepはモデル推定をする回数。デフォルトは1である。初期値はprobs.startで与える。

結果は次のようになる

$PURPOSE
            Good Depends Waste of time
class 1:  0.8953  0.0579        0.0468
class 2:  0.2154  0.2066        0.5780

$ACCURACY
          Mostly true Not true
class 1:       0.6367   0.3633
class 2:       0.0297   0.9703

$UNDERSTA
            Good Fair/Poor
class 1:  0.8327    0.1673
class 2:  0.7422    0.2578

$COOPERAT
          Interested Cooperative Impatient
class 1:      0.8840      0.1043    0.0117
class 2:      0.6478      0.2498    0.1024

Estimated class population shares 
 0.8077 0.1923 
 
Predicted class memberships (by modal posterior prob.) 
 0.8136 0.1864 

統計量やフィッティングの指標は以下のように出力される。

AIC(2): 5592.536
BIC(2): 5658.729
G^2(2): 79.33723 (Likelihood ratio/deviance statistic) 
X^2(2): 93.25329 (Chi-square goodness of fit) 

poLCAでBICは出力できるが、BLRT(Bootstrap Likelihood Ratio Test)を出力することはできないようだ。

Latent Class Analysis (Quantitative Applications in the Social Sciences)

Latent Class Analysis (Quantitative Applications in the Social Sciences)

共変量を伴った潜在クラス分析

潜在クラス分析の潜在変数を従属変数にして分析を行う場合の技法。 パス・ダイアグラムで描くと次のようになる。

f:id:iDES:20171109122256p:plain

例えば、パーソナリティについて質問をして、潜在クラス分析をすると、パーソナリティが4つに分類できることが分かったとしよう。 これらの各パーソナリティに性別が関連しているかを調べたいとする。

この場合、パーソナリティの質問項目はu_1,u_2,....u_nになる。 潜在クラス分析を行ってできた潜在変数がcである。 そして、性別がxであり、共変量となる。

共変量は連続変数でもカテゴリカル変数でも構わない。

ここではMuthénらのセミナーで使われた例を使う。 http://www.statmodel.com/download/Topic%205.pdf

サンプルはこちらから http://www.statmodel.com/examples/webnotes/webnote4.exe

自己解凍機能付きのzipファイルである。使用するのはzip内のasb.datというデータファイルである。

TITLE:     LCA of 9 ASB items with three covariates
DATA:      FILE = asb.dat;
           FORMAT = 34x 51f2;
VARIABLE:  NAMES = property fight shoplift lt50 gt50 force
           threat injure pot drug soldpot solddrug con auto
           bldg goods gambling dsm1-dsm22 male black hisp
           single divorce dropout college onset f1 f2 f3 age94;
           USEVARIABLES = property fight shoplift lt50 threat
           pot drug con goods age94 male black;
           CLASSES = c(4);
           CATEGORICAL = property-goods;
ANALYSIS:  TYPE = MIXTURE;
MODEL:
           %OVERALL%
           c#3 ON age94 male black;
           %c#1%
           [property$1-goods$1*0];
           %c#2%
           [property$1-goods$1*1];
           %c#3%
           [property$1-goods$1*2];
           %c#4%
           [property$1-goods$1*3];
OUTPUT:    TECH1 TECH8;

MODELの%c#1%以下の行はこのスクリプトを動かすだけであれば不要である。%OVERALL%の2行でOKだ。 上のCATEGORICALオプションでカテゴリカル変数がproperty-goodsと指定されているので、潜在クラス分析に使用する変数はこの範囲だと認識しているためである。

とはいえ、もう少し複雑なモデル構築になるとどの変数を潜在クラス分析に含むかはきちんと指定しないといないので、長いモデルの記述の書式も重要である。 %c#1%はクラス1についてであり、property$1-goods$1は潜在クラス分析に含む変数の指定である。最後にクラス1から0を割り振る。潜在クラス分析で導かれた潜在変数が従属変数になるため、共変量の出力は3つのクラスだけ表示される。文末の数字はどの変数に対しての効果かを明確にするために必要とされる。従って、分析をする際に0から始まる数字を適宜振り分ける必要がある。

どのクラス数が適切かは事前に分析しておくとよい。Bootstrap Likelihood Ratio Test(TECH14)で数理的に最適なクラスを導く(参照)のが一般的だが、理論的に想定されるクラスに分けるであったり、所属ケースが非常に少ないので分析に支障があるためクラスを減らすという場合もある。

分析内容の説明だが、asbというのはAntisocial Behaviorの略で、犯罪行為がデータに入っている。propertyは財産犯であり、潜在クラスに入れる変数は犯罪種別ごとの集計結果である。共変量として入るage94=0は16歳、1は17歳、maleは男性(女性=0) black(黒人=1)である。

共変量の部分の出力以下のようになる。

Categorical Latent Variables

                                                    Two-Tailed
                    Estimate       S.E.  Est./S.E.    P-Value
 C#1        ON
    AGE94             -0.285      0.028    -10.046      0.000
    MALE               2.578      0.151     17.086      0.000
    BLACK              0.158      0.139      1.141      0.254

 C#2        ON
    AGE94              0.069      0.022      3.182      0.001
    MALE               0.187      0.110      1.702      0.089
    BLACK             -0.606      0.139     -4.357      0.000

 C#3        ON
    AGE94             -0.317      0.028    -11.311      0.000
    MALE               1.459      0.101     14.431      0.000
    BLACK              0.999      0.117      8.513      0.000

 Intercepts
    C#1               -1.822      0.174    -10.485      0.000
    C#2               -0.748      0.103     -7.258      0.000
    C#3               -0.324      0.125     -2.600      0.009

右列に有意確率が表示されるので仮説検定はそれを利用する。 潜在クラス分析の部分の出力は以下のようになる。

Chi-Square Test of Model Fit for the Binary and Ordered Categorical
(Ordinal) Outcomes

          Pearson Chi-Square
          Value                           1120.441
          Degrees of Freedom                   472
          P-Value                           0.0000
          Entropy                            0.690

FINAL CLASS COUNTS AND PROPORTIONS FOR THE LATENT CLASS PATTERNS
BASED ON ESTIMATED POSTERIOR PROBABILITIES

    Latent
   Classes

       1        928.39438          0.12673
       2       1499.08710          0.20463
       3       2249.49632          0.30706
       4       2649.02219          0.36159

CLASSIFICATION OF INDIVIDUALS BASED ON THEIR MOST LIKELY LATENT CLASS MEMBERSHIP
Class Counts and Proportions

    Latent
   Classes

       1              920          0.12558
       2             1433          0.19560
       3             2154          0.29402
       4             2819          0.38479

パリス『現代精神医学を迷路に追い込んだ過剰診断』

現代精神医学を迷路に追い込んだ過剰診断 -人生のあらゆる不幸に診断名をつけるDSMの罪

現代精神医学を迷路に追い込んだ過剰診断 -人生のあらゆる不幸に診断名をつけるDSMの罪

DSMと過剰診断について書かれた本。 DSMが過剰診断を生み出すという主張はよく見るが、パリスは不適切な使用によって過剰診断は増加すると主張している。

もし精神医学に関する過剰診断が心配ならば,実践する臨床家に注目すべきで,マニュアルに注目すべきではない。端的に言えば, DSM-5自体は問題ではなく,それに過大な価値を置く我々に問題がある。

これは非常に重要な指摘である。 典型例ではない症例が過剰診断になる場合には何らかの原因があるとパリスは考えている。例えば、うつ病双極性障害ADHDの場合であれば、薬物によって治療が可能である誘惑となり過剰診断となる。

PTSDの場合は、祖国のために命を懸けて戦った軍人への負い目や心理療法家が子ども時代に原因を求める傾向などがあげられる。

原書のタイトルはOverdiagnosis in Psychiatry, How Modern Psychiatry Lost Its Way While Creating a Diagnosis for Almost All of Life’s Misfortunesである。邦訳の「DSMの罪」というタイトルはミスリーディングである。

パリスはDSMは聖書では単なる不完全なマニュアルに過ぎないが代わりなるような有望な診断システムは存在せず、問題はあれど使わざるを得ないという立場である。別の言い方では、DSMはコミュニケーシンの手段であるとも言われている。問題は使用者の方にあるということを何度も言っており、よくあるDSM批判とは一線を画している。

PTSDの章は非常に勉強になった。

死に瀕するような闘いの中で人がPTSDになる一方,戦争帰還兵にはしばしば薬物乱用やうつが見られた。このような薬物乱用やうつは必ずしも兵役と関係しているわけではなく,軍に所属する以前から患者が抱えていた問題だった(Young,1997)。またアメリカ退役軍人援護局で兵役関連のPTSDのための治療を受けていた患者の中には,戦闘の経験がない者もいた(McNally, 2007)。しかしこれらの病院にいる患者に治療を受けさせるのには, PTSDは都合の良い診断名であった。

イスラエルの研究者たちによると,ほとんどの兵士は想像を絶するほど過酷な戦闘を経験した後でもPTSDを発症しないという(Zoharet al., 2009)。

一般の人々の心的外傷では,オーストラリアの消防士の前向き研究(McFarlane,1989)と大規模な一般人口(Breslauet al.,1991)で,PTSDの患者の多くが以前から高レベルの神経症的傾向や心的外傷などの脆弱性を抱えていることが明らかになった。したがって,このようにすでに順応性が不安定な人にとって,不運な出来事は「転換点」となる。

つまり、トラウマを受ける以前から心的な問題を抱えていた人が、外傷体験をきっかけに状態がひどくなったり、場合によって、トラウマ体験以前の状態を不問に付して「外傷体験が現在の自分の状態が悪い根源である」という説明を生み出している可能性がある。パリスの本では「心的外傷はあくまでトリガーであり,PTSDを発症する十分な理由にはならない(McNally, 2003)」と書かれている。

そのうえでパリスは「PTSDと診断したいという原動力の背後には,サイコセラピスト(心理療法家)の存在がある。彼らの多くは,臨床現場で心的外傷を中心的課題として見ている」と指摘している。

心理療法家は、何かしらの体験が精神障害の原因であることを想定しがちである。一般的には、幼児期の体験を原因に説明することを好むが、それは思い込みであることが多い。「「抑圧された記憶」を明らかにしようという流行があった。また保育園の職員を無実の罪で刑務所送りにしたりということもあった(McHugh,2005)」。

もちろんPTSDがないという話ではない。トラウマティックな出来事を体験したからといって、必ずしもその出来事が精神状態の不調の原因とは限らず、現在はあまりにもトラウマへの還元がされすぎているという指摘である。

『図解・ベイズ統計「超」入門』


ベイズの入門書。
amazonのレビューにあるように非常にわかりやすい。読む価値のある本だ。
この本の良さは、通常とは少し違った説明をして理解を深めてくれることだと思うので、ベイズ統計を学ぶ際に最初に読むのではなく、数式も少しは入った本を読んだうえで、読むのがよいように思った。特に乗法定理を面積で説明するところは非常に分かりやすい。


知っていれば特に問題ではないが、モンティ・ホール問題の回答を1/3(これは模範解)だけ提示するのは理解の躓き石になりそうだ。事前分布を一様分布にした場合、最頻値は1/2であり、直観解である1/2が間違いであるわけではない(1/3は平均値)。本の説明順序や内容から、説明できることには限界があるが、模範解だけの提示はベイズ的ではない気がした。

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