ともにゃん的データ分析ブログ

勉強したことの備忘録とかね

離散選択理論入門(その2)

はじめに

前回の記事からかなり期間が空いてしまいました。

今回は離散選択理論入門の第2段。ロジット確率の導出とそれらの性質について見ていきます。


Logitモデルの導出

今現在、広く用いられている離散選択モデルとしてロジット(Logit)モデルがあります。ロジスティック回帰を皆さんよく使ってますよね?それです。

選択確率の一般形は

 \begin{eqnarray*}
P_{ni} &=& \int_{\epsilon}I(\epsilon_{nj} - \epsilon_{ni} < V_{ni} - V_{nj}\ \forall j \neq i)f(\epsilon_{n})d\epsilon_{n}\\
&=& \int_{\epsilon}I(\epsilon_{nj} < \epsilon_{ni} + V_{ni} - V_{nj}\ \forall j \neq i)f(\epsilon_{n})d\epsilon_{n}
\end{eqnarray*}

で表されるのでした。


ここで、効用の未観測部分である  \epsilon_{n}=(\epsilon_{n1},\ldots,\epsilon_{nJ})^{'} のそれぞれの要素に、独立にガンベル分布を仮定するとLogitモデルが導出できます。ガンベル分布は以下の式で表される分布です:

 \begin{eqnarray}
f(\epsilon_{j}) = e^{-\epsilon_{nj}}e^{-e^{-\epsilon_{nj}}}
\end{eqnarray}

また、ガンベル分布の累積分布関数は以下のようになります:

 \begin{eqnarray}
F(\epsilon_{j}) = e^{-e^{-\epsilon_{nj}}}
\end{eqnarray}

さて、ここで選択確率の一般系の式について、選択肢  i の効用の未観測部分  \epsilon_{ni} の値が分かっているとします。このときの選択肢  i を選択する確率は、(  i 以外の)各選択肢の効用の未観測部分  \epsilon_{nj}, j \neq i が互いに独立なガンベル分布に従うことを用いて以下のように計算できます:

 \begin{eqnarray}
\mbox{Prob(選択肢 i を選択する}| \epsilon_{ni}) &=& \prod_{j \neq i} F(\epsilon_{ni} + V_{ni} - V_{nj})\\
&=&  \prod_{j \neq i} e^{-e^{-(\epsilon_{ni} + V_{ni} - V_{nj})}}
\end{eqnarray}

したがって、  P_{ni} = \mbox{Prob}(\mbox{選択肢} i を選択する) は以下のようになります:

 \begin{eqnarray}
P_{ni} &=& \mbox{Prob}(\mbox{選択肢 i を選択する})\\
&=& \int_{-\infty}^{\infty} \mbox{Prob}(\mbox{選択肢 i を選択する}, \epsilon_{ni}) d\epsilon_{ni}\\
&=& \int_{-\infty}^{\infty} \mbox{Prob}(\mbox{選択肢 i を選択する}|\epsilon_{ni})f(\epsilon_{ni}) d\epsilon_{ni}\\
&=&  \int_{-\infty}^{\infty} \left(\prod_{j \neq i} e^{-e^{-(\epsilon_{ni} + V_{ni} - V_{nj})}}\right)e^{-\epsilon_{ni}}e^{-e^{-\epsilon_{ni}}}d\epsilon_{ni}\\
&=&  \int_{-\infty}^{\infty} \left(e^{-e^{-\epsilon_{ni}}} \prod_{j \neq i} e^{-e^{-(\epsilon_{ni} + V_{ni} - V_{nj})}}\right)\exp({-\epsilon_{ni}})d\epsilon_{ni}\\
&=&  \int_{-\infty}^{\infty} \left(\prod_{j} e^{-e^{-(\epsilon_{ni} + V_{ni} - V_{nj})}}\right)\exp({-\epsilon_{ni}})d\epsilon_{ni}\\
&=& \int_{-\infty}^{\infty} \exp{\left(-\sum_{j}e^{-(\epsilon_{ni} + V_{ni} - V_{nj})}\right)}\exp({-\epsilon_{ni}})d\epsilon_{ni}\\
&=& \int_{-\infty}^{\infty} \exp{\left(-e^{-\epsilon_{ni}}\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}\exp({-\epsilon_{ni}})d\epsilon_{ni}
\end{eqnarray}

ここで  t=\exp({-\epsilon_{ni}}) と変数変換をすると、  dt=-\exp({-\epsilon_{ni}})d\epsilon_{ni} であり、積分区間 [-\infty, \infty] \rightarrow [\infty, 0] となるので

 \begin{eqnarray}
P_{ni} &=& \int_{-\infty}^{\infty} \exp{\left(-e^{-\epsilon_{ni}}\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}\exp({-\epsilon_{ni}})d\epsilon_{ni}\\
&=& \int_{\infty}^{0} -\exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}dt\\
&=& \int_{0}^{\infty} \exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}dt\\
\end{eqnarray}

ここでさらに、

 \begin{eqnarray}
&& \frac{d}{dt}\exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)} = -\sum_{j}e^{-(V_{ni} - V_{nj})}\exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}\\
&\iff& \exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)} = -\frac{\frac{d}{dt}\exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}}{\sum_{j}e^{-(V_{ni} - V_{nj})}}
\end{eqnarray}

