覚え書き: Mplus version 8.1-8.11の新機能

 えー、昨今は大規模言語モデルとかナントカGPTとかでいろいろ大騒ぎですけれど、大人のデータサイエンティストが本気で使うソフトといえばMplusですよね。Mplus一択ですよね。Mplus一択ですよね。
 (ウエストランドという漫才コンビが、ステージに出てきていきなり「本気の大人のデートは吉祥寺の鳥貴族に限りますよね、吉祥寺の鳥貴族一択ですよね、吉祥寺の鳥貴族一択ですよね」と畳みかける際の口調で)

 構造方程式モデリングで知られるMplusは、バージョンアップのたびに謎の機能を搭載してくる。今月発表されたVersion 8.10も相変わらず「なにそれ…???」という新機能つきである。
 いっぽうMplusのマニュアルのほうは、2017年4月に発表されたVersion 8以来更新されていない。新機能に関心があるユーザは、自分で論文なりTech. Paperなりを調べるしかない。調べたところで理解できるとは限らないけどな。
 最近の進展にキャッチアップできていなくても困らないっちゃ困らないのだが、やはり少々もやもやが残る。というわけで、Version 8.10の発表を機に、Version 8.xで追加された新機能をおさらいしてみた。情報源はこちら
 Mplusの愛用者である私にとってもさっぱり理解できない部分が多い。ノンユーザにとっては心底どうでもいい話であろう。
 [2025/05/03追記: Version 8.11の新機能を追加した]

Version 8.1 (2018年5月)
この改訂の際にはマニュアルの追加(Version 8.1 Mplus Language Addendum)が発表され、下記のうち★を付けた項目について説明された。

  1. ★ RDSEM(residual dynamic SEM)の導入。縦断データで、従属変数の残差の自己回帰を指定することができるようになった。つまり、DSEM[たしかVersion 8で導入されたやつね]ではsy | y ON y&1; という記法があったが、さらにsy | y^ ON y^1;という記法が導入された。参照すべき論文はAsparouhov, Hamaker, & Muthen(2018 SEM), Asparouhov & Muthen(2018a SEM)
  2. ランダム傾きがあるDSEM、RDSEM, そのほかTWOLEVELモデルで、予測子の潜在変数分解(潜在変数中心化)ができるようになった[これ、全然理解できていないんですけど…]。参照すべき論文はAsparouhov & Muthen (2018b SEM)
  3. ★ 潜在変数分解を伴うDSEMないしその他のTWOLEVELモデルで、ラグ付きカテゴリカル従属変数と、カテゴリカル予測子のランダム傾きを指定できるようになった。つまり、yがカテゴリカルでもsy | y ON y&1;と書ける。参照すべき論文は上述のAsparouhov & Muthen (2018b SEM)。
  4. 2つのSEMがネストされているか等価かの自動チェック機能が、多群モデルとWLS推定量に拡張された。参照すべきはAsparouhov & Muthen (2019 SEM)
  5. ★ SRMRの修正。Tech.Paperあり(“SRMR in Mplus”, 2018)。
  6. WLS推定量の場合の二変数残差検定と因子スコアのSE。
  7. TWOLEVELモデルでのクラスタ別プロット。
  8. オッズ比の出力の拡張。
  9. BASICモデルでOUTPUTにH1SEを指定したときの相関のSE。

Version 8.2 (2018年11月)

  1. ベイス推定でXWITHが使えるようになった。
  2. RDSEMでカテゴリカル従属変数が使えるようになった。[あれれ? Version 8.1のときは使えなかったの?]
  3. RDSEMでのSTANDARDIZED, RESIDUAL, TECH4。
  4. TWOLEVELモデルのベイズ推定が速くなった(特にランダム分散を持つとき)。
  5. MODEL CONSTRAINTSでSUM, MEANオプションが使えるようになった。

Version 8.3 (2019年4月)

  1. ベイズ推定がすごく速くなった。Tech. Paperあり(“Bayes Parallel Computation”, 2019)
  2. TWOLEVELモデルのベイズ推定で、XWITHで潜在変数交互作用を指定できるようになった。Tech. Paperあり(Web Notes 23)
  3. COMPLEXモデルや、WEIGHTつきのGENERALモデルで、BOOTSTRAPが使えるようになった。Tech. Paperあり(文書名がはっきりしない。このリンクから辿ること)

