こんにちは,株式会社Nospareリサーチャー・千葉大学の小林です.2項ロジットモデルは,ある試験に合格・不合格になる,消費者がある製品カテゴリから購入する・しない,ある疾患にかかる・かからない,といった結果に対してそれらが起こる確率が説明変数の値によってどのように変化するかを調べることができます.また2項ロジットモデルの一般化である多項ロジットモデルはある製品カテゴリ内にある複数ブランドからあるブランドをひとつ選択するといったような行動が観測されたデータを分析するのに用いられます.さらにロジットの構造は被説明変数が単純に何らかの選択行動の結果である場合に対する回帰モデルだけでなく,mixture of experts model(混合エキスパートモデル)やzero inflation(カウントデータにおけるゼロ過剰)などといったようなデータに内在するカテゴリーの分類確率を記述するのにも用いられ,とても幅広い応用の場面があります.本記事は前半部分にあたり,ロジットモデルをベイズ推定するための便利なモデル定式化とその応用例を紹介します.
2項ロジットモデル
まず2項ロジットモデルを紹介します.被説明変数を, とします.はかの値を取り,例えば来店時にある製品カテゴリからの購入があった場合に,なかった場合にが観測されます.ロジットモデルではが起こる確率(ここでは選択確率と呼ぶことにします)を説明変数のベクトルを用いて次のようにモデル化します.
ここではに対する係数パラメータです.簡単に言えば成功確率が上のようなベルヌーイ分布に従います.この確率をもとに,尤度関数に対する番目のデータについての部分は
と書けます.尤度関数はで,最尤法の場合にはこのまま尤度関数をに関して最大化しますが,解析的に最大化は行えないので数値的な手法を利用します.ベイズではの事前分布を特定し,事後分布に対する推測を行います.尤度関数がについてきれいな形ではないので,きれいなギブスサンプラーは構築できず,メトロポリス・ヘイスティングス(MH)アルゴリズムなどによって事後分布からのサンプリングを行うのが普通でした.
ベイズではプロビットのほうが人気だった(読み飛ばしても大丈夫)
二項選択問題に対して最尤法による分析をする場合には二項ロジットモデルはよく用いられてきました.一方でベイズ推定においては二項選択問題においてもうひとつの定番的な手法であるプロビットモデルが定番で1990年代以降用いられてきました.これにはプロビットモデルに対するMCMCはデータ拡大法を使うことでギブスサンプリングだけで済ますことができるということが大きな理由だと考えられます.プロビットモデルは選択確率を(は標準正規分布の分布関数)と書けます.ここで潜在変数を導入し,という回帰モデルを考えます().この潜在変数と実際のデータを,のときにが観測される,のときにが観測される,というように結びつけます(を積分消去するともとのプロビットの選択確率が得られます).プロビットモデルに対するギブスランプラーはを完全条件付分布(切断正規分布)からサンプリングすることで,あたかも普通の回帰モデルで被説明変数が観測されているかのようにの完全条件付分布からサンプリングを行うことができます.
二項ロジットモデルに対しても同じようなデータ拡大法がHeld and Holmes (2006) によって提案されました.再びという潜在変数に対する回帰モデルを考えます.プロビットモデルと異なり,ロジットモデルでははロジスティック分布に従います.この論文はロジスティック分布に対して次のような表現のもとにギブスサンプラーを構築しました:, , そしてはKolmogorov-Smirnov(KS)分布という分布に従います.このアプローチでのギブスサンプリングは,,,のサンプリングステップからなりますが,の完全条件付分布が標準的なものでなく,サンプリングがやや面倒というのもあって今まであまり使われてこなかったのかと思います.また予めパラメータとウェイトの値を定めておいた正規分布の有限混合モデルによってロジスティック分布を近似するという方法も提案されましたが,あくまでも近似モデルからのサンプルになってしまうということで定番的な方法として定着することはなかったと思います.
これは便利かも!Polya-Gamma mixtureによる定式化
さて遠回りになりましたが,本題のロジットモデルに対する画期的な定式化がPolson etal.(2013)によって提案されました.この論文の結果(Theorem 1)はロジスティック型の関数を次の積分で表現できるというものです.
ここではPolya-Gamma分布という分布に従う変数でという密度関数をもつとします(これについては後で書きます).
でまず重要なのはを所与にしてみると,積分の中にについて正規分布の密度関数の核が現れるということです.はのように回帰式で表される部分なので,この表現を利用するとデータとが与えられたもとでの完全条件付分布が正規分布になりそうな予感がします.実際に二項ロジットモデルの場合には,
と書けるので,上の結果を使って
となります(, , ).
の事前分布をとすると,データとを所与としたときのの完全条件付分布は
という形になります(, , , ).このことから例えばに対して正規事前分布を仮定すると完全条件付分布も正規分布になることがわかります.
さてにおいてが従うPolya-Gamma分布ですが,一般的にの場合には
という独立なガンマ変数の無限和で表現されます.の密度関数はの密度関数のexponential tilting(指数傾斜)で表されます:
ここではの密度関数で,分母の期待値はについてとったものです.では,においての条件付分布を考えてみると,
となることから,となることがわかります.
二項ロジットモデルの場合には,の完全条件付分布は単純にとなります.よっての場合,次のふたつのステップから成るギブスサンプラーを回すことになります.
- まで,をからサンプリングする
- をからサンプリングする,ただし,
この論文ではからの効率的なサンプリング方法を提案しています.指数分布と逆ガウシアン分布に基づく棄却サンプリングによるものですが採択確率が99.9%以上という極めて効率的なものとなっています.が自然数のときには個の独立な変数を足し合わせるだけでからのサンプリングができます.一般的なの場合にはWindle et al.(2014)で提案されています.Rでの実装においてはBayesLogit
パッケージ 内のrpg()
関数が利用できます.このパッケージを利用した実装は後編で紹介したいと思います.
Polya-Gammaはいろいろなモデルで使える!
多項ロジットモデル
この定式化を利用することで,二項ロジットモデルの一般化である多項ロジットモデルに対するギブスサンプラーも構築することができます.多項ロジットモデルでは個のカテゴリ(ブランドなど)からひとつのカテゴリが選択・実現されるという状態を考えます.被説明変数をとし,番目のカテゴリが選択された場合に,, が観測されます.多項ロジットモデルの選択確率は
で与えられ,とモデル化します.尤度関数は
となります.一見Polya-Gammaが使えそうにないですが,以外のパラメータを条件付けると
と書けます(, ).こうすると冒頭の二項ロジットモデルの尤度のような形になっていて,, でPolya-Gammaが使えることがわかります:
の事前分布をとすると次のギブスサンプラーを構築できます.
- , についてをからサンプリングする.
- についてをからサンプリングする,ただし, , , , .
負の二項分布(Negative binomial)
負の二項分布はポアソン分布に代わるカウントデータに対する確率分布として広く使われてきました.確率関数は
と書け(はoverdispersionのパラメータ),負の二項分布における回帰モデルはと与えられます.ここでまたPolya-Gammaが使える形になっていることに気づきます.実際,
なので, , とすればあとは二項ロジットの場合と同じようなギブスサンプラーが構築できます.事前分布の場合,
1. まで,をからサンプリングする.
2. をからサンプリングする,ただし, , , .
3. をMHアルゴリズムなどでサンプリングする.
となります.
おわりに
前篇となる本記事ではPolya-Gammaを使った2項ロジットモデルの再定式化から始まり,Polya-Gammaを使うと幅広いクラスのモデルに対してギブスサンプラーを構築できるようになることを紹介しました.ここではやについて単純な回帰モデルや事前分布を考えていましたが,時間相関や空間相関が含まれるより複雑な階層モデルや,説明変数の選択のための馬蹄事前分布(horseshoe prior)などといったより高度なの階層事前分布のもとでの推定も簡単な拡張で実行できます.後編ではRによる実装を紹介したいと思います.
一緒にお仕事しませんか!
株式会社Nospareではベイズ統計学に限らず統計学の様々な分野を専門とする研究者が所属しており,新たな知見を日々追求しています.統計アドバイザリーやビジネスデータの分析につきましては弊社までお問い合わせください.
コメント