であるから

 \begin{eqnarray*}
P_{ni} &=& \int_{0}^{\infty} \exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}dt\\
&=& \int_{0}^{\infty} -\frac{\frac{d}{dt}\exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}}{\sum_{j}e^{-(V_{ni} - V_{nj})}}dt\\
&=& \left[-\frac{\exp{\left(-t\sum_{j}e^{-(V_{ni} - V_{nj})}\right)}}{\sum_{j}e^{-(V_{ni} - V_{nj})}}\right]_{0}^{\infty}\\
&=& \frac{1}{\sum_{j}e^{-(V_{ni} - V_{nj})}}\\
&=& \frac{\exp{(V_{ni})}}{\sum_{j}\exp{(V_{nj})}}
\end{eqnarray*}

となって、Logitモデルが導出されます。

ちなみに、選択確率の式の部分で確率的に動く変数は  \epsilon_{n} であり、それは  \epsilon_{nj}-\epsilon_{ni} という形で入っています。したがって選択確率は、確率変数  \epsilon_{nj}-\epsilon_{ni} の値が  V_{ni} - V_{nj} である確率を表しています。つまり、  \epsilon_{nj}-\epsilon_{ni} の分布における累積分布関数が分かれば選択確率が計算できることになります。ここで、  \epsilon_{n} にはガンベル分布を仮定してみるのでした。このとき、ガンベル分布に従う確率変数の差の分布はロジスティック分布という分布に従うことが分かっています。ロジスティック分布の密度関数と累積分布関数は以下のように表されます:

 \begin{eqnarray*}
f(x) &=& \frac{\exp{(-x)}}{(1+\exp{(-x)})^{2}}\\
F(x) &=& \frac{\exp{(x)}}{1+\exp{(x)}}
\end{eqnarray*}

 F(x) をみると、選択肢が2つの場合のLogitモデルの確率と同じですね。


好みの多様性

Logitモデルの良いところは、意思決定者の考えられる各選択肢に対する好みを解析できるところにあります。つまり、意思決定者が実際に選んだ選択肢(目的変数)とそれに付随する変数(説明変数、特徴量)を集めることで、回帰分析を行えるところにあります。

例えば車を購入しようと考えているとします。つまり、意思決定者の  n さんが  J 台の選択肢の中から1つの車  j を選択する状況を考えます。このときに、車を選ぶ要因として様々な事が考えられます。例えば、  n さんは"車内の広さ"や"車の価格"といった要因を気にして購入する車を選ぶかもしれません。

このことを効用関数を用いて表現してみます。  SR_{j} を車  j の車内の広さ、  PP_{j} を車  j の価格とします。このとき、効用関数がこれらの要因の線形結合で表されるとすると、  n さんが車  j を購入するときの効用は以下のように表すことができます:

 \begin{eqnarray*}