Version 8.4 (2019年11月)

  1. 混合モデル(特に潜在クラスが複数あるとき)の推定がすごく速くなった。Tech. Paperあり(“Random Starting Values and Multistage Optimization”, 2019)
  2. 潜在クラスが複数ある混合モデルの出力が簡略化された。
  3. PPPの改善、ベイジアンCFI/TLI/RMSEAの改善、MODEL TESTをつかったパラメータのWald検定のベイズ版。
  4. 3レベルモデルのML推定の改善。
  5. CFI/TLI, RMSEAの出力の改善。

Version 8.5 (2020年11月)
この改訂の際にはマニュアルの追加(Version 8.5 Mplus Language Addendum)が発表され、下記のうち★を付けた項目について説明された。

  1. ★ 混合モデルで潜在クラスを自動で並び替えできるようになった(OUTPUTでSVALUESを指定する)。
  2. ★ カウント・名義・二値変数のロジットリンクのベイズ推定。参照すべきはAsparouhov & Muthen (2021 SEM)
  3. 混合モデルで潜在クラスを観察変数に回帰するときのベイズ推定。
  4. ★ ロジットリンクのときのカウント、名義、二値変数のデータ代入。
  5. ★ マルチレベルデータの保存。

Version 8.6 (2021年3月)

  1. 潜在遷移分析のための解釈用ツールがMplusエディタに搭載された。Tech. Paperあり(“LTA Interpretation of …”, 2021)
  2. 潜在遷移分析のための単純化された3ステップ推定。Tech. Paperあり(Web Notes 21)
  3. 潜在遷移分析のように複数の潜在クラスがあるときの、それぞれの潜在クラスのエントロピー。
  4. TYPE=IMPUTATIONのときのベイズ推定。Tech. Paperあり(“Analyzing Imputed Data …”, 2021)
  5. カウント変数のベイズ推定が速くなった。
  6. 二値変数ロジットリンクのベイズ推定で複数プロセッサが使えるようになった。
  7. ANALYSISでBOOSTRAPを使った問いのデータセットとパラメータ推定値を保存できるようになった。Tech. Paperあり(“Bootstrap Computational Problems”, 2021)
  8. VARIABLEでKNOWNCLASSを使ったときのサンプリング・ウェイトが多群分析の場合と同じようにスケーリングされるようになった。

Version 8.7 (2021年11月)

  1. 観察変数と潜在変数の間で残差間の回帰ができるようになった。これにより残差間に自己回帰を持つ成長モデルとかランダム切片クロスラグつきパネルモデル(RI-CLPM)とかが推定できるようになった。論文はAsparouhov & Muthen (2023a SEM)
  2. 二値・順序変数のRI-CLPMのベイズ推定。Tech. Paperあり。[2021年のTech. Paperが挙げられている、これは前に読んだんだけど、上記の2023年の論文と同じではなかろうか…?]
  3. RDSEMで、ラグつき変数と当期変数を同時に使えるようになった。上のTech. Paperを参照。
  4. TECH10の拡張。反応パターンの標準化残差と、カテゴリカル変数があるときの完全モデルへの適合の単変量・二変量の表。
  5. TECH10の拡張。カテゴリカル変数があるときのPPP。上のTech. Paperを参照。
  6. 順序変数について局所依存性がある潜在クラスモデルのベイズ推定。上のTech. Paperを参照。
  7. betweenレベルでゼロ残差が指定された2レベルモデルのカイ二乗検定が改善された。Asparouhov & Muthen (2021 Psych)を参照。
  8. TWOLEVELモデルのベイズ推定量で、betweenレベル因子得点の複数のドローを別のファイルに保存できるようになった。
  9. USEOBSERVATIONSで、クラスタ内分散がないクラスタを除外できるようになった。縦断データ分析で時間変動してないケースを除外するときに便利。
  10. plotの拡張。曜日効果をあらわすステップ関数、複数のLoop、時点別ヒストグラム。

