ベイズファクターを用いた仮説検定~線形回帰分析~

今回は、ベイズファクターを使った線形回帰分析におけるモデル選択について理論を整理します。 ベイズファクターとはなんぞや?という方はこちらを、Savage-Dickey法についてはこちらを参照のこと。

主な参考文献はこちらです。

線形回帰モデル

まずは線形回帰モデルの導出と、周辺尤度について整理します。

Y=(y1,,yN)Tを応答変数、X1=(x11x¯1,,x1Nx¯1)T,,Xp=(xp1x¯p,,xpNx¯p)Tを説明変数とします(x¯i=E[Xi],i=1,,p )。

線形回帰モデルでは、応答変数Yが平均ベクトルμ=(μ1,,μN)Tをパラメータにもつ正規分布に従うと仮定します。

(1)p(Y)=Normal(μ,σ2IN)=1(2π)n/2σNexp(12σ2(Yμ)T(Yμ))

ここで、INN×Nの単位行列です。

平均ベクトルμは、1N(1で構成されるN行の列ベクトル)、X1,,XNのいずれかもしくはすべての線形結合で説明できるものと仮定します。ここで常に考えなければならない問題は、μの説明に用いる説明変数の組をどうするかです。これが線形回帰分析においての所謂モデル選択の問題と呼ばれます。

本記事では参考文献と同様、説明変数の選び方を一般化して説明するため、p次元ベクトルγ=(γ1,,γp)をおき、γi=1のとき、Xiを用いる説明変数に含め、γi=0のときは逆に含めないこととすることで切片と説明変数によって張られるモデル空間を示すことにし、γi=1Xiで構成されるN×pγ行列をXγと示します。さらにγを用いたモデルをMγとおき、Mγでの係数パラメータを下付き文字で同様に示します。

(2)Mγ :   μ=1Nα+Xγβγ

ここで、αはスカラー、βγpγ次元ベクトルです。Xγは各変数で中心化されているので、変数のばらつきのみが係数パラメータβγに反映され、変数のスケールはすべてαで表現されることになります。

また、どの説明変数も用いないモデルをヌルモデルと呼び、MNと表現します(下付き文字のNはサンプル数ではなく、Null-modelの頭文字)。

(3)MN :   μ=1Nα

線形回帰モデルの評価

ベイズ統計におけるモデル評価方法を整理します。ここで述べることは線形回帰に限定されないより一般的な議論です。

モデル確率の更新

モデル選択やモデルの不確実性の評価にあたっては、不明なパラメータθγ=(α,βγ,σ2)Θγの事前分布を決め、各モデルMγの事前確率p(Mγ)を新しく得られたデータに基づきアップデートすることが一つのアプローチとして考えられます。

(4)p(Mγ|Y)=p(Mγ)p(Y|Mγ)γp(Mγ)p(Y|Mγ)

(4)式はモデル確率の更新方法を示したもので、ベイズの定理そのままですが、右辺に現れたp(Y|Mγ)が本記事の鍵となる値、周辺尤度です。(5)式に示す通り、周辺尤度は尤度をパラメータの事前分布で重みづけ(積分)したもので、データYに対するモデルの平均的な説明力を示します。

(5)p(Y|Mγ)=Θγp(Y|θγ,Mγ)p(θγ|Mγ)dθγ

ベイズファクター

ベイズファクター(6)式に示す通り2つのモデル間の周辺尤度比として定義され、データYに対する2つのモデルの説明力の比と捉えることができます。

(6)BF[Mγ:Mγ]=p(Y|Mγ)p(Y|Mγ)=Θγp(Y|θγ,Mγ)p(θγ|Mγ)dθγΘγp(Y|θγ,Mγ)p(θγ|Mγ)dθγ

ベイズファクターを使うと、(4)式は以下のように変形できます。

(7)p(Mγ|Y)=p(Mγ)BF[Mγ:Mb]γp(Mγ)BF[Mγ:Mb]

Mbはベイズファクターを算出する際のベースとなるモデルで任意のモデルを選択できますが、通常はどの選択をとってもモデル同士がネストされた関係となるよう、ヌルモデルもしくはフルモデル(すべての説明変数を用いたモデル)が用いられます。

Null-Based Model

(8)BF[Mγ:MN]=p(Y|Mγ)p(Y|MN)

また、任意のモデル間を比較するベイズファクターについても、すべてのモデルに対して包含(Encompassing)関係にあるヌルモデルを基準に計算することができます。

Encompassing approach

(9)BF[Mγ:Mγ]=BF[Mγ:MN]BF[Mγ:MN]

個人的にはベイズファクターとモデル確率更新によるモデル評価手法はものすごく可能性があると思っています。ベイズファクターは新しく得られたデータに対する各モデルの説明力を評価でき、これまでの情報から既に算出されたモデル確率を、ベイズファクターに基づいて更新する・・・とても近未来的なにおいを感じます。

事前分布

これまでの議論から、ベイズファクターは事前分布の影響を強く受けることは明白です。客観ベイズの立場から見れば、客観的で研究者間で合意のとれた事前分布の設定方法を確立することで、ベイズファクターやモデル確率の不確定性を克服することが重要です。以下では、望ましい事前分布の設定について整理します。

事前分布に求められる性質

事前分布に求められる性質を列挙します。

・ Location and Scale Invariance

気温や距離など、説明変数の単位や値の大きさに影響しないこと。

・ Consistency

サンプル数が極大に近づくと、ベイズファクターが適切な値に収束すること。つまりMγMNを比較するとき、「真の」モデルがMγであるならば、BF[Mγ:MN]に、「真の」モデルがMNならばBF[Mγ:MN]0にそれぞれ収束すること。

・ Consistent in Information

