Probitモデルについての考察

arg maxarg min\providecommandrecterf\providecommand\providecommand\providecommandPr

はじめに

動機は忘れたが、2値分類問題を解く方法の一つである「Probitモデル」について調べた。納得するのに手数を要した事柄について備忘録代わりにまとめておく。本記事で使う記号は英語版Wikipediaの記事に従う。

潜在変数モデルについて

潜在変数モデルでは、独立変数X=[X0,X1,,Xn]Rnに対して潜在変数はY=βX+ε,(β=[β0,β1,,βn]Rn)と仮定される。

εは標準正規分布に従う確率変数である。ただしXの最初の要素X0は1に固定されている(これによって分布のオフセットを表現している)。従属変数Yは次の規則で決まるものと仮定される。

Y={1Y>00otherwise

すなわち

Pr(Y=1|β,X)=Pr(ε<βX|β,X)=Pr(ε<βX|β,X)=Φ(βX)

最後から二番目の等号は、標準正規分布が原点に関して対称であることから成り立つ。また、Φ(x)=1/(1+ex)は標準正規分布の累積分布関数である。

対数尤度関数が上に凸であること

以下に述べるように、対数尤度関数は大域的に上に凸である。このため、勾配降下法ベースの最適化アルゴリズムによってβの推定値を計算できる。

独立変数と従属変数の観測値の組{xi,yi},(i=1,2,,N)から最尤推定によりβを推定するための尤度関数は次式である。

i=1NΦ(βXi)yi(1Φ(βXi))1yi

上式の対数をとり、対数尤度関数fを得る(次式)。

f(β)=i=1N[yilog(Φ(βXi))+(1yi)log(1Φ(βXi))]

これがβに関して上に凸であることを示す。個々の項が上に凸であることを示せばよい。なぜならば、上に凸な関数の和もまた上に凸であるから。証明をさらに省力化するため、次の性質を使う。

1Φ(βX)=Pr(Y=0|β,X)=Pr(βX+ε0|β,X)=Pr(εβX|β,X)=Pr(ε<βX|β,X)=Φ(βX)

最後から2番目の等号は標準正規分布が連続型分布であることから従う。log(Φ(βX))log(Φ(βX))を原点に関して対称に折り返したものであるから、後者が上に凸であれば前者もそうである。

結局、fβに関して上に凸であることを言うにはg(β):=log(Φ(βX))がそうであることを示せば良い。

ϕ(x):=dΦ(x)dxを標準正規分布の確率密度関数とする。

g(β)βi=ϕ(βX)Φ(βX)Xi2gβiβj(x)=XiΦ(βX)2(ϕ(βX)XjΦ(βX)ϕ(βX)2Xj)=XiXjΦ(βX)2((βX)ϕ(βX)Φ(βX)ϕ(βX)2)=(ϕ(x)=xϕ(x),xRを用いた)=XiXjϕ(βX)Φ(βX)2((βX)Φ(βX)+ϕ(βX))2g(β)=ϕ(βX)Φ(βX)2((βX)Φ(βX)+ϕ(βX))XX

ϕ(βX)Φ(βX)2<0,XXOであることは容易に判る(は半正定を表す)。(βX)Φ(βX)+ϕ(βX)>0を示す。 そのためにはh(x):=xΦ(x)+ϕ(x),xRとおいてh(x)>0であることを示せば充分である。 x>0のときh(x)>0であること、およびg(0)=1/2は容易に判る。これとh(x)=Φ(x)+xϕ(x)xϕ(x)=Φ(x)>0よりh(x)>0である。

以上より2g(β)Oであり、gは上に凸である。ここに、は半負定を表す。

以上よりfは少なくとも上に凸である。実用上は多数のランダムサンプルXiを用いるため、fのHesse行列は厳密に負定となることが普通である。このときfは上に狭義凸である。

Mathematicaによる数値例

最後にMathematicaによる数値実験を行う。β=[0.25,0.5,0.5]としてランダムサンプルを生成し、βを推定してみた。

投稿者: motchy

DSP and FPGA engineer working on measuring instrument.

コメントを残す