読者です 読者をやめる 読者になる 読者になる

Take a Risk:林岳彦の研究メモ

自らの研究に関連するエトセトラについてのメモ的ブログです。主にリスク学と統計学を扱っています。

進化学者のためのMCMCのアナロジカルなアヤシイ解説/その2

前回の記事では、「事後分布を求めること」と「一世代後の遺伝子頻度分布を求めること」がパラレルに解釈できることについて書きました。
今回は、そもそもなぜMCMCが必要なのかについて、解説していきます。

「尤度関数を描く」=「適応度地形を描く」

アナロジカルな説明のための単純化として、事前分布が一様である場合について考えていきたいと思います。この場合、事後分布は尤度関数に比例する形になります*1

p(a|E) = L(E|a)p(a) / Σ L(E|a)p(a)
p(a|E) ∝ L(E|a)

同様に世代tでの対立遺伝子頻度が同一座位上の全ての対立遺伝子に対して一様である場合*2には、世代t+1での遺伝子頻度分布は適応度関数に比例する形になります。

p(a|E) = L(E|a)p(a) / Σ L(E|a)p(a)
p(a|E) ∝ L(E|a)

進化学者にはお馴染みかもしれませんが、この遺伝子型-適応度関数の全体を指して「適応度地形」と呼ぶことがあります。

上記の式を比べると、基本的に「尤度関数を描く」ことは「適応度地形を描く」こととパラレルに捉えられることが分かります。以下、このアナロジーを基に「そもそもなぜMCMCが必要とされるのか」について説明していきます。

次元の呪い:可能な遺伝子型の数の爆発

遺伝子頻度変化の計算では、しばしば全遺伝子型の適応度の総和:

Σ L(E|a)p(a)

のような計算をする必要があります*3。これは上記の場合のように世代tにおける対立遺伝子頻度が一様であると仮定すると:

Σ L(E|a)

と表せます。

この計算は単一遺伝子座の場合には簡単ですが、遺伝子座の数が増えると非常に計算量が大きくなってしまいます。

例えば、それぞれ10個の対立遺伝子(1,2,3,4,5,6,7,8,9,10)を持つ12座位(a,b,c,d,e,f,g,h,i,j)から構成される可能な遺伝子型の数は、10の12乗=一兆個となります。この場合、

Σ L(E|a,b,c,d,e,f,g,h,i,j,k,l)

のような計算はとっても時間がかかってしまいます。とてもじゃないですが、全ての遺伝子型の適応度をマトモに考慮した計算なんてやりたくないですよね。

多次元空間内の適応度地形:Holey Adaptive landscape

ただし、実際には「全ての遺伝子型の適応度の計算」を行う必要はないのかもしれません。

何故なら、たとえ可能な遺伝子型の数が一兆個であったとしても、その中で意味のある遺伝子型の数(適応度がゼロでない遺伝子型の数)は限られていると考えられるからです。

たとえば上述の例での10個の対立遺伝子(1,2,3,4,5,6,7,8,9,10)のうち、「生物学的に生存可能な範囲に対応する対立遺伝子」は一つの座位につき3個のみである場合*4には、ある遺伝子型が12座位全てで「生存可能な範囲に対応する対立遺伝子」により構成されている確率は「0.3^12=5.3×10-7乗」となります。この場合、計算しなければならない遺伝子型の数は「(10^12)*(0.3^12)=531441個」と激減します。これならなんとか計算はできそうです。

また、一般論として「適応度の高い遺伝子型」の近傍*5の遺伝子型も、平均的には比較的高い適応度を持つと期待できるので、いちど適応度の高い遺伝子型を見つけてしまえば、その周りを重点的に探索することで効率的に「意味のある(適応度がゼロでない)遺伝子型」のクラスターだけを選んで計算していくことも可能かもしれません。


上記をまとめると、一般論としては「座位の数が増えるほど可能な遺伝子空間の大きさは飛躍的に拡がるが、そのぶん劇的にスカスカになっていく(ゼロでない適応度を持つ遺伝子型の割合が激減していく)」と言えます。


このような多数の遺伝子座位から構成される多次元空間上の適応度地形というのは、Sewall Wrightがイメージしたような1〜2次元上の滑らかな適応度地形とかなり異なった特徴を持っています。Sergey Gavriletsはそのような多次元遺伝子空間上の適応度地形を"Holey adaptive landscape"と呼び、その特徴についていろいろと議論しています。

厳密な話ではありませんが、Sewall Wrightの適応度地形のイメージを『砂丘』とするならば、Sergey Gavriletsのいう"Holey Adaptive landscape"のイメージは多次元上に浮かぶ『穴だらけのチーズ*6』と表現できるかもしれません。

多次元の確率分布の多重積分=多座位遺伝子空間内における適応度地形を描く

さて、上記の適応度地形の話はもともと

Σ L(E|a)p(a)

の話から来ているものであり、これは多数のパラメータ空間における尤度分布(あるいは事後分布)の積分(総和)を求める話のアナロジーとなっています。

座位の数が増えるほど「可能な遺伝子型の数」が爆発的に増えるのと同様に、パラメータの数が増えるほど「可能なパラメータの組みあわせの数」は爆発的に増えていきます。そして、ある程度以上にパラメータの数が増えてしまうと、とてもじゃないが全てのパラメータの組み合わせをいちいち計算することはできなくなります。多次元確率分布の多重積分というのは、そのようなパラメータの組み合わせをいちいち計算していくことに相当する問題なのです。

一方、座位の数が増えるほど「遺伝子空間がスカスカになっていく」のと同様に、パラメータの数が数が増えるほど「尤度(あるいは事後確率)がゼロとならないパラメータの組み合わせの割合」は劇的に減少していくため、パラメータ空間はどんどんスカスカになっていきます*7

イメージで言うと、多数のパラメータによる多次元空間における尤度分布(あるいは事後分布)もやはり「多次元上に浮かぶ穴だらけのチーズ」のような形になると言えるかもしれません。そして、パラメータの数が増えるほどその穴は拡がっていくので、非常に多くのパラメータを含む場合には、最終的には「広大な多次元空間内にちょっとだけ含まれるなんだかよくわからない変な形*8」になるものと考えられます。

結論としては、このような「変な形」の部分だけをうまく取り出して効率的に計算する*9ことができれば、多数のパラメータの場合の多重積分を計算量の爆発を避けながら扱うことができそうです。


では、そのような「変な形」として存在する多次元上の「適応度地形/尤度分布/事後分布」をどのように効率的に探索し描いていけば良いのでしょうか?

その答えが、MCMCというアルゴリズムとなるわけです。

次回は最終回として「無性生物の進化シミュレーションとしてのMCMC」について書いていきます(こちら)。



R.A. Fisher - The Life of a Scientist

R.A. Fisher - The Life of a Scientist

Fitness Landscapes and the Origin of Species (Monographs in Population Biology)

Fitness Landscapes and the Origin of Species (Monographs in Population Biology)

計算統計 2 マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア 12)

計算統計 2 マルコフ連鎖モンテカルロ法とその周辺 (統計科学のフロンティア 12)

*1:基本的に

*2:現実的ではないですが、説明のための便宜としてご容赦ください

*3:例えば上の方の式にの分母に出てくる

*4:事前にどの対立遺伝子が生存可能な範囲に対応するかは分からないにしても

*5:一度、あるいは数度の突然変異で到達できる範囲

*6:トムとジェリーに出てくるやつみたいな

*7:この辺りは本記事末尾に挙げた伊庭先生の本が分かりやすいです

*8:伊庭先生の本のp36,図16のイメージ

*9:例えばΣ L(E|a)p(a)などを