今すぐタダでできる集団レベル相関とHLM

Mplusのデモ版を使えば、タダですぐに集団レベル相関係数の算出と有意性検定ができます。ということをさっき思いつきました。
Mplusのデモ版は、下からダウンロードできます。
Mplusデモ版ダウンロード
上のページのInstalling the Mplus Demo Versionというところにあるやつです。
このデモ版は、ベースとMixure、Multilevelアドオンがすべて入ってます。しかし、従属変数は6つまで、独立変数は2つまでという制限があります。因子分析の場合、項目は従属変数扱いになります。
さて、肝心のやり方ですが、長くなりそうなので続きをどうぞ。
ついでに、HAD7.2から個人レベル・集団レベルの相関係数の有意性検定ができるようになりました。
HADのダウンロード


Mplusのデモ版をインストールしたら、まずMplusを開きましょう。
で、Mptext1というまっ白のウィンドウがあるので、そこに下の文章をコピーしましょう。
DATA:
 !データファイルの指定
FILE IS (ファイル名);
VARIABLE:
NAMES ARE groupID v1 v2;
USEVARIABLES ARE groupID v1 v2;
MISSING IS .;
CLUSTER IS groupID;
ANALYSIS:
TYPE IS TWOLEVEL;
ESTIMATOR = ML;
ITERATIONS = 1000;
CONVERGENCE = 0.000001;
MODEL:
%Within%
v1 with v2;
%Between%
v1 with v2;
OUTPUT: stand;
さて、重要なのはファイル名のところ。まず、Mptext1という作業用ファイル(impファイル)をどこかに保存します。しかし、1つ注意点があって、パスが80文字を超えないところ、そして日本語が含まれないところ、という制限があります。なので、Cドライブにそのままぶら下げるか、1つぐらいフォルダを作ってその中に入れるか、にしましょう。
で、データファイルはimpファイルと同じフォルダに入れておくと便利です。パスを書かなくても、ファイル名だけを書けばOK。もちろん、拡張子も書かないとダメですが。
データファイルは、テキスト形式であればOK。区切りはスペース、タブ、カンマのどれかで。タブがいけるので、エクセルをそのままメモ帳に貼り付けても大丈夫なわけです。
データの並び方は、
グループIDデータ 変数1 変数2
の並び(つまり、3列)で入力しましょう。グループ内の人数はアンバランスでも大丈夫です。
欠損値はピリオド(.)の設定にしてますが、Missing IS のところをいじれば、なんでも大丈夫です。
データさえ入力が終われば、あとはRUNボタンを押せば完了。
outファイルがすぐに作られるのでそれを見ましょう。
outファイルの下のほうにMODEL RESULTSというところがあるので、そこの
       Estimates S.E. Est./S.E. Std StdYX
Within Level
V1   WITH
 V2     共分散 標準誤差  Z値       相関係数
という出力を見よう。上のように、Estimatesが個人レベル共分散、S.E. が標準誤差、 Est./S.E. がZ値(1.96以上で5%有意)、Std は無視して、StdYX が個人レベル相関係数。
で、同様に
Between Level
というところの結果は、集団レベル共分散と集団レベル相関係数。Z値が1.96を超えていれば有意である。
要領をつかめば、独立変数が2つまでのHLMやマルチレベル共分散構造分析が実行できます。一応、パスモデルの書き方を書いておきます。
V1が従属変数、V2とV3が独立変数のとき、
MODEL:
%Within%
v1 on v2 v3;
%Between%
v1 on v2 v3;
で終わり。
V1を従属変数、V2がレベル1の独立変数、W1がレベル2の独立変数で、V2からのパスもW1で説明したい、というまさにHLMをしたい場合。
DATA:
 FILE IS (ファイル名);
VARIABLE:
NAMES ARE groupID v1 v2 w1;
USEVARIABLES ARE groupID v1 v2 w1;
CENTERING = GROUPMEAN(v2);
WITHIN = v2;
BETWEEN = w1;
MISSING IS .;
CLUSTER IS groupID;
ANALYSIS:
TYPE IS TWOLEVEL RANDOM;
ESTIMATOR = ML;
ITERATIONS = 1000;
CONVERGENCE = 0.000001;
MODEL:
%Within%
s | v1 on v2;
%Between%
v1 s on w1;
でOK。上の場合、w1はグループで共通した値が入る、いわゆるレベル2の変数である必要がある。なお、 s | v1 on v2; というのは、v2からv1へのパスをランダム(確率変量)とみなして、sにその分散を投入しろ、という命令文です。
で、Betweenのプログラムのところに v1 s on w1; とあるのは、v1のランダム切片とランダム係数をw1で回帰せよ、という命令文です。なんて簡単なんだ・・・。
出力の見方はちょっとわかりにくいかも。ランダム係数モデルをする場合、標準化係数が見られないのと、適合度は情報量基準しか見られません。まぁ、これはHLM6と同じですが。
で、v2からv1への回帰係数(つまり、レベル1のパス)は、sのmeanのところを見ます。sの平均がまさに、パス係数の値になるのです。sの分散とかも見ることができるので、説明率も計算できます。
変数の数に制限はあるけど、もしかしたら人によってはこれで十分目的は達成できるかもしれない。そう思うと、デモ版があるのはありがたいことですな。
今回はとりあえずこれぐらいで。

This entry was posted in 心理統計学. Bookmark the permalink.