memiscパッケージで分析結果を出力

memiscパッケージのmtableコマンドを使うと分析結果などをきれいに出力することができるようだ。

Package ‘memisc’
https://cran.r-project.org/web/packages/memisc/memisc.pdf

事前準備

回帰分析の結果を出すため、サンプルデータから分析を行っておく。以前のエントリーと同様にAERパッケージに入っているCPS1985というデータを使う。

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

これで4つの回帰分析が実行された。この4つの結果をmtableコマンドでまとめる。

library(memisc) #memiscパッケージの読み込み
mt1234 <- mtable("Model1"=lm0, "Model2"=lm1, "Model3"=lm2,
                 "Model4"=lm3, #モデル名を指定
          summary.stats=c("sigma","R-squared","F","p","BIC","N")
          #出力する統計量を指定
)
print(mt1234) #テキストで出力する。

出力結果は以下のようになる。

==============================================================
                   Model1     Model2     Model3     Model4    
--------------------------------------------------------------
  (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)    
--------------------------------------------------------------
  sigma               5.1        4.9        4.5        4.5    
  R-squared           0.0        0.1        0.3        0.3    
  F                  17.2       23.0       59.9       44.9    
  p                   0.0        0.0        0.0        0.0    
  BIC              3264.5     3243.4     3138.2     3144.3    
  N                 534        534        534        534      
==============================================================

オプション

さまざまなオプションが用意されている。

HTMLで出力する

show_html(mt1234)

HTML形式のファイルを書き出すのは下記のコマンド。

write_html(mt1234,file="mt1234.html")

Rのワーキング・ディレクトリに出力される。

TeX形式で出力する。

toLatex(mt1234)

TeXファイルとして書き出すのは以下のコマンド。

write.mtable(mt1234,format="LaTeX", file="mt123.tex")

テキスト形式で出力

テキスト形式でも出力できる。下記のコマンドはタブ区切り。

write.mtable(mt1234,file="mt1234.txt")

CSV形式で出力

CSV形式だとExcelなどの加工が楽になる。colsep=","を入れてコンマ区切りを指定する。

write.mtable(mt1234,file="mt1234.csv",colsep=",")

独立変数をリラベル

独立変数の変数名が英語であったり略語であったりする場合リラベルできる。

mt1234 <- relabel(mt1234,
                 "(Intercept)" = "(切片)", #独立変数のリラベル
                age = "年齢",
               "gender: female" = "性別",
                education = "教育年数",
               experience = "就労経験"
)

独立変数が変更されていることが確認できる。

=========================================================
              Model1     Model2     Model3     Model4    
---------------------------------------------------------
  (切片)      6.167***   6.929***  -4.843***  -1.957     
             (0.723)    (0.720)    (1.244)    (6.835)    
  年齢        0.078***   0.085***   0.113***  -0.367     
             (0.019)    (0.018)    (0.017)    (1.120)    
  性別                  -2.275***  -2.335***  -2.344***  
                        (0.430)    (0.388)    (0.389)    
  教育年数                          0.827***   1.307     
                                   (0.075)    (1.120)    
  就労経験                                     0.481     
                                              (1.121)    
---------------------------------------------------------

統計量の出力を選ぶ

mt1234 <- mtable("Model1"=lm0, "Model2"=lm1, "Model3"=lm2,
                 "Model4"=lm3, #モデル名を指定
          summary.stats=c("sigma","R-squared","F","p","BIC","N")
          #出力する統計量を指定
)

summary.statsの所の指定は適宜変える。指定できるのは下記の統計量。

R-squared
adj. R-squared sigma
F
p
Log-likelihood
Deviance AIC BIC N

有意のアスタリスクを他の記号に変更する。

mt1234 <- mtable("Model1"=lm0, "Model2"=lm1, "Model3"=lm2, "Model4"=lm3,
           signif.symbols=c("a"=.05,
                            "b"=.01,
                            "c"=.001)
)
======================================================
                  Model1   Model2   Model3   Model4   
------------------------------------------------------
  (Intercept)      6.167c   6.929c  -4.843c  -1.957   
                  (0.723)  (0.720)  (1.244)  (6.835)  
  age              0.078c   0.085c   0.113c  -0.367   
                  (0.019)  (0.018)  (0.017)  (1.120)  
  gender: female           -2.275c  -2.335c  -2.344c  
                           (0.430)  (0.388)  (0.389)  
  education                          0.827c   1.307   
                                    (0.075)  (1.120)  
  experience                                  0.481   
                                             (1.121)  
======================================================

解離性同一性障害の盛衰

解離性同一性障害とは一般的な言葉では多重人格に相当する症候群のことである。この診断名は「虚偽記憶(false memory)」の問題を引き起こし、アメリカでは社会問題となった。

虚偽記憶についてはエリザベス・ロフタスのTEDでのスピーチで簡単に知ることができる。
エリザベス・ロフタス: 記憶が語るフィクション | TED Talk | TED.com

虚偽記憶というのは、体験していない記憶のことを言う。アメリカで問題になったのはセラピストが虐待の記憶をセラピーで植え付けるという行為だ。現在の精神的な不調は幼少期の体験、特に親による虐待によって引き起こされるセラピストの一部は考えていた。実際に面接をしてみると、虐待の記憶がない。実際に虐待はなかったからだ。しかし、それは、虐待経験を消し去るために、記憶が抑圧されているからだと解釈する。セラピストは虐待体験を掘り起こそうと様々な手を尽くす。そのうちに、虐待体験が「さもあったかのように」作りだされていくのである。

今回取り上げるのはジョエル・パリスが解離性同一性障害についてまとめた論評。