U_{nj} = \alpha_{n}SR_{j} + \beta_{n}PP_{j} + \epsilon_{nj}
\end{eqnarray*}

ここで、  \alpha_{n} \beta_{n} は、それぞれ  n さんの"車内の広さ"と"車の価格"に対する反応度合いを表す係数です。また、  \epsilon_{nj} は、分析者が知ることができない未観測の要素をすべてあつめたものです。つまり、観測できる効用が  V_{nj}=\alpha_{n}SR_{j} + \beta_{n}PP_{j} 、観測できない効用が  \epsilon_{nj} ということになります。

ここでLogitモデルの導出で述べたように、観測できていない部分  \epsilon_{nj},j=1,\ldots J がそれぞれ互いに独立に同じガンベル分布にしたがうと仮定すれば、上記の効用を用いて  n さんが車  j を購入する確率  P_{nj}

 \begin{eqnarray*}
P_{nj} &=& \frac{\exp{(V_{nj})}}{\sum_{i=1}^{J}\exp{(V_{ni})}}\\
&=& \frac{\exp{(\alpha_{n}SR_{j} + \beta_{n}PP_{j})}}{\sum_{i=1}^{J}\exp{(\alpha_{n}SR_{i} + \beta_{n}PP_{i})}}
\end{eqnarray*}

と計算できるようになります。


Logitの限界

Logitモデルは、その式の簡単さから様々な場面で用いられていますが、強い仮定の下で導出が行われています。Logitモデルの仮定は、効用のうち未観測の部分  \epsilon_{nj},j=1,\ldots, J が互いに独立にガンベル分布に従うという仮定がされていました。このうち"独立"にという部分の仮定がかなり強そうです。このことは、ある人の意思決定を分析者が分析をする際に、

例えば、車内の広さと  n さんの家族の人数には関連がありそうです。つまり、家族の人数が多いほど、車内の広さに対して反応しやすくなるということは十分に考えられるでしょう。このことは、車内の広さに対する係数である  \alpha_{n} n さんの家族の人数  M_{n} を以下のように関連付けることで表現できるでしょう:

 \begin{eqnarray*}
\alpha_{n} = \rho M_{n} + \mu_{n}
\end{eqnarray*}

ここで、  \rho は車内の大きさの係数に対する、家族の人数の反応を表す係数です。また、  \mu_{n} は、  n さんの家族の人数以外の、"観測できていない"車内の大きさの反応度へ影響を与える要因です。例えば、  n さんの家族の人数は多いのだけれどそんなに家族揃って外出することはないから、車内の広さはそんなに気にしない家族だとすれば、車内の広さへの反応度である  \alpha_{n} が小さくなるような要因が  \mu_{n} の中に詰め込まれていることになりますが、このことは観測できていないとします。

このとき、この  \alpha_{n} U_{nj} の右辺に代入してみると次のようになります:

 \begin{eqnarray*}
U_{nj} &=& \alpha_{n}SR_{j} + \beta_{n}PP_{j} + \epsilon_{nj}\\
&=& (\rho M_{n} + \mu_{n})SR_{j} + \beta_{n}PP_{j} + \epsilon_{nj}\\
&=& \rho M_{n}SR_{j} + \beta_{n}PP_{j} + \mu_{n}SR_{j} + \epsilon_{nj}\\
&=& \rho M_{n}SR_{j} + \beta_{n}PP_{j} + \tilde{\epsilon}_{nj}
\end{eqnarray*}

ここで  \mu_{n}SR_{j} は「(未観測の要素  \mu_{n} )  \times (車内の広さ  SR_{j} )」なので、結局分からないということになります。したがって未観測な部分同士の足し算  \tilde{\epsilon}_{nj} = \mu_{n}SR_{j} + \epsilon_{nj} を、改めて未観測な部分として定義し直しました。このとき、それぞれの選択肢  j=1,\ldots,J に対する未観測な効用である  \tilde{\epsilon}_{nj} には"共通"に  \mu_{n} が入っており、したがって  \tilde{\epsilon}_{nj} は、図のように  \mu_{n} を介して互いに相関を持つことになります。


