媒介分析と間接効果の検討

 

この記事では,媒介分析の方法についてまとめています。

 

媒介分析とは

媒介分析とは、二つの変数の間の因果関係を媒介する変数の影響を検討する方法です。
例えば、

X → Y

というモデルを考えます。このとき、XがYに影響しているのですが、XとYの間に媒介変数Mを想定すると

X → M → Y

というモデルになります。

媒介モデルを検討することの利点は、XとYの関連をより精緻化させることができたり、擬似相関の解釈を回避できたりなど、いろいろあります。最近の社会心理学系の論文では頻繁に使われています。

当初はBaron & Kenny(1986)の論文で紹介されている重回帰分析を使った媒介分析が主に使われていたのですが、SEMの発展に伴ってそれもやや時代遅れとなってきました(基本的な発想は健在ですが)。また、媒介分析はいくつか注意するべき点があるので、今回はそれをまとめておきます。

 

媒介分析の手続き

さて、今から述べることは、だいたい村山航さんのページに載ってますので、詳しくはそちらをどうぞ。ただ、数式とかよくわかんない、という人が手っ取り早く理解したい場合、この記事を読んでもらってもいいかなと思います。

まず媒介分析を検討するためのステップを挙げます。
モデルは、X→M→Yを考えます。

  • 0.理論的に、X→M→Yの媒介が想定できることを説明する
  • 1.X→Yが有意であることを確かめる(重要)
  • 2.X→M→YかつX→Yのパスモデルを作って、それぞれのパス係数を推定する
  • 3.X→M→Yの間接効果が有意であることを確かめる
  • 4.X→Yの効果が1と比べてどの程度変化したかを確かめる

最近はSEMを使ったモデルが多く使われているので、これらのステップは簡単に確かめられるようになりました。

重要なのは、0と、1と3です。0はとっても大事ですが、ここでは分析法の話だけに留めておきます。

まず、1が確認できなければ、Mが媒介してるとかそういう話はそもそもどうでも良くなります。
XとYに相関関係が認められないなら、Mが二つを媒介しているとはいえないからです。ちょっと前の論文では、1を検討しないまま、X→MとM→Yのパスが有意であることを持ってMが媒介していると主張しているものもありましたが、あまり良い解釈とはいえないと思います(それでもよい、という立場もあるようですが)。

次に、3の間接効果の検討ですが、これを行っている論文はまだ多くありません。間接効果とは、X→MとM→Yのパスを掛け合わせた効果で、媒介モデルの中核となる部分です。これが有意でないなら、Mが媒介していると強く主張することは難しくなります。XがMを引き起こして、それによってYが引き起こされる、ということを主張したいなら、間接効果を検討しなければなりません。
そこで間接効果の検討方法なのですが、最後にいくつか間接効果を検討する方法をまとめておきます。でも長くなるので、その前に4.のX→Yのパス係数の変化について触れておきます。

多くの論文では、X→Yのパス係数が有意でなくなったことをもって、媒介が成立していると主張しています。しかし、パスが有意でなくなる、というのはそれほど重要なことではありません。重要なのはさっき述べたように間接効果が有意である点です。別にX→Yの効果が依然有意であったとしても、MがXとYを媒介しているということは主張できます。

ただし、もちろんX→Yが有意でなくなると、Mの媒介効果が引き立つのは確かだと思います。X→Yが有意でなくなる場合、「完全媒介モデル」、と言ったりするようです。逆にX→Yが有意な場合は、「部分媒介モデル」と言います。どちらも、媒介モデルが成立していることは間違いないのですが、その後の主張の強さは変わってくるかもしれません。

また、X→MやM→Yのどちらかが有意でないにもかかわらず、間接効果は有意になることはままあります。それでも、間接効果が有意であれば、一応、媒介は成立していると考えられているようです。

このように上記の4つのステップを経て、媒介モデルを検討することができます。

ただ上のステップの0.で触れているように、理論的に媒介モデルがちゃんと想定できることを説明できることが重要です。あらゆる統計的な方法は、実質科学的知見に基づいて用いられるべきだと思います。

 

間接効果の検討方法

よく使われているのがSobel(1982)のSobel testというものです。これはデルタ法によってパスの積の標準誤差を推定し、有意性検定を行うものです。以下の式で、パスの積の標準誤差を求めます。Sobel testよりももう少し正確なAroian testについても載せておきます。
Sobel testによる標準誤差の計算
medi3.jpg

Aroian testによる標準誤差の計算
medi5.jpg

ここで、XMはX→Mのパス係数、MYはM→Yのパス係数、SxmはXMの標準誤差、SmyはMYの標準誤差です。^2は2乗、sqrt()は平方根です。

Amosは間接効果の点推定値は計算してくれますが、標準誤差は計算してくれません。なので、上の式で手計算する必要があります。MplusはModel Indirectのオプションで出力してくれます。Rでも計算してくれるようです。まぁ難しい式ではないので、エクセルとかで簡単に求められます。また、Sobel testをしてくれるWebサイトもあります。

この推定値も、あくまでテイラー展開による1次あるいは2次の近似を用いているので、バッチリ正確というものではありません。それに、パスの積の分布は、一般に正規分布しないことが知られています。歪度が0にならないので、場合によっては第一種や第二種の過誤を犯してしまう可能性があります。Stone & Sobel(1990)によれば、400以上の大標本で漸近的に正規分布を仮定できるとのことです。なので、小標本では分布が歪むことがあることがあります。

もし標本数が少ないデータで間接効果の検定がしたい場合、ブートストラップ法による標準誤差の推定が有効です。ブートストラップ法とは、手元にあるデータからランダムに「復元抽出」したデータセットを使って、たくさんの推定値を求める方法です。ある意味「自作自演」みたいなところがあるのですが、意外とよい推定をすることが知られています。また、小さい標本でも比較的いい結果が得られます。どれくらいのデータセットをリサンプリングすればいいのかというのはモデルの複雑さに依存すると思いますが、単に間接効果を検討したいだけなら、1000とかで十分だと思います。不安なら10000ぐらいやっておけば確実です(それでも数分で終わります)。

あと、ブートストラップ法には2種類あって、ノンパラメトリックブートストラップ法とパラメトリックブートストラップ法です。前者は上で説明したものですが、後者は少し違っています。パラメトリックブートストラップ法は、推定された分散共分散行列の情報を用いて、多変量正規乱数を標本に使う方法です。こちらのほうが良い推定をするようです。

また、ブートストラップ法を用いた場合、ワルド検定(推定値を標準誤差で割ってZ得点に近似する方法)だけでは十分でない場合もあります。なぜなら、推定値の分布が正規分布に近似できない場合はどのみちワルド検定結果が信頼できないからです。その場合は、ブートストラップ法によって計算された推定値の度数分布を確認して、区間推定をすることが重要です。95%信頼区間(左右対称になるとは限らない)を求めて、0が信頼区間に入っていないことを確認できれば5%水準で有意ということになります。

 

ベイズ推定の利点

最後に、ベイズ推定によって間接効果を検討することの利点を挙げておきます。ベイズ推定とはベイズの定理をもとに、主にMCMC(マルコフ連鎖モンテカルロ法)を使って推定する方法です。最近ではAmosにも搭載されています。

MCMCを使ったベイズ推定では、推定値の分布の正規性を仮定していません。また、最尤法と違って漸近理論を使っていないので、小標本でも比較的妥当な推定を行うと考えられています。なので、小標本の間接効果を検討するのにベイズ推定はとても適しています。SPSSのHPにも、Amosのベイズ推定の利点に、「間接効果などの非対称な分布の区間推定」ができることを挙げています。

ベイズ推定の方法はここでは詳しく書きませんが、Amosを持っているが、ブートストラップのやり方がよくわからん、という人は試してみる価値はあると思います。Muthenもベイズ推定を使ったときの長所について触れています。Mplusでのベイズ推定のやり方について書いているのですが、ベイズ推定に興味ある人は一読の価値があります。

以上、媒介分析や間接効果についてまとめてみました。JPSPなどの雑誌では比較的良く使う方法なので、これからは必須事項になるかもしれません。

 

ソフトウェアについて

ブートストラップ法は、大抵のSEMソフトウェアに実装されていますが、Amosは間接効果のブートストラップはやってくれなさそうです(僕は最新版を持ってないのでわかりません→Amos19で確認したところ間接効果の信頼区間を推定してくれます。)。Mplusは可能です。Rも多分大丈夫。他にも、ブートストラップ標準誤差を計算するSPSSやSASのマクロがあるようです。
あと、清水が作ったエクセルのプログラム、HADでも実行可能です。

HADで媒介分析を実行する方法

 

追記:

Mplusで間接効果を検討する方法を書いておきます。このあたりはユーザーズガイドをよく読まないとわからないところもあるので。
まずはSobel testの方法。

ANALYSIS:
TYPE IS GENERAL;
ESTIMATOR = ML;
MODEL:
Y on M X;
M on X;
MODEL INDIRECT:
Y IND M X;
OUTPUT: SAMPSTAT STAND;
次にBootstrap法を使った方法
ANALYSIS:
TYPE IS GENERAL;
ESTIMATOR = ML;
BOOTSTRAP = 2000;
MODEL:
Y on M X;
M on X;
MODEL INDIRECT:
Y IND M X;
OUTPUT: SAMPSTAT STAND CINTERVAL(BCBOOT);

Bootstrapを使うときは、シンメトリーじゃない区間推定をする必要があるので、OUTPUTにCINTERVALオプションを加えています。なお、Bootstrap法は、MLRなどのロバスト推定では使えません。
BOOTSTRAP=のところで指定するのはリサンプリングする数です。1000以上は必要だと思います。
つぎはベイズ推定の方法

ANALYSIS:
TYPE IS GENERAL;
ESTIMATOR = BAYES;
BCONVERGENCE = 0.05;
!FBITERATIONS = 10000;
!CHAINS = 5;
!THIN = 5;
MODEL:
Y on M(P1)
X;
M on X(P2);
MODEL CONSTRAINT:
NEW(INDR);
INDR = p1*p2;
OUTPUT: STAND TECH8;
PLOT: TYPE IS PLOT2;

コメントアウト部分は、好みに設定してください。デフォルトは、Chain=2、Thin=1です。
僕は5ずつにして分析することが多いです。どれだけ精度を求めるか、という話です。

ベイズ推定では、Indirectオプションが使えないのですが、新しいパスを作ることで推定できます。
また、Plotが出力されるので、それで間接効果の分布を視覚的に見ることができます。

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