順序ロジットモデル/プロビットモデルを理解する

# はじめに
順序ロジットモデル及び順序プロビットモデルは、多クラス分類においてクラス間に**順序関係**がある場合に有用な手法です。順序関係がある他クラス分類には、例えばアンケート調査における「満足した」「やや満足」「不満足」のような回答者の分類、企業の信用度の格付けを判断する問題が当てはまります。この2つのモデルについて勉強したので、簡単にまとめてみました。

# ロジットモデル・プロビットモデルの復習
まず元となるロジットモデル（ロジスティック回帰）とプロビットモデルについて復習しましょう。これらのモデルは、**二値分類**を行うための統計モデルの1つです。二値分類とは、与えられたオブジェクトの性質に基づいて、オブジェクトを2つのクラスに分類する問題のことです。ここではオブジェクトの性質に対応した説明変数を$\boldsymbol{x}:=(x_1,\dots,x_n)$、目的変数（被説明変数）を$z$で表すことにします。$z$は$0$か$1$の値をとる二値変数で、オブジェクトが2つのクラスのうちどちらのクラスに属するかを表します。

説明変数$\boldsymbol{x}$が与えられたときに、$z$が1になる確率$P(z=1|\boldsymbol{x})$を考えましょう。ロジットモデルとプロビットモデルのどちらの場合も、確率$P(z=1|\boldsymbol{x})$は説明変数の成分$x_i$をある重み$w_i$で足し合わせた**線形予測子**$$y=\sum_{i=1}^nw_i x_i+w_0$$により定まると考えます。つまり$y$の大きさに応じて、$z$が$1$になる確率が決まります。確率$P(z=1|\boldsymbol{x})$と線形予測子$y$を結びつける変換は**リンク関数**と呼ばれ、ロジットモデルとプロビットモデルの違いはリンク関数の違いです。一般的な場合としてリンク関数を$\Lambda$と書くと、$p:=P(z=1|\boldsymbol{x})$と$y$の関係は、$$\Lambda(p)=y$$と表されます。ロジットモデルの場合にはリンク関数はロジット関数$$\mathrm{logit}(p)=\log\frac{p}{1-p}$$で与えられます。つまり、$$P_{\mathrm{logit}}(z=1|\boldsymbol{x})=\frac{1}{1+e^{-\sum_{i=1}^nw_i x_i-w_0}}$$です。一方、プロビットモデルの場合には、リンク関数はプロビット関数（標準正規分布の累積関数の逆関数）で与えられます。したがって、標準正規分布の累積分布関数を$\Phi(y):=(2\pi)^{-1/2}\int_{-\infty}^{y}e^{-t^2/2}dt$とすれば、$$P_{\mathrm{probit}}(z=1|\boldsymbol{x})=\Phi\left(\sum_{i=1}^nw_i x_i+w_0\right)$$です。

後で説明するようにプロビットモデルはノイズ項が正規分布であると仮定するため、ロジスティック分布と仮定するロジットモデルよりも自然なモデルだといえます。ただし、プロビットモデルに比べてロジットモデルのほうが分布を簡単な関数として表すことができるため、ロジットモデルのほうが広く用いられています。

また推定を行うためには、未知のパラメータ$\boldsymbol{w}$を訓練データから決定する必要があります。標準的なパラメータの決定手法は**最尤法**ですが、これらのモデルの対数尤度は少し複雑な関数形となるため、解析的に解を求めることはできません。したがってニュートン方などの数値計算を行う必要があります。