データが、モデルの比較に用いられる値(線形回帰分析の場合、決定係数)を介してのみベイズファクターに影響すること。線形回帰分析の場合、R2=1のときBF[Mγ:MN]となること。

・ Computationally Convenience

ベイズファクターが解析的に計算可能であること。ただし近年ではMCMC法やブリッジサンプリング等の推定手法が進歩しているので、必ずしもこの条件にとらわれる必要はないかもしれません。

Zellner-Siow’s Priors

前節で挙げた事前分布の望ましい性質を満たす線形回帰分析におけるパラメータの事前分布として、Zellner-Siow’s Priorsが提案されています。

◆Zellner-Siow's Priors

(1)(2)式のβγασ2に対する事前分布である下記(8)(10)式を、Zellner-Siow’s Priorsとよぶ。

(10)α,σ21σ2

(11)βγ|σ2,gNormal(0,gσ2(XγTXγN)1)

(12)gInvGamma(12,r2)

(10)(11)式はZellner(1986)が提案した事前分布で、Zellner’s g-Priorsと呼ばれます。この事前分布は次元のペナルティとしての役割を持つパラメータgについて特定の値を与える必要があり、それが前述のConsistencyを満たせない要因となっていました。一方、ZellnerとSiow(1980)が提案したZellner-Siow’s Priorsは、パラメータgについて事前分布を与えることで、事前分布の望ましい性質を満たすことに成功しています。

また、下記(11)式に示すように、(10)(11)式はβγの事前分布としてコーシー分布を採用することと等価です。これはgについて積分することで確認できます(筆者未導出)。

(13)0βγ|σ2,g  dg=0Normal(0,gσ2(XγTXγN)1)dg=MultivariateCauchy(βγ|0,Nrσ2(XγTXγ)1)=Γ(1+pγ2)Γ(12)πpγ2|Nrσ2(XγTXγ)1|12(1+1Nrσ2βγTXγTXγβγ)1+pγ2

ハイパーパラメータrは、βγの事前分布((13)式の多変量コーシー分布)のscale matrixの大きさを調整する役割を持ちます。Richard D. Morey氏は現在のところr=24を標準値として推奨しているようです。

βγについて説明変数や応答変数のスケール等に配慮した事前分布を与えている(11)式の解釈は直感的です。まずgは各スケールについて標準化した係数パラメータの分散の意味をもちます。次にσ2はその値を応答変数の単位にスケーリングします。

(XγTXγN)1ですが、これはXγの分散共分散行列になるので、gXγの単位にスケーリングする役割をもちます。

ベイズファクターの計算

以降ではZellner-Siow’s Priorsをおいたときのベイズファクターの計算方法を整理します。

1変数積分近似による推定

概要を以下に示します。

◆1変数積分近似による推定方法

ベイズファクターBF[Mγ:MN] は下記の通り計算できる。

(14)BF[Mγ:MN]=0(1+g)(N1pγ)/2(1+(1Rγ2)g)(n1)/2π(g)dg

ここで、π(g)gの事前分布を、Rγ2Mγでの通常の線形回帰における残差の平方和、決定係数を示す。

(14)式のπ(g)以外の部分は、(10)(11)式で表現されるZellner’s g-Priorsにおける周辺尤度を解析的に求めることで算出されたものです。但し、Zellner’s g-Priorsはパラメータgについては固定値を想定していたようで、さらにgの事前分布(10)式が加わったZellner-Siow’s Priorsについては、gについてのみ解析的な計算が不可能となってしまっています。そのため、(14)式はgについての一変数積分が残っていますが、これはガウス求積法などの手法を使って高精度に推定することが可能です。

ちなみに、本手法を使ったベイズファクターの計算はRichard D. Morey氏らが開発しているBayesFactorパッケージのregressionBF()関数で可能です。

Savage-Dickey法による推定

Savage-Dickey法の概要を以下に示します。

◆Savage-Dickey法による推定方法

モデルMNMγ

(15)p(Y|MN)=p(Y|βγ=0,Mγ)

という関係にあるため、ベイズファクターBF[Mγ:MN]は下記のとおり計算できる。

(16)BF[Mγ:MN]=p(βγ=0|Mγ)p(βγ=0|Y,Mγ)

ここで、p(βγ=0|Mγ)はモデルMγにおけるβγの事前分布のβγ=0での確率密度を示す。 同様にp(βγ=0|Y,Mγ)はモデルMγにおけるβγの事後分布のβγ=0での確率密度を示す。

(11)式より、 p(βγ=0|Mγ)=Γ(pγ+12)πpγ+12|Nrσ2(XγTXγ)1|12

であることは明らかですから、あとは、p(βγ=0|Y,Mγ)をどうやって求めるかが問題です。

ここでは、以前の記事でも採用したConditional Marginal Density Estimator(CMDE) を使ってp(βγ=0|Y,Mγ)を推定する方法を提案します。

◆線形回帰分析のCMDE

条件付事後分布p(βγ=0|Y,Mγ)は以下である。

(17)p(βγ=0|Y,Mγ)=Normal(1σ2ΣXγTY,Σ)

ここで、

(18)Σ=σ21+1g(XγTXγ)1

※上記の証明はストレートかつ冗長なので割愛します。自分で導出したい人はこちらが大いに参考になります。

まとめ

本記事では以下の内容について整理しました。

  • ベイズファクターを使ったモデル確率の更新

  • ベイズファクターを計算する際に求められる事前分布の性質

  • 線形回帰モデルにおいて提案された適切な事前分布

実践編はこちらです。ベイズファクターを実際に算出し、モデルをどのように評価できるのか見ていきます。
さらにこちらの記事ではベイズファクターを推定するための手法を複数実践しているので、読んでみてください。

コメントを書く


※ コメントは承認されると表示されます

承認されたコメント一覧