タイタニック・データを用いて名義変数の媒介項、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で再現しつつ検証。
わりと面白かったドキュメンタリー。