最近マルチレベルSEMに関する質問も増えてきました。なので、昔僕が書いたファイルを公開しておきます。
マルチレベルSEMを実行するためのソフトウェアといえばMplusやEQS,MLwinなどがありますが、SEMのソフトウェアとしてAmosを使っている人も多いと思います。Amosでは基本的にマルチレベルSEMはできないのですが、部分的に可能にする方法があります。
今回はその方法を紹介します。
マルチレベルSEMとは何か、という話は別の記事や資料を参照してください。
マルチレベルSEMの解説とサンプルデータの分析例
マルチレベル共分散構造分析とは
◆Amosでの方法の前に
さて、マルチレベルSEMは基本的にはSEMの上位モデルになるわけですが、Muthenらが提案した方法ではむしろSEMの枠組みでマルチレベルSEMが実行できます。その方法を、Muthen最尤法、MUMLと呼んだりします。
Amosで実行するのはこのMUMLを利用する方法です。MUMLは、集団間の共分散行列と、集団内の共分散行列をそれぞれ計算して、多母集団同時分析を利用して推定します。ここで多母集団同時分析を利用するのは、複数の集団があるからではなく、集団間と集団内という二つの母集団を想定してモデリングするからです。つまり、BetweenグループとWithinグループという2集団を考えるわけです。
あとはいろいろややこしいモデリングをすると、マルチレベルSEMの推定とほぼ同じ結果を得ることができるのです。ほぼ同じ、というのは、各集団のサンプルサイズが等しければ同じで、違えば変わってきます。
◆AmosでマルチレベルSEMをする大まかな手順
Amosで上のような方法でマルチレベルSEMを実行するためには、まず集団間の共分散行列と、集団内の共分散行列をそれぞれ計算し、Amosに入力する必要があります。これを自分でやるのは大変面倒なのですが、このブログにあるHADを使えば、MUML用の共分散行列をAmos入力フォーマットで出力できるので簡単です。
B_covというシートが集団間の共分散行列、W_covとあるのが集団内の共分散行列です。この行列を出力するためには、HADの「分析」ボタンを押して、「マルチレベルデータ」をチェックし、「MUML用共分散行列」をチェックして、「OK」ボタンを押せば終わりです。もちろんその前に、分析する変数を使用変数に入力しておく必要があります。
共分散行列の計算ができたら、Amosを立ち上げてモデリングです。以下のリンクにAmosの多母集団分析の機能を使ってマルチレベルSEMを実行する方法をあげているので、参考にしてみてください。図を使わないと説明しずらいので、PDFにしてみました。また、一緒にサンプルデータを入れたHADもあるので試してみてください。
一度ご自分で試されたほうがわかりやすいと思います。モデリングは結構複雑なので頑張ってみてください。