2022年の秋から冬にかけて、仕事の都合で延々と一対比較課題の分析のことを考えていたのだけれど(官能評価みたいな伝統的モデルじゃなくて、個人レベル効用を推定したい場合の話)、とにかくややこしいのは識別性の話である。何本か論文を読んだり、あれこれ考えたりはしたんだけれど、どうも俺は選択モデルの基礎がわかってないな… という後ろめたさがある。
毎度の疑問ですが、こういうのって皆さんどこで習ってんですかね、いったい。巷のデータサイエンティスト養成コースとかで教えてくれるんでしょうか。そんならぜひ習いたい。実践演習とかいいからさ、基礎を教えてくださいよ、基礎を。
というわけで、手元の教科書を読み直し、弱気になってメモまでとった。最初に読んだときは目からウロコだと思った箇所なんだけど、読み返してみたら、どういうウロコを落としたのか思い出せない。学ぶことの意味とは。
Train, K.E. (2009) Discrete Choice Methods with Simulation. 2nd Ed. Cambridge Univ. Press.
2.5 Identificaiton of Choice Models.
ここには難しい話はあまり出てこなくて、はいそうですね、という感じなんだけど、後半のスケールの識別の話あたり、実務に照らすとちょっと耳が痛い話があったりする。
途中からの引用なので記号が説明なしに出現するが、えーと、意思決定者\(n\)の選択肢\(j\)の効用が\(U_{nj}\)である。
2.5.1 効用の差にしか意味がない
効用の絶対的な水準には意味がない。満潮時はすべての船が高くなるものだ。[←こういうフレーズがときどきぽろっと出てくるところがTrain本の面白いところだ]
これは意思決定者の行動においてもそうだし研究者のモデルにおいてもそうだ。選択確率$$ P_{ni} = Prob(U_{ni} > U_{nj} \ \forall j \neq i) = Prob(U_{ni} – U_{nj} \ \forall j \neq i)$$ は効用の差異にのみ依存する。従って、離散選択モデルにおいては選択肢のちがいを捉えているパラメータだけが推定できる。
一般的にいうと上記に尽きるのだが、より具体的には、いくつかの形式をとる。
選択肢に特有な定数
効用\(U_{nj}\)のうち観察可能な部分\(V_{nj}\), 残りを\(\epsilon_{nj}\)とし、後者を期待値0として、前者を次の線形モデルで特徴づけたとしよう。$$ V_{nj} = x_{nj}^\top \beta + k_j \ \forall j$$ \(k_j\)はモデルに含まれていないすべての要因が効用に及ぼす平均効果を捉えている。
\(k_j\)そのものは推定できず、その差だけが推定できる。つまり、定数の絶対的水準をなんらか正規化しなければならないわけだ。標準的な手順は、選択肢のうちひとつについて\(k_j\)を0にすることである。
[正規化normalizeという言葉、この本ではこの箇所よりも前から何度か出てくるんだけど、見落としているのでなければ、きちんと定義して用いられている言葉ではないと思う。仮に定義するとしたらどうすればよいのだろう? よくわからない。なんというか、お気持ちを表している言葉なんでしょうね]
ソシオデモグラフィック変数
[効用のモデルに外的説明変数をいれた場合も同じことで…という話。めんどくさいのでメモ省略]
独立な誤差項の数
ベクトル\(\epsilon = (\epsilon_{n1}, \ldots, \epsilon_{nJ})^\top\)の同時密度を\(f(\epsilon_n)\)として、選択確率は $$ P_{ni} = Prob(\epsilon_{nj} – \epsilon_{ni} < V_{ni} – V_{nj} \ \forall j \neq i) $$ $$ = \int_\epsilon I(\epsilon_{nj} – \epsilon_{ni} < V_{ni} – V_{nj} \ \forall j \neq i) f(\epsilon_n) d \epsilon_n $$ となるわけだけど、効用の差だけが問題なのだから、\(J\)次元の積分でなくて\(J-1\)次元の積分でよい。誤差の差を \(\tilde{\epsilon}_{nji} = \epsilon_{nj} – \epsilon_{ni}\)と書き、ある\(n, i\)についてこれを並べてベクトル\(\tilde{\epsilon}_{ni}\)とすると、その要素数は\(J-1\)次元である。同時密度を\(g(\tilde{\epsilon}_{ni})\)として、$$ P_{ni} = \int I (\tilde{\epsilon}_{nji} < V_{ni}-V_{nj} \ \forall j \neq i) g(\tilde{\epsilon}_{ni}) d \tilde{\epsilon}_{ni} $$ と書ける。
\(f(\cdot)\)と\(g(\cdot)\)の関係について考えると、任意の\(f(\epsilon_n)\)に対してそれに対応する\(g(\tilde{\epsilon}_{nk})\)を導出できるが、その逆は無理で、いかなる\(g(\tilde{\epsilon}_{nk})\)に対してもそれと整合する無限個の\(f(\epsilon_n)\)が存在する。つまり、\(f(\epsilon_n)\)のうち1次元は識別できない。なんらか正規化しないといけないわけだ。
\(f(\epsilon_n)\)を正規化するやりかたはいろいろある。たとえばロジットモデルの場合は、誤差項の分布が十分に制約されているので、自動的に正規化できている。そういう単純なのを別にすればなんらか手を打たないといけない。以降で個別のモデルについて述べる際に論じる。
2.5.2 効用の全体的なスケールには意味がない
すべての選択肢の効用に定数を加えても選択が変わらないのと同様、定数倍しても選択は変わらない。つまり、効用のスケールもなんらか正規化しなければならない。
標準的な方法は、誤差項の分散を正規化することだ。効用を\(\lambda\)倍したら誤差項の分散は\(\lambda^2\)倍になるから、誤差項の分散を正規化するのは効用のスケールを正規化するのと同じことである。
IID誤差の正規化
誤差項の分散の正規化は、IIDだと仮定するんなら簡単で、なにかの数字に決めてやれば良い。
元のモデルを $$ U^0_{nj} = x^\top_{nj} \beta + \epsilon^0_{nj}, \ \ Var(\epsilon^0_{nj}) = \sigma^2 $$ として、誤差項の分散を1にするということは、$$ U^1_{nj} = x^\top_{nj} \frac{\beta}{\sigma} + \epsilon^1_{nj}, \ \ Var(\epsilon^1_{nj}) = 1 $$ ということになる。\(\beta/\sigma\)は観察変数の効果を、未観察要因のSDに対する相対的な大きさで示している。
数字はなんでもよい。3章で述べるが、標準的なロジットモデルでは誤差分散は\(\pi^2/6\)に正規化されている。
数字はなんでもいいんだけど、モデルの解釈の際には注意が必要である。[同じデータについてロジットモデルとプロビットモデルを比べるとき係数解釈の話。メモ省略]
似た事態は同じモデルを異なるデータセットについて推定したときにも起きる。[交通機関の選択のような例題で]説明変数がコストと時間だとして、シカゴで係数がコスト-0.55, 時間-1.78で、ボストンで-0.81, -2.69だとしよう。ボストンのほうがスケールが大きいのは、効用のうち未観察な部分の分散が小さいからである。[←この話、日頃の仕事のなかでつい忘れがちになりますね。選択モデルで推定した係数をナイーブに群間比較しちゃっているケースは結構あると思う]
異質性のある誤差の正規化
誤差項の分散がセグメントによって異なるモデルでは、どこかひとつのセグメントで分散を正規化するとよい。上の例の場合は、それぞれで推定しちゃってるので、ボストンとシカゴの誤差分散の比を\(k\)とし、シカゴの係数を\(k\)で割るとよい。
誤差項の分散に異質性が生じる理由はいろいろある。Swait & Louviere (1993, JMR)をみよ。
相関のある誤差の正規化
ここまでは、\(\epsilon_{nj}\)が選択肢を通じてIIDだと仮定してきた。では、選択肢間で相関があったらどうするか。
選択肢が4つだとしよう。\(\epsilon_n = (\epsilon_{n1}, \ldots, \epsilon_{n4})^\top\)は平均0で、共分散行列が\(\Omega\), その要素が\(\sigma_{ij}\)だとする。選択肢1の誤差\(\epsilon_{n1}\)との差のベクトル\(\tilde{\epsilon}_{n1}\)について考えよう。その共分散行列\(\Omega_1\)はどうなるか。対角成分は、たとえば$$ Var(\tilde{\epsilon}_{n21}) = Var(\epsilon_{n2} – \epsilon_{n1}) $$ $$ = Var(\epsilon_{n1}) + Var(\epsilon_{n2}) – 2 Cov(\epsilon_{n1}, \epsilon_{n2}) $$ $$ = \sigma_{11} + \sigma_{22} – 2 \sigma_{12}$$ となる。非対角成分は、たとえば$$ Cov(\tilde{\epsilon}_{n21}, \tilde{\epsilon}_{n31}) = \sigma_{23} – \sigma_{21} – \sigma_{31} + \sigma_{11} $$ となる。たとえば\(\sigma_{11}\)を\(k\)に固定したとしても、それだけでは十分ではない。
よく使われている方法は、[誤差のうちひとつの分散を固定するのではなく] 誤差の差のうちひとつの分散を固定する方法である。たとえば\(\tilde{\epsilon}_{21}\)の分散を1にする。他の要素は、元の要素を\(\sigma_{11} + \sigma_{22} – 2 \sigma_{12}\)で割ったものになる。
誤差項がIIDのときには\(\sigma_{11}\)を\(k\)に正規化するけれど、それはこの行列の対角要素を\(2k\)に制約するのと同じことである。[←なるほどね]
ところで、\(\Omega\)の要素は10個だが、\(\Omega_1\)の要素は6個である。ひとつ固定したら5個になる。このように、選択肢数\(J\)のモデルの共分散パラメータの数は、正規化すると\(J(J-1)/2-1\)となる。
共分散パラメータの解釈は難しい。誤差の差の共分散行列の、\(\tilde{\epsilon}_{n21}\)を\(k\)に固定したやつを\(\Omega^*_1\)とする。そのある要素、たとえば要素(2,2)はなにを表しているか。それは\(\ (\sigma_{11}+\sigma_{22}-2\sigma_{13}) / (\sigma_{11}+\sigma_{22}-2\sigma_{12})\)、つまり、選択肢1と2の間の誤差の差の分散に対する、選択肢1と3の誤差の差の相対的な大きさを表している。さらに、2つの選択肢の誤差の差の分散は、それぞれの誤差の分散だけでなくその共分散も表している。ややこしい。
後述するように、ロジットモデルやnestedロジットモデルでは正規化が自動的になされる。誤差項に仮定があるからだ。こういうモデルの解釈は比較的に楽である。問題は混合ロジットやプロビットである。リサーチャーはモデルを指定する際にも解釈する際にも、正規化のことを頭に置いておく必要がある。
—————
効用の誤差項の共分散行列じゃなくて効用の誤差の差の共分散行列について考えなさいというアドバイス、それは仰る通りなんだけど、結構ハードル高いよなあ…
個人レベル効用を想定するサーストン型一対比較モデルを確認的因子分析モデルと捉えて推定しようとすると(つまり項目の効用を因子とみるわけね)、ふつう効用は項目を通じてIIDではないから等分散性も直交性も想定できず、Tsai(2003)が縷々説明しているようなややこしい議論が必要になる。むしろ、通常の選択課題でそうするように、ある選択試行でのある選択をひとつの観察事例とみなした階層多項選択モデルのほうが、識別性の話は簡単になるのかな? とぼんやり思ってたんだけど、このメモを読み直していて、そういう問題じゃねえな、と気が付いた。
日頃から多項ロジットモデルに頼っているとついつい忘れがちだが、選択モデルの識別性っていうのは元来ややこしい話なのだ。そのややこしさは、モデル上の共分散行列は効用の共分散行列なのに、識別性について考える際には効用の差の共分散行列を考えないといけない、という点から来ているのだと思う。