今日は順序選択モデルというモデルについて書くことにします。
スポンサーリンク
具体例
例えば焼肉屋さんで、ライスを頼みたいと思ったとします。
この時に小ライスか、中ライスか、大ライスが選べるとします。
これ、この順序選択モデルを知らない人だと真っ先に「多項選択モデルを当てはめてみよう」という思考になるはずです。
そんでもって小ライスを0,中ライスを1,大ライスを2として、その選択を考えることになります。
しかし、これは少し不自然で、例えばこれがカルビを選ぶかサガリを選ぶか、それともミノを選ぶかみたいな選択だと0,1,2と割り当てれば良いわけですが、今回って選択肢に順序がありますよね。 小ライス<中ライス<大ライス といった具合です。
この場合何が起こるかというと、量に順序があるということは、人間の選択に順序が影響し始めます。
「今は小腹が空いている程度だから、大ライスは頼めないなー」なんて考えて、大ライス未満の順位にあるライス、つまり中ライスか小ライスを選択するだとか、「とてもお腹が空いているから小ライスや中ライスのような下の順位のライスではなく、大ライスを頼もう」なんて考えたりだとか。
そういった状況なのだから、モデルを使うにあたっても順序を考慮したモデルを考えた方がより状況を反映した結果が得られるはずです。
「ん?0,1,2を割り当てた時点で、数字上0が1番小さくて2が1番大きいのだから、順序は考慮できているのでは?」
と思う方もいらっしゃるかもしれませんが、これは少々まずくて、数字上の距離を仮定してしまっています。
どういうことかというと、要は小ライスと中ライスの距離、中ライスと大ライスの距離が1であり、小ライスと大ライスの距離が2であるという仮定のもと大小を決めていますよね。量的変数ならまだしも、質的変数でこの仮定はあまり説得力がありません。
数理モデル
それではモデル化していきます。
J+1個の順序付けられた選択、0,1,....Jがあるとします。
ここで、選択を行う主体iが、何かしらの情報(説明変数、特徴量)を元に、主観的に自身の効用を最大にするような値を決定すると考えます。
つまり、次のような状況です。
更に、iが取る選択をとし、適当な境界を持って選択判断をしていると考え、その境界に関するパラメータを考えます。
ならば
ならば
…
ならば
といった具合ですね。
ただし、です。
この時、例えばを取る確率は次のように考えることが出来ます。
同様に、であれば、
と得ることが出来ますね。
後は尤度としてPに正規分布を割り当ててやればプロビットとなりますし、ロジット分布を割り当てればロジットとなります。
標準正規分布の分布関数をと書くことにすると
と書けますね。
尤度
よって、尤度は次のように表せます。
まあ、比例記号で書いているところからお察しの通り、制約等々中々複雑なのでベイズを使うのが無難でラクチンです。
事前分布
ベイズを使うということで、の事前分布はどうしましょうという問題が発生します。
制約としてがあるので、例えば次のように考えてやります。
が非負であればよいと考え、各に対して独立にガンマ分布を仮定する。
こんな感じですね。ベイズだとそんなに難しくなく実装できるかなと思います。また今度、試せるデータもあれば、Stanでの実装例も書きたいと思います。