読了: Bockenholt(2001) 一対比較データの階層モデル

Bockenholt, U. (2001) Hierarchical Modeling of Paired Comparison Data. Psychological Methods, 6(1), 49-66.

 仕事の分析で悩むところあってめくった奴。一対比較データを階層モデルで分析しましょうという話。古い論文だが、Tsai(2003)で引用されていたので。

 いわく。
 一対比較のいいところは、遷移性を破っている三つ組みの数を数えて判断の内的整合性を調べることができるというところだ。しかし、どの三つ組みが遷移性を破りそうかを前もって知っているのでもない限り、数えただけでは診断上の価値が低い。遷移性が体系的に破られているのか、選択行動が確率であることの反映に過ぎないのかがわからないからだ。モデルに基づくアプローチが必要である。
 最も良く用いられているのはLuceの選択モデルである。しかしこのモデルはSSTという特性(後述する)を持つという欠点があり、選好に異質性があるときにはデータへの当てはまりが悪い。
 本論文ではLuceの一対比較モデルを拡張し、選好の個人差を考慮し、かつ選好の個人差を対象者・項目を記述する共変量の関数として分析できるようにする。これを階層的一対比較(HPC)モデルと呼ぶことにする。
 HPCモデルは二値データの階層モデルなので階層モデルが扱えるソフトで推定できる。また不完備デザインでも大丈夫。

Luceの一対比較モデルの階層的な特徴付け

 被験者\(s\)の項目\(i\)に対する評価の平均を\(\mu_{is}\)とする。\(i, j\)に対する一対比較判断を二値変数\(Y_{ijs}\)とする(\(i\)が勝ったら1)。
 Luceの選択モデルでは、\(\Psi(\cdot) = 1/(1+\exp(-(\cdot))) \) として$$ Pr(Y_{ijs} = 1) = \pi_{ijs} = \Psi(\mu_{is} – \mu_{js}) $$ $$ Pr(Y_{ijs} = 0) = \pi_{jis} = 1- \Psi(\mu_{is} – \mu_{js}) $$ である。\(\mathbf{\pi}_s = (\pi_{ijs}, \pi_{iks}, \ldots)^\top, \mathbf{\mu}_s = (\mu_{1s}, \mu_{2s},\ldots)^\top\)として\(logit(\mathbf{\pi}_s) = \mathbf{D}_s \mathbf{\mu}_s \)と書ける。\(\mathbf{D}_s\)は計画行列で、本来は、ある行は1がひとつ, -1がひとつ、残りは0である。
 識別のため、\(\mathbf{\mu}_s\)の最後の要素と\(\mathbf{D}_s\)の最後の列を削る。

 今度は\(\mu_{is}\)に個人差を導入する。$$ \mu_{is} = \mu_i + \sum_k^K x_{iks} \beta_{ik} + v_{is} $$ \(x_{iks}\)は個人の共変量でも項目の共変量でもよい。\(\mathbf{v}_s = (v_{1s}, \ldots, v_{I-1, s})^\top\)は平均ベクトル\(\mathbf{0}\), 共分散行列\(\Sigma\)のMVNに従うとする。
 これをHPCモデルと呼ぶ。

 HPCモデルを推定できるソフトはたくさんある。HLM 5, MIXOR, MLwiNなど。ただし、MIXOR以外は尤度関数の近似を使うので、結果がソフトによってちょっと変わってしまう。

解釈と予測

\(\Sigma\)の解釈
 \(\mu_I = 0, \beta_{Ik} = 0\)と制約するので、\(\sigma^2_{v_i}\)はいまや\(i\)と\(I\)の差の分散である。これではわかりにくいので、\(I\)個すべての項目の共分散行列\(\Omega\)を復元できるとありがたい。
 しかし、それにはなんらかの識別制約が必要である。\(\sigma^2_{v_i} = \sigma^2_{\omega_i} – 2 \sigma_{\omega_i} + \sigma^2_{\omega_i}\)という関係があるからだ。しかも\(\Omega\)は正則でないといけない。
 サイズ\(I-1\)の単位行列の右に、全要素が\(-1\)である列を1列追加した行列を\(\mathbf{C}\)とすると、\(\Sigma = \mathbf{C} \Omega \mathbf{C}^\top \)である。Thai(2000)によれば、この関係を満たす解の集合は$$ \{ \Omega \} = \Omega + \mathbf{a} \mathbf{1}^\top + \mathbf{1} \mathbf{a}^\top $$ である。ひとつにきめられないわけだ。
 そこでお勧めしたいのは、対角要素が等しくなるような\(\Omega\)を選ぶことである。これを\(\Omega^*\)としよう。たとえば$$ \Sigma = \left( \begin{array}{cc} 2 & 1 \\ 1 & 2 \end{array} \right) $$ ならば $$ \{ \Omega^* \} = \left( \begin{array}{ccc} 1+c & 0+c & 0+c \\ 0+c & 1+c & 0+c \\ 0+c & 0+c & 1+c \end{array} \right)$$ とし、正則になるような\(c\)を選ぶ。

一対比較確率
 \(\mu_i = \mu_j\)ならば\(Pr(Y_{ij} = 1) = 1/2 \)である。しかし、横軸に\(\mu_i – \mu_j\), 縦軸に\(Pr(Y_{ij} = 1)\)をとった曲線は\(\sigma^2_{v_i}\)によって異なる。異質性が大きくなるほど曲線は平らになる。
 対角要素を等しくした\(\Omega^*\)との関係でいうと、\( \sigma^2_{v_i} = 2(\sigma^{*2}_\omega – \sigma^*_{w_{iI}}) \)である。つまり、\( \sigma^2_{v_i} \)の大小は項目\(i, I\)の間の依存性の指標である。