Version 8.8 (2022年4月)

  1. ESEMとSEMのalignmentの拡張。交差負荷のあるモデルとか[おっとー、それは便利だ]、ML/WLSMV推定量とか、連続・二値・順序変数とか。Asparouhov & Muthen (2023b SEM)を参照。
  2. カウント、名義、ロジット二値distalアウトカムを持つRSEMのベイズ推定。上述のAsparouhov & Muthen (2023a SEM)を参照。
  3. 打ち切り変数があるモデルのベイズ推定。
  4. TECH10の拡張。two-part順序モデルのベイズ推定とか、PREDICTOR=OBSERVEDを使うベイズ推定え、反応パターンと単変量・二変量頻度表の標準化残差を出力する。Tech. Paperあり(“Assessing model fit for SEM with …”, 2022)

Version 8.9 (2023年2月)

  1. 単群縦断モデルの測定不変性の自動検定。
  2. 単群縦断モデルでもalignmentが使えるようになった。Tech. Paperあり(“Penalized structural equation models”, 2023)
  3. 多群のalignmentがSEMと標準化出力に拡張された。上述のAsparouhov & Muthen (2023b SEM)を参照。
  4. alignmentで最適参照群(ないし最適参照時点)を指定できるようになった。
  5. Penalize SEMの導入。alignmentとかの推定が向上する。上記Tech. Paperを参照。
  6. TWOLEVELモデル, CROSSCLASSIFIEDモデルでランダム相関を指定できるようになった。
  7. DSEMの拡張。ランダム相関、TINTERVAL, SAVEDATA, MONTECARLO, plot。Web Talk No.6を参照。

Version 8.10 (2023年6月)
この改訂の際にはマニュアルの追加が発表され(Version 8.9 and 8.10 Mplus Language Addendum)、8.9-8.10の新機能のうちalignment, Penalized SEM, ランダム相関, TINTERVALについて説明された。

  1. 縦断モデルの測定不変性の自動検定に、残差共分散、残差自己相関、ランダム切片が追加された。
  2. PSEMがカテゴリカル変数のWLS推定で使えるようになった。
  3. PSEMのペナルティにLASSOとGEOMINを指定できるようになった。
  4. alignmentの際のDIFF事前分布の出力の拡張。
  5. ESEM でもハット (^)を使えるようになった。
  6. クラスタ別ランダム効果のbetweenレベルのヒストグラムで、有意なところに色をつけられるようになった。
  7. クラスタ別ランダム効果をSAVEDATAできるようになった。

Version 8.11 (2024年5月)
このバージョンアップにあわせて、Version 8.9以降の新機能についての解説(Version 8.9, 8.10, and 8.11 Mplus Language Addendum)が発表され、8.8-8.11の新機能のうち以下のトピックについての説明が追加された。(1)測定不変性の検定とそのためのモデル。(2)8.10で説明されたトピック、すなわち、alignment, Penalized SEM, ランダム相関, TINTERVAL。(3)下記のうち★を付けた項目。おそらくこの文書はVersion 8.10のときのAddendumの上書きになっていると思う。

  1. TYPE=CROSSCLASSIFIEDで、カテゴリカル・アウトカムを持つ強縦断データのDSEMができるようになった。参照すべきはMuthen, Asparouhov & Shiffman (2024, Psych.Methods)
  2. TYPE=CROSSCLASSIFIEDでRDSEMができるようになった。参照すべきはMuthen, Asparouhov & Shiffman (2024, 上記), ならびにMuthen, Asparouhov, & Keijsers (2024 SEM)
  3. ★ TYPE=TWOLEVEL, TYPE=TWOLEVEL RANDOMEで連続時間RDSEMが可能になった。VARIABLEコマンドでCTIMEオプションを使う。またPLOTコマンドではDRIFTオプションが使えるようになった。
  4. ★ SAVEDATAコマンドでH5RESULTSオプションが使えるようになった。Rユーザに便利。
  5. ★ TYPE=THREELEVEL, TYPE=CROSSCLASSIFIEDで、DEFINEコマンドでCLUSTER_MEANオプションが使えるようになった。

 こうしてみると、8.1における残差動的SEMの導入、8.7における残差SEMの導入、8.8から8.10におけるalignment機能の大幅拡充と罰則付きSEMの導入、というのが8.1以降の三大新機能だと思う。