二項分布の試験の方法

計算方法などの説明 Konishi 2008b
親ページへ

二項分布とは、採択する/しない というような2値の独立試行を繰り返したときに、
採択された件数が従う分布のことである。
あるいは、赤い玉と白い玉がある割合で混ざっている袋のなかから決まった数をとりだすとき、
赤い玉がいくつ入っているか、の分布でもある。

たとえば「有意に振れた」と判断される遺伝子について考えるとき、
動きやすい遺伝子もそうでないものも、おそらく同じくらいの確率で選別され得るものと考えられる。
袋のなかにはひとつの遺伝子の名前を書いた札がたくさん入っている。
それぞれの札にはいろんなアノテーションが書かれている。
この袋からいくつかの遺伝子の札が選ばれたとする。
札のアノテーションのなかから、ひとつのキーワードに注目する。
そのキーワードが含まれている札の枚数は、二項分布にしたがう。

二項分布の累積分布cumulative distributionを使って計算をする。
たとえば、あるキーワードをもつ遺伝子が、確率(ratekey)でコンテンツに含まれていたとする。
このマイクロアレイを使って選択されたm個の遺伝子のなかで、n個以上の遺伝子が選ばれている確率は、以下の通り。

1 Σ P(i/m) = Σ mCi × (ratekey)^i × (1-ratekey)^(m-i)

ratekey=0.1のとき、選択された100遺伝子のなかに占めるその遺伝子群の個数xと、その確率yの関係を図にすると、下の図のようになる。この場合、100遺伝子中に20以上が選ばれていると、p-valueが0.01より小さくなる。

data simulation

1式の計算をExcelでやるときは、BINOMDIST関数を使う。これは最後にTRUEを指定することで累積分布関数となる。

=1-BINOMDIST(15, 100, 2000/20000, TRUE )
0.039890527

Rでやるときはpbinom関数を使う。

erabareta_kazu <- 100 #ここに選択された遺伝子の総数を
group_kazu <- 15 #そのなかでキーワードを持つ遺伝子の数を
keyword_kazu <- 2000 #コンテンツのなかでキーワードをもつ遺伝子の数
contents_kazu <- 20000 #コンテンツ総数
rate_key <- keyword_kazu / contents_kazu

pbinom(q= group_kazu, size=erabareta_kazu, p=rate_key, lower.tail =F)

[1] 0.03989053

これらでp-valueが一発計算できる。

親ページへ