### 潜在変数モデルとしての解釈
ロジットモデル・プロビットモデルは潜在変数として解釈することができます。潜在変数モデルでは、我々が観測できない潜在変数$y^\ast$により、目的変数$z$の値が定まっているとします。$y^\ast$は確率変数であり、$$y^\ast=\sum_{i=1}^nw_i x_i+\epsilon$$で与えられます。ここで$\epsilon$はノイズ項であり、ロジットモデルではロジスティック分布、プロビットモデルでは標準正規分布に従います。目的変数$z$の値、つまりクラスは潜在変数$y^\ast$のしきい値$-w_0$との大小関係によって、$$ z =\begin{cases}
1 \quad & y^\ast > -w_0\\\
0 \quad & y^\ast \leq -w_0
\end{cases}$$
と定まるとします。上記の$z$の決定規則から、説明変数$\boldsymbol{x}$が与えられたときに$z=1$となる確率は、$$P(z=1|\boldsymbol{x})=P(y^\ast>-w_0|\boldsymbol{x})=P\left(\left.\epsilon>-\sum_{i=1}^nw_i x_i-w_0\right|\boldsymbol{x}\right)$$となります。ノイズ$\epsilon$の累積分布を$F(u)$で表せば、$$P(z=1|\boldsymbol{x})=F\left(\sum_{i=1}^nw_i x_i+w_0\right)$$となります。$F(u)$はロジットモデルの場合にはロジスティック関数、プロビットモデルの場合には標準正規分布の累積分布関数になります。よって、この結果は上で計算した結果と一致していることが分かります。



# 順序ロジットモデル・順序プロビットモデル
ロジットモデルとプロビットモデルの復習が終わったので、本題である順序ロジットモデル・順序プロビットモデルについて考えていきます。クラスの総数を$m$として、それぞれのクラスには順位が与えられているとします。目的変数$z$はクラスの順位であり、取りうる値は$1,2,\dots,m$です。この順位$z$を説明変数$\boldsymbol{x}$から推定します。

### 潜在変数モデルとしての理解
普通のロジットモデル・プロビットモデルと同様に潜在変数$ y^\ast:=\sum_{i=1}^nw_i x_i+\epsilon $に着目します。順序モデルでは、$z$は潜在変数$y^\ast$から次の規則（**閾値メカニズム**）によって決まると考えます：$$ z =\begin{cases}
1 \quad & -\infty\leq y^\ast \leq t_1\\\
2 \quad & t_1< y^\ast \leq t_2\\\
\vdots\\\
m \quad & t_{m-1}< y^\ast \leq \infty
\end{cases}$$
ここで$t_1,\dots, t_{m-1}$は順位を決定するためのしきい値であり、重み$\boldsymbol{w}$と同様に学習データから決定されます。つまり潜在変数$y^\ast$がスコアの役割を果たし、スコアの大きさに応じてクラスに分類されます。

上記の$z$の決定規則から、説明変数$\boldsymbol{x}$が与えられたときに$z=k$となる確率は、$$P(z=k|\boldsymbol{x})=P(t_{k-1}<y^\ast\leq t_k|\boldsymbol{x})$$となります。ここで$t_0:=-\infty, t_m:=\infty$と置きました。ノイズ$\epsilon$の累積分布を$F(u)$で表せば、$$P(z=k|\boldsymbol{x})=F\left(t_k-\sum_{i=1}^nw_i x_i\right)-F\left(t_{k-1}-\sum_{i=1}^nw_i x_i\right)$$となります。$F(u)$はロジットモデルの場合にはロジスティック関数、プロビットモデルの場合には標準正規分布の累積分布関数になります。

順序ロジットモデルについてもう少し詳しく見てみましょう。$F(u)$がロジスティック関数の場合には、$$P(z\leq k|\boldsymbol{x})=F\left(t_k-\sum_{i=1}^nw_i x_i\right)=\frac{1}{1+e^{-t_k+\sum_{i=1}^nw_i x_i}}$$と$$P(z\geq k|\boldsymbol{x})=1-F\left(t_{k-1}-\sum_{i=1}^nw_i x_i\right)=\frac{e^{-t_{k-1}+\sum_{i=1}^nw_i x_i}}{1+e^{-t_{k-1}+\sum_{i=1}^nw_i x_i}}$$がえられます。したがって、オッズ比は$$\Omega_k(\boldsymbol{x}):=\frac{P(z\leq k|\boldsymbol{x})}{P(z>k|\boldsymbol{x})}=e^{t_{k-1}-\sum_{i=1}^nw_i x_i}$$で与えられ、対数オッズ比は説明変数$\boldsymbol{x}$について線形になります。


### パラメータの推定
重みパラメータ$\boldsymbol{w}$としきい値パラメータ$\boldsymbol{t}$は、通常のロジットモデル・プロビットモデルと同様に最尤法により行われます。