Joel Paris,
The rise and fall of dissociative identity disorder.
J Nerv Ment Dis. 2012 Dec;200(12):1076-9. doi: 10.1097/NMD.0b013e318275d285.
https://www.ncbi.nlm.nih.gov/pubmed/23197123
PDFへのリンク

解離性同一性障害の作者はフロイトである

解離性同一性障害ジークムント・フロイトの初期の理論で示されたものである(Breuer and Freud, 1893)。彼は、幼児期のトラウマが後々の「ヒステリア(ヒステリー)」を引き起こすと考えていたためであり、実際にセラピーで解離性同一性障害を作り出していたようである。私たちがフロイトの著作で見ることができる解離症状を起こすヒステリーの症例は、フロイトによって作り出した、もしくはフロイトと患者の共作である。

ヒステリーというのは日常用語のヒステリー(女性か泣いたり叫んだり起こったりすること)とは異なる。現在の診断基準で言えば、その症状は解離性障害、身体症状障害の身体化障害に相当する。日常用語のヒステリーに相当するのは「易怒性(irritability)」であり、稀に「かんしゃく(tantrum)」とも表現される。もともとこの言葉は古代ギリシア語の「子宮(ὑστέρα)」から生まれた言葉であり、女性は感情的で理性的に理解できないといった伝統的価値観と女性固有の子宮という器官が結び付けられた問題の多い概念である。にもかかわらず、ヒステリーという言葉は日本語でも未だに使われるし、英語では"hissy"という言葉があり、どの社会でもかなりしぶとく残っている。

フロイトの著作で解離症状を持った症例を見ると、症例の興味深さに惹かれるだろう。それとともに、人間の理解の越えた部分を垣間見ることができ、精神分析学に奥深さを感じるかもしれない。しかし、精神分析が面白いのは、フロイトが患者と共に症例を作り上げていたからである。高い作家性を持ったフロイトという人物が作り上げた症例が興味深いのは当たり前の話であろう。

精神分析のからくりを知ったうえで、娯楽として楽しむ分には問題はない。しかし、多くの精神分析家は、セラピーを娯楽だとは思っていないし、自分の心理臨床でフロイトのやったことを再現しようとするのだ。その結果、解離性同一性障害を作り出すに至り社会問題を引き起こした。

解離性同一性障害が引き起こした社会問題

フロイトの話に感銘をうけた後世の精神分析家が似たような劣化コピーを作り続ける。症例数はとんどんと増加し、ついに、診断基準に掲載されるまでになった。解離性同一性障害精神分析家によるマッチポンプなのだ。

解離性同一性障害の問題は他にもある。パリスは、多くの家族と人々の生活を破壊したと指摘し、多くの精神分析家がフロイトと同様の間違いを起こしたと指摘している。虐待の虚偽記憶を埋め込まれた患者が、親を糾弾し、多く家庭が破壊された。

アメリカでは、解離性同一性障害と虐待の関係について、ずいぶんと認識が改められたようである。カルフォルニアでは父親の虐待体験の虚偽記憶を娘に植え付けたとしてセラピストに対して訴訟が起こり、父親側が勝訴している(Johnston, 1997)。精神分析家が自己満足で患者を増やして、患者の人生や家族を破壊しつづけることに、社会的制裁がようやく下されるようになったのだ。

エビデンス

トラウマと解離を支持するエビデンスはほとんどない(Lynn et al., 2012)。幼児・児童期の虐待によるトラウマと関連が指摘されるのはむしろ他の精神障害であり、その代表例は境界性パーソナリティ障害(BPD)である(Zweig-Frank et al., 1994)。解離性同一性障害がみられるとされても、他の様々な症状(うつ病、不安障害、パーソナリティ障害、薬物使用など)が併存している。

DSMでは有病率が1%と書かれているにも関わらず、実際に報告されている患者数が非常に少なく、DSMの有病率に根拠はない。また、解離性同一性障害を作りだすセラピー以外では見られないという指摘もある(Piper and Merskey, 2004)。

DSMへの掲載

パリスは著作の中で次のように述べている。

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

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

一旦あるカテゴリーが作られると,確固たる科学的な証拠がない限以外すのは極めて困難であった。これによって,ほとんど使われないような診断でマニュアルが溢れかえるという事態を招いた(Rutterand Uher, 2012)。またマニュアルには,ある時期には許容されても,研究によって否定された長らく使用されていない解離性障害のようなカテゴリーも依然として含まれている。 -ジョエル・パリス『現代精神医学を迷路に追い込んだ過剰診断』44ページ

現在では廃止が検討されている(されるべき)診断名の一つとしている。精神分析家によって症例が作り出されたものであるならば、診断基準に掲載するべきではない。パリスは解離性同一性障害DSMから削除することを(たびたび)主張している。

パリスによれば、解離性同一性障害の見方が変化したのは、精神医学のパラダイム変化が関係している。近年は生物学的な捉え方と薬理学的介入が中心になってきているので、精神分析的が退潮したということだ。その社会的な変化により、解離性同一性障害への信ぴょう性も揺らいできたということであろう。

文献

  • Johnston M (1997) Spectral evidence: The Ramona case: Incest, memory, and truth on trial in Napa Valley. Boulder, CO: Westview Press.
  • Lynn SJ, Lilienfeld SO, Merckelbach H, Giesbrecht T, van der Kloet D (2012) Dissociation and dissociative disorders: Challenging conventional wisdom. Curr Dir Psychol Science. 21:48-60.
  • Piper A, Merskey H (2004a) The persistence of folly: A critical examination of dissociative identity disorder. Part I. The excesses of an improbable concept. Can J Psychiatry. 49:592Y600.
  • Zweig-Frank H, Paris J, Guzder J (1994) Psychological risk factors for dissociation in female patients with borderline and non-borderline personality disorders. J Pers Disord. 8:203-209.

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

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

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 HTML出力

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出力

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

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