2011年5月7日土曜日

ベイズ解析で尤度による収束判定は可能か?

ベイズ法を使った系統解析ではMr BayesかPhyloByaes(分野によってはPhase)などが多用される。

これらのベイズ系統解析では、収束判定の基準として主にbipartitionsの出現頻度を計算に使った値を使用している。

Mr BayesではASDSF、PhyloBayesでもbpcompを使ってbipartitionsの最大の差を計算して、run(chain)が収束しているかを判断することができる。

また、bipartitionsの出現頻度だけでなく、各runにおける世代ごとの尤度もチェックすることが可能である。

Mr BayesではTracerで尤度のプロットを確認することができ、いずれかのrunが明らかに局所解に捕まっていないかを目で確認することができるし、ESSを計算してサンプル数が十分であるかを判断することもできる。

PhyloBayesではtracecompでdiscrepancyを計算し、ESSと併せて収束を判断する方法もある。またnh-PhyloBayesでは99%信頼区間で2つのchainの収束を判定しているようだ。

ただ、これらの方法は決して「runの収束を検定している」のではない。

もし、これらの方法を使って収束を検定するならば、「各runのburn-in後の総世代のlikelihoodsの平均値に差がない」ことをいう必要がある。しかし、普通の検定では平均値に差がないというのは帰無仮説であり、「帰無仮説が棄却できない」ということは「帰無仮説を採用する」という結論には直には結びつかない、という問題が生じる。

また、Tracerでも各runの尤度の95% HPDI(最高事後密度区間)を比較することは可能だが、これもエラーバーが重なっているかどうかの判定であり、「明らかに差がある」ことは言えるが「明らかに差がない」ことは判断できない。

従って、 上述の方法はあくまで目安であって。ベイズ解析のrunの収束を厳密に判定するものではない。

 とすると、収束判定にはASDSFなどのbipartitionを基準にした値を優先的に使用するのが良いのかというと、それもまた怪しいものだと思う。


大きな疑問として、例えば大規模(taxon数が大規模)なデータセットを解析する場合、ASDSFなどが収束していれば同時にlikelihoodも収束しているとは言えないだろう、というのがある。(トポロジーが収束していてもBLなどのパラメータの推定が収束しているとは限らない)

逆に、ASDSFが0.01以下になっていなくても、(尤度を収束判定として用いる検定法があったとして)尤度は収束しているということも大いにあり得るだろう。

 だとすれば、尤度を使った検定による収束判定方法を考えることは意味のあることだと思うが、簡単に考えても、次の2つの問題をクリアする必要がある。


一つ目は、2つ以上のrunの収束を判定する際の、多重比較によるバイアスを考慮すること。

二つ目は、「平均値に差がない」ことを帰無仮説とするのではなく、薬効の分野などで用いられる「平均値に差がある」ことを帰無仮説とする同等性の検出の導入。

統計学を専攻していたうちの大ボス曰く「すっごい難しいよ」だったので、その言葉通りとても難しいのだろう。

しかし、非常に興味深い問題であると思う。
自分以外に価値があるかどうかは別として、チャレンジしてみたい課題である。

0 件のコメント: