elsur.jpn.org >

« 読了:「ひばり」「こんにちは、母さん」「井上ひさし全芝居 6」「ヴェニスの商人」 | メイン | 読了: Rust, Inman, Jia, & Zahorik (1999) きみたちは知覚品質の真実について知らない »

2013年11月 5日 (火)

Asparouhov, T., Muthen, B. (2013) Multiple-group factor analysis alignment. Mplus Web Notes, 18. www.statmodel.com.
 ここしばらく、仕事方面でちょっと珍しいくらいのドタバタが続いていて、休みになるとてきめんに体調を崩すものだから、急ぐ用事のない論文など読んでいる暇はほとんどなかったし、めくっても端から忘れてしまった。ようやく少しだけ一息ついたので、リハビリのつもりで目を通した論文。やれやれ。

 SEMソフトウェアMplusの最新バージョンに搭載された、多群モデルでのalignmentオプションについての解説。いまのところMplusの資料扱いだが、Structural Equation Modeling誌に受理されている由。
 どういう話かというと... PISAやTIMSSや、世界XXヶ国調査なあんていうような、群の数がすごく多い多群データに対する確認的因子分析では、教科書的に尤度比検定でちまちま測定不変を確かめたり等価制約を緩和したりすんの、現実的じゃないでしょ? もっと便利な方法を考えたから使ってね、という趣旨。

 1因子の多群因子分析モデルについて考える。群 $g$ に属する 対象者 $i$ の 項目 $p$ における値を $y_{ipg}$ とする。因子得点を $\eta$, 負荷を$\lambda$, 切片を$\nu$で表記して、
$y_{ipg} = \nu_{pg} + \lambda_{pg} \eta_{ig} + \varepsilon_{ipg}$
 まず、いわゆるconfigural model、すなわち切片 $\nu_{pg}$ と負荷 $\lambda_{pg}$を群ごとに自由推定するモデルについて推定する(M0と呼ぶ)。識別の都合上、因子平均 $\alpha_g$を0, 因子分散 $\psi_g$を1とするのが通常のお約束である。推定された切片を$\nu_{pg, 0}$, 負荷を$\lambda_{pg, 0}$とする。
 さて、$\alpha_g=0, \psi_g=1$としたけれども、これらをどう変えようが、切片と負荷を
$\nu_{pg,1} = \nu_{pg,0} - \alpha_g ( \lambda_{pg,0} / \sqrt{\psi_g} )$
$\lambda_{pg,1} = \lambda_{pg,0} / \sqrt{\psi_g}$
とすれば、そのモデルはM0と同じ尤度を持つ。そりゃそうだ。
 そこで! 群間の測定変動の大きさを表現する関数を考え、これを最小化する $\lambda$と$\nu$をみつけましょう、というのがalignmentアプローチ。な・る・ほ・ど-。論文でも触れているけど、これ、因子の回転の話とよく似ている。回転の場合は解釈しやすさを目指して因子負荷を変えていくけれど、ここでは群間の測定不変を目指して因子分散と因子平均を変えていくわけである。

 最小化する損失関数は、
$F = \sum_p \sum_{g1 \lt g2} \omega_{g1, g2} f(\lambda{pg_1,1} - \lambda{pg_2,1}) + \sum_p \sum_{g1 \lt g2} \omega_{g1, g2} f(\nu{pg_1,1} - \nu{pg_2,1}) $
 つまり、「ある項目に注目し、ある2群のペアについて、負荷の差と切片の差を求めなさい。それぞれを関数 $f$ で変換しなさい。それにそのペア特有な重みを掛けなさい。これを全項目、全ペアで足しあげなさい」という関数である。重みをつけるのは群サイズがちがうかもしれないからで、$\omega_{g1, g2}$は群サイズの積の平方根とする。
 ここで関数 $f(x)$ のことを component loss function (CLF) という由。微分する都合で $f(x) = \sqrt{\sqrt{ x^2 + \epsilon}}$ とするけど($\epsilon$はすごく小さな定数)、気持ちとしては $f(x) = \sqrt{ |x| }$ である。平方根をとっているのは、「たくさんの項目でパラメータがそれなりに群間で類似させたい」というより、「少数の項目は大きくずれてかまわないから、たいていの項目を群間でぴったり揃えたい」からである由。識別の都合上、各群の因子分散の積を1とする。因子平均は、最初の群を0に固定するか (FIXED), 全部自由推定する(FREE)。
 以上をベイズ推定する。ベイジアンでないと解けないというわけじゃないけど、そっちのほうが柔軟だから、という理由らしい。なおベイジアンといっても、M0のときは正直に無情報事前分布を使う手と(configural method)、M0の段階で事前分布に強い群間相関を入れちゃう手がある(BSEM method)。

 論文後半は、シミュレーションを3つ、実データへの適用をひとつ。FREEとFIXEDのどっちがいいか、とかなんとか(どうも一概にはいえないらしい)。面倒なので読み飛ばした。
 結論:

 いやあ、素晴らしい。こいつは便利そうだ。マルチ・カントリー調査データの分析で測定不変の問題に直面するたびに、まさにこういう風な、たとえば「10ヶ国を通してみたときこの項目は抜いたほうがいいっすね」といえるような探索的手法があるといいなあと思っていたのである。そういうニーズを抱えていたのが自分だけでなかったとわかって、とてもうれしい。そりゃそうだよね! ちまちま制約緩和なんて、やってらんないよね!
 cross-loadingが許されないというところがちょっとつらいが、自分の仕事に直接に役に立ちそうな手法であった。さっそく試させて頂こう。いやあ、ありがたい、ありがたい。

論文:データ解析 - 読了: Asparouhov & Muthen (2013) たくさんの群を通じて測定不変な因子分析モデルを手っ取り早くつくる新手法