f:id:kefits:20190202170206p:plain:w300


このような場合、つまり個々人の意思決定の"傾向"のようなものがあり、それが観測できていない場合、Logitモデルの仮定である、「効用のうち未観測な成分は"独立"にガンベル分布に従う」という仮定が満たされないことになり、Logitモデルを使用するのは不適切ということになります。

個々人の購買を追跡調査した場合、過去の購買行動が未来の購買行動と似ることは大いにありえます。そして、その"似ている"ということを"完全に"説明するデータは手に入らないでしょう。上記の車の例では、  n さんの"車内の広さ"に対する反応度合い  \alpha_{n} を説明するにあたって、  n さんの家族の人数と未観測な部分  \mu_{n} を考慮しましたが、この未観測な部分  \mu_{n} の中には、例えば  n さんはレジャー好きかそうでないかといった要素が含まれているかもしれません。レジャー好きならば物を多く運ぶことが想定され、したがって車内が広い車を選択するように係数  \alpha_{n} が調整されるかもしれません。以上から、効用の未観測な部分が独立に分布しているという仮定は、現実を表現するのには強い仮定であることがわかります。そしてLogitモデルはこのような強い仮定の下で導出されていることを念頭に置いて使用する必要があるのです。


代替パターン

 n さんがある選択肢を選ぶ確率がLogitモデルで表現されているとします。このとき、例えば選択肢  i の価格が下がったときに、Logit確率が高くなることで選択肢  i を選択しやすくなるようになり、その他の選択肢を選ぶLogit確率は下がることが考えられます。つまりこの場合、選択肢  i の価格という要素の変化によって、代替が起こっていることになります。

このように、選択肢に関する要因の変化によって選択確率の変化、代替が起こるわけですが、この代替パターンはどのようなモデルを選択するか、つまり効用の未観測部分にどんな分布を仮定するかによって変わってきます。つまりデータ解析をする際には、実際に人々が選択するという行為をよく観察し、それをうまく説明するモデルを構築する必要があるわけです。ここではLogitモデルが、どのような代替パターンを示すのかをみていくこととします。


IIA特性

 n さんが選択肢  i k を選択する確率である、それぞれのロジット確率の比(オッズ)を計算してみます:
 \begin{eqnarray*}
\frac{P_{ni}}{P_{nk}} &=& \frac{\exp{(V_{ni})} / \sum_{j=1}^{J}\exp{(V_{nj})}}{\exp{(V_{nk})} / \sum_{j=1}^{J}\exp{(V_{nj})}}\\
&=& \frac{\exp{(V_{ni})}}{\exp{(V_{nk})}}\\
&=&\exp{(V_{ni} - V_{nk})}
\end{eqnarray*}

上記の式は、選択肢  i k 以外の選択肢に関する情報に依存しない形になっています(  i k 以外の添字が最終的な計算結果に出てきていません)。このことから、  n さんが選択肢  i を選ぶ確率と  k を選ぶ確率のオッズは、"他の選択肢を選ぶ効用から影響を受けない(関係がない)"ことがわかります。このLogitモデルの性質は、The Property of Independence from Irrelevant Alternatives (無関係な選択肢から独立な性質)の頭文字をとって、IIA特性と呼ばれています。

Logit確率はこのIIA特性によって、例えば選択肢  j を選ぶ効用が上がることで選択肢  j を選択する確率が上昇したとき、選択肢  j 以外のその他の選択肢を選ぶ確率は、互いに一定の比を保ちながら減少することになります。

このことは、選択肢  j 以外を選択する確率は全て同じ割合で減少すると言い換えることができます。つまり、その減少率を  r と表すならば、選択肢  j を選択する確率が上昇した場合の選択肢  j 以外を選択する確率は  rP_{ni}, i \neq j と表現できることになります。このときの選択肢  j 以外を選択する確率の比をとると

 \begin{eqnarray*}