個人レベル整合性と集団レベル整合性
 先行研究における一貫性の指標として、以下がある。[原文の式に誤植があるように思う。勝手に直した]

  • 弱い確率的遷移性(WST): \( [Pr(i \rightarrow j) \geq 0.5 \ \& \ Pr(j \rightarrow k) \geq 0.5] \Rightarrow Pr(i \rightarrow k) \geq 0.5\)
  • 中程度の確率的遷移性(MST): \( [Pr(i \rightarrow j) \geq 0.5 \ \& \ Pr(j \rightarrow k) \geq 0.5] \Rightarrow Pr(i \rightarrow k) \geq min[Pr(i \rightarrow j), Pr(j \rightarrow k)]\)
  • 強い確率的遷移性(SST): \( [Pr(i \rightarrow j) \geq 0.5 \ \& \ Pr(j \rightarrow k) \geq 0.5] \Rightarrow Pr(i \rightarrow k) \geq max[Pr(i \rightarrow j), Pr(j \rightarrow k)]\)

[つまり、一郎が二郎に勝つ確率P1が5割以上, 二郎が三郎に勝つ確率P2が5割以上だとして、一郎が三郎に勝つ確率が「5割以上」であるべしと考えるか、「P1とP2のうち小さい方以上」であるべしと考えるか、「P1とP2のうち大きい方以上」であるべしと考えるか、という違いであろう]

 Luceの一対比較モデルはSSTを満たす。しかし一対比較についての先行研究はかならずしもSSTが維持されないことを示している(もっとも多くの研究は個人差を考慮していない)。いっぽうHPCモデルは集団レベルでMSTのみを満たす。[…中略…]

循環する三つ組みの予測 [略]

モデル検証 [略]

さまざまな推定手法の比較: 人口データの分析[略]

有名人インタビュー [実データの分析例。略]

考察 [略]
—-
 後半はほとんど読んでないけど、とにかく効用推定の不定性の問題だけに関心があったので、今回はこれで良しとしよう。
 このたび一対比較の論文を読みあさってて、論文の背後にあるらしき文脈が多様で面食らっているんだけど、この論文もそうであった。この論文ではBradley-Terry-Luceモデルを階層化して効用に個人差を持たせるんだけど、そこのところの説明がとても丁寧で(悪く言えばくどくどしていて)、ちょっと驚いた。考えてみたらMCMC登場以前の論文だから、まだ馴染みがなかったのかも知れない。

 以下、自分のためのメモだけれど…
 \(r\)個の項目に対する総当たりの一対比較課題があったとする。背後に潜在的な個人効用ベクトルを考える。これがMVNに従うとして、その平均ベクトル(つまり集団効用ベクトル)と 共分散行列を推定する。
 識別のことを一切考えないならば、個人効用ベクトルの長さは\(r\), 集団効用ベクトルの長さも\(r\)、共分散行列のサイズは\(r \times r\)である。ところがこのモデルは識別できない。さあどうするか。

  • この論文が述べているのはこういうことだ。識別のために、個人効用ベクトルの最後の要素を0に固定しなさい(論文中の表記では\(\mu_s\)。長さ\(r-1\)のベクトルであろう)。共分散行列\(\Sigma\)はサイズ\((r-1) \times (r-1)\)になる。でも\(\Sigma\)は解釈しにくいので、ここからサイズ\(r \times r\)の共分散行列\(\Omega\)を復元するとよい。しかし等価な\(\Omega\)はいっぱいありうるので、そのなかから対角成分が等しい奴( \(\Omega^*\) )を選びなさい。Tsai(2003)が述べているのも、ペア特有の誤差項の話を別にすれば、これと同じだと思う。
  • Maydeu-Olivares & Bockenholt (2005)が述べているのはこうだ。識別のため、集団効用ベクトル( \(\mu_t\) )のうちひとつを0にしなさい。また、共分散行列(\(\Sigma_t\))の対角成分のうち右上の端と左下の端を1にし、一番下の行の非対角成分を0にしなさい。つまり、最初の項目の効用の分散を1に固定し、最後の項目の効用は他の項目とは無相関で分散1だと固定しなさい。

疑問点:

  • この2つの制約のかけ方は等価なのか? 前者は個人効用ベクトルを長さ\(r-1\)に減らすが、後者は個人効用ベクトルは長さ\(r\)のままで、集団効用ベクトルの最後の要素を0にするだけだ。集団レベルの自由パラメータ数も違う。たとえば項目数が3だとして、前者では平均が2個, 分散共分散が3個、計5個。後者では平均が2個、分散共分散は2個、計4個である。うーん、たぶん違う制約なんだろうな…。どちらの制約のほうが良いのだろうか。
  • 前者の場合、\((r-1) \times (r-1)\)にされてしまった共分散行列は解釈しにくいので、\(r \times r\)に変換せよ、一意には決まらないから対角要素を等しくせよ、という話である。うん、これはわかる。では後者の場合はどうか。共分散行列は\(r \times r\)だが、やはり解釈しにくい(項目によって分散と共分散が固定だったり自由だったりする)。やはりわかりやすい共分散行列に変えた方がよいのではないか。その場合、対角要素を等しくすればよいのか? そんなら最初から、対角要素が等しいという制約だけ掛けて、あとは全要素を自由推定すればよいのでは? いやまて、そうすると項目数3のときの自由パラメータ数は平均が2個、分散共分散が4個(非対角が3個で対角が1個)、計6個か… それだとまた違う制約になっちゃうのかなあ。
  • 前者の場合、解釈のために\(r \times r\)の共分散行列を再現したとして、そのときの個人効用の推定値はどうすりゃいいの? もとの推定値から簡単に変換できるのだろうか。うーん、よくわからん。