ランダー・グリーン・アルゴリズム(7)

隠れマルコフモデル

隠れマルコフモデルについて、細かいところ(本質だけど)はぶっとばして、実装上のポイントだけ述べます。

隠れマルコフモデルは、時系列のように、状態が徐々に変化していくようなもの、確率過程について、実際には観察されないデータ「隠れ変数hidden variable」を仮定することで推定を回しやすくしたものです(あってる?)。

「マルコフ」過程であるとは、ある状態が、一つ前の状態によって完全に説明され、過去の振る舞いは関係ないようなものです。

具体的にはこのようなモデルです。

  1. 隠れ変数の初期状態を決める。隠れ変数は観察されたデータでないのだからいろいろな可能性があり、それは確率的に表される。
  2. ある状態から別の状態へ変化する時の確率を与える。これは移行確率transition probabilityと呼ばれる。
  3. それぞれの過程において、隠れ変数によって表されている状態から、どのような観察データが得られるかの確率を与える。遷移確率emission probabilityと呼ぶ。

これで、適切に現実のデータをモデル化し、パラメータ推定をします。推定法として、ビタビ・アルゴリズム、バウム・ウェルチアルゴリズムなどを用います。ランダー・グリーン・アルゴリズムが用いているのはバウム・ウェルチです。

このモデルが、遺伝家系データの解析にバッチリ合うと言うんです。

よくわからない方もいるでしょうが、いいんです!実際のモデルを見てから考えましょう。

ランダー・グリーン・アルゴリズム

さて本論です。通常とは逆の順序で説明したいと思います。

遺伝的データの隠れマルコフモデルを用いた表現

まず遺伝的座位を染色体上に並べて思い浮かべます。

各座位における観察データは遺伝型です。これは実験的に得られます。

次に隠れ変数は、そのどちらが父親、母親のどちらから来たかということにします。以前の回でわかるように、これは遺伝型の相ですから、それは必ずしも一つに求まらないものであることが分かっているはずです。だから隠れ変数にします。

次に、隠れ変数である遺伝型の相から観察データである遺伝型への間を遷移確率で記述しなくてはいけません。遺伝型の相は、継承inheritanceされるものということからIとし、観察データの遺伝型をGとすると、遷移確率は、座位MiにおいてP(G_i|I_i)です。ランダー・グリーン・アルゴリズムの場合、ある状態I_iについて、観察データG_iは1対1で与えます。より新しいアルゴリズムの場合、観察データに実験エラーがありうることを踏まえてそうでない条件も考慮されています(逆に言えば、ランダー・グリーン・アルゴリズムにおいては、実験エラーの存在は許されません)。

つぎに座位から座位への状態の変化、移行確率ですが、これが乗換え現象を表したもので、組換え価によって記述できるとすでに述べました。この移行確率はP(I_i | I_{i-1})で、これについて、θiを、座位M_iM_{i+1}のあいだの組換え価とします。非常に単純に、

P(I_i = 0|I_{i-1} = 0) = 1-\theta
P(I_i = 1|I_{i-1} = 0) = \theta
P(I_i = 0|I_{i-1} = 1) = \theta
P(I_i = 1|I_{i-1} = 1) = 1-\theta

であることがわかろうかと思います。

最後に初期状態を与えますが、原則として家系データにおいて、遺伝型が与えられたもとでのありうる遺伝的アレルの流れは事前情報なしではなにもきめられないので、全て同等に確からしい、つまり均等分布uniform distributionに沿うとするのが妥当でしょう。

さてこれをまとめるとこんなんなりました。

 L = \sum_{I_1} \cdots \sum_{I_m} P(I_1) \prod_{i=1}^m P(I_i | I_{i-1}) \prod_{i=1}^m P(G_i|I_i)

・・・という式を書くよりも、下の図を見たほうがわかります。

下側の◯は、染色体上において親の祖父由来か祖母由来かを表す隠れ変数です。上がわの□は、実験で得られる観察データで、これが仮想上の隠れ変数のもとにどのように与えられうるかが遷移確率によって記述されます。そして、◯の横側の流れは染色体上の、祖父由来か祖母由来かの変遷を表していて、組換え価によって記述される移行確率でその振る舞いが表される、というモデルです。

さて、ここまでの説明だと、一人分の染色体においてのモデルでしかありません。家系として記述するにはどうすればよいと思いますか?

ここにエリック・ランダーの、もうひとつのすげーアイデアが導入されます。