\frac{rP_{nj}}{rP_{nk}} = \frac{P_{nj}}{P_{nk}}
\end{eqnarray*}

となり、IIA特性が満たされてることが確認できます。以上がLogitモデルの代替パターンです。しかたがってこのような代替パターンが想定されるデータに対しては、Logitモデルを構築するのが良いでしょう。

しかしこのIIA特性では、現実をあまり反映できていない例を簡単に上げることができます。その有名な例として「赤バス青バス問題」と呼ばれるものがあります。

赤バス青バス問題

いま、移動手段の選択肢として車(c)と青いバス(bb)があるとします。また、これらの選択肢を選ぶ確率は  P_{c}=P_{bb}=1/2 で同じであるとします。したがって、オッズは  P_{c}/P_{bb}=1 となります。

ここで、赤いバス(rb)が導入されたとします。移動手段の選択肢として、車、青いバス、赤いバスの3つがある状況です。このとき、この確率モデルがIIA特性を満たすならば、それぞれの選択肢を選ぶ確率のオッズは一定、つまり  P_{c}/P_{bb}=1 かつ  P_{rb}/P_{bb}=1 であり、またそれぞれの選択肢を選ぶ確率は  P_{c}=P_{bb}=P_{rb}=\frac{1}{3} となります。

しかし現実問題として、新たに導入された選択肢である赤いバスは元々あった青いバスとは色が異なるだけで交通の手段としては本質的には同じはずですが、それが導入されることによって車を選択する確率が下がってしまっています。これは妙であり、本来であれば車を選択する確率は  P_{c}=1/2 と変わらず、青いバスと赤いバスを選択する確率が  P_{bb}=P_{rb}=1/4 となるべきでしょう。つまり、バスという同カテゴリーに属する選択肢の中だけで、そこに属する選択肢の選択確率が変化すべきでしょう。IIA属性を有しているモデル、つまりLogitモデルではこの代替パターンを表現することができず、車を選択する確率を過小評価してしまい、バスを選択する確率を過大評価しています。現実の意思決定をモデル化するならば、車を選ぶ確率と青いバスを選ぶ確率のオッズ  P_{c}/P_{bb} は、この赤いバスが新たに導入された場合に一定ではなく、実際には変化すべきということになります。したがってこのような場合、Logitモデルは不適切なモデルということになります。

そこで、赤バス青バス問題のような代替パターンを表現するモデルとしてNested Logitモデルがあり、今後の記事で紹介するつもりです。また、この代替パターン以外の様々代替パターンも考えられ、それを表現するモデルとしてProbitモデルやMixed Logitモデルも今後紹介していこうと思っています。

IIA特性の強み

IIA特性は、新たな選択肢が増えときや、  n さんの選択肢  i の効用に影響を与える要素  x_{ni} (例えば選択肢の価格)が変化したときに、選択肢  i 以外の選択肢の効用に影響を与えないということです。もしこれによって表現される選択肢の代替パターンが、現実に即したものならばLogitモデルを適用するのが良いでしょう。このとき、モデルのパラメータを推定するのが楽になるかもしれません。

例えば選択肢が100個ある問題を考えます。しかし、興味のある選択肢はそのうちの10個だとします。このとき、100個の選択肢が含まれたデータでLogitモデルを推定すると計算時間がかなりかかることが予想されますが、もし選択肢の数を10個に減らすことができれば、この計算時間は大幅に減少することになるでしょう。IIA特性は、ある選択肢の影響が他の選択肢の効用に影響を与えないという性質です。したがって、興味のある選択肢10個だけをデータとして残し、他の90個の選択肢を解析から外しても、興味のある選択肢10個のパラメータを、選択肢を100個データ員含めた場合に求めたパラメータと一致するように推定することができます。この性質をよく理解することで、更に計算時間を短縮することができるかもしれません。


最後に

また期間が空いちゃうかもしれませんが、第3段もお楽しみに☆(ゝω・)v