タイタニック・データを用いて名義変数の媒介項、2値の従属変数(アウトカム)の媒介分析を行う。アウトカムが2値なので2項ロジスティック回帰分析の一種である。
タイタニック・データの分析に意味があるわけではなく、あくまでも例題である。分析はMplusで行うがデータはRのパッケージに含まれているデータを利用するため、まずはRから始める。
タイタニックのデータを読み込む
Rのデータセットにはタイタニックは存在するが、ケース数が少ないので、titanicパッケージからデータを利用する。
library(titanic) knitr::kable(head(titanic_train)) df1 <-titanic_train

どこまでの現実のデータと同じなのかは分からないが、よく見るタイタニックデータより詳細なデータが含まれている。
Mplusのデータ形式に変換する
RとMplusの連携はこちらで解説をした方法を使う。
library(MplusAutomation) variable.names(df1) # 変数名を書き出し
Mplusの扱うデータは数字でないといけないので、性別(文字型)を数字にリコードしておく。
library(memisc) # memisicパッケージの読み込み。 df1$Sex <- memisc::recode(df1$Sex, 1 <- "male", 2<-"female") #リコード df1$Sex <- as.numeric(as.character(df1$Sex)) # 一度文字型に変更してから数値型に変更する str(df1)
Mplus用のデータを書き出し。
prepareMplusData(df1, filename="titanic.dat",
keepCols=c("Survived","Pclass","Sex","Age","Fare"),
overwrite=T)
以上までがRでの作業である。
シンプルなモデル

fare: 運賃
pclass: 客室等級, 3値, 1等216名/ 2等184名/ 3等491名
survived: 生死, 2値, 1:生存/ 0:死亡
アウトカムはSurvivedで生死である。Pclassは客室等級である。馴染みのあるタイタニックデータには乗務員のデータもあったが、このデータは客のデータだけである。Fareは賃料であり、客室等級に比例していると予想できる。
コード
TITLE: Binomial Logistic Regression Analysis with a Noninal Mediator
using Titanic Data
DATA: FILE = titanic.dat;
LISTWISE = ON;
VARIABLE: NAMES = Survived Pclass Sex Age Fare;
USEVARIABLES = Survived Pclass Fare;
MISSING = .;
CATEGORICAL = Survived Pclass;
ANALYSIS: ESTIMATOR = ML;
BOOTSTRAP = 10000;
MODEL: Survived on Pclass Fare;
Pclass on Fare;
MODEL INDIRECT: Survived ind Pclass Fare;
OUTPUT: CINTERVAL(BOOTSTRAP);
PLOT: TYPE = PLOT3;
結果
推定値。
MODEL RESULTS
Two-Tailed
Estimate S.E. Est./S.E. P-Value
SURVIVED ON
PCLASS -0.684 0.109 -6.277 0.000
FARE 0.006 0.003 2.136 0.033
PCLASS ON
FARE -0.083 0.008 -11.114 0.000
Thresholds
SURVIVED$1 -0.213 0.204 -1.044 0.296
PCLASS$1 -3.685 0.195 -18.940 0.000
PCLASS$2 -2.004 0.138 -14.541 0.000
Fare→Survivedが直接効果である。P=0.033で5%有意であり、直接効果は残っている。
間接効果。
Two-Tailed
Estimate S.E. Est./S.E. P-Value
Effects from FARE to SURVIVED
Tot natural IE 0.002 0.000 5.985 0.000
Pure natural DE 0.001 0.000 2.225 0.026
Total effect 0.003 0.000 7.546 0.000
推定値は0.002でP=0.000なので弱いながらも間接効果があることが分かる。
直接効果、間接効果ともにある分析結果であった。
余談
タイタニックはなぜ沈没したのか? 出航前に船倉部の石炭庫で火災が発生し、鎮火せぬまま航海を続けたのが原因とする説を、豪華客船や乗組員の動きをCGで再現しつつ検証。
わりと面白かったドキュメンタリー。