その差は有意か

変動が偶然に観測された確率を調べる

マイクロアレイは、分子生物学の測定方法のなかでは際立って項目数(スポット数)が多い。
そのため、偽陽性False Positiveの数も多くなる。これは困ったことだ。
偽陽性を根絶することは不可能だけど、
自分たちが耐えられるだけの数にコントロールすることはできる。
これはパラメトリック統計の得意分野のひとつである。
ここではそのための方法を概説する。

ときどき、多重検定の問題とごっちゃになっている解説を見かけるのだけど、
マイクロアレイで偽陽性が増えるのは、項目数が多いからである。

もし組織Aと組織Bの間に差があるかどうかが問題になっていて、
それを2組のマイクロアレイデータから検定しようとしているのなら、
これは(スポット数ぶんの)多重検定である。
けれど、これは設問がそもそもナンセンスだ。
どのトランスクリプトームも、少しずつ違っているものだから。

調べている組織が増えていって、たとえば組織Aから組織Gまでの間で
一度でも変動したことがある遺伝子を見つける、
なんていう際には多重検定の問題が生じる。
まあしかしこれはよくあるケースであって、マイクロアレイが特別なわけではない。
(そして、この種の試みをする場合には、偽陽性は深刻な問題にならないことが多い。
これはいわゆる宝探しであって、有望な候補は必ず追試されることになる)。

一方、偽陰性をコントロールすることはできない。
それは何か別の数学的なフレームワークを必要とするだろう。

帰無仮説が棄却できないときは黙るしかない。
差はなかったのだとは言えない。

組織Aと組織Bの間の違いを調べるとき、
それぞれからサンプルを5つずつ得たとする。
それぞれのサンプルの値(z-score)は遺伝子ごとに正規分布すると考えられる
その母集団についてヒストグラムで表してみる。

ばらつき小 ばらつき大
シャープな二つのヒストグラム よくセパレートしている ブロードな二つのヒストグラム 重なっている

左の、データのばらつきが小さいケースでは、たぶん5つもサンプリングすれば、
組織間の違いを見出せるだろう。一方、右のケースでは、
本質的にはより大きな違いを持つと考えられるにもかかわらず、
もっと多くのサンプルがないと違いは見出せないかもしれない。

こうした違いは、遺伝子ごとにも見られるだろうし、実験者ごとにも見られるだろう。
つまり、あまり「動かない」遺伝子と、「動きやすい」遺伝子がある。
前者は、たまに発現がかわると、小さな変化でも見つけやすい。
また、生理的な条件を整えることができた実験と、
そうでなかった実験がある。当然、前者のほうが鋭敏になる。

一般に、母集団から複数のサンプルをとって、それらの平均を求めるとき、
そのサンプル平均の期待値は母集団の母平均μと等しい。
とはいえ、サンプル平均も分布するわけで、
当然、母集団σのばらつきが大きいほど、そのサンプル平均もばらつく。
また、サンプルの数nが多いほど、誤差は小さくなる。

サンプリングの誤差 ≡ 母平均 - サンプル平均 = -σ×標準正規分布 / n0.5

この誤差を考慮しながら、
はたして測定された二つの組織間の違いは本当にあったのかどうか
サンプル平均どうしの違いは誤差の範囲なのか意味があるのか
を推定するのが、
次に紹介するt検定である。

n個のサンプルから平均値Xbarと標準偏差sとを求めるとき、
次の値tは自由度n-1のt分布をする。

t = (Xbar - 母平均) × n0.5 /s

組織Aと組織Bからのサンプルがそれぞれあるときに、ひとつの仮定

帰無仮説 H0: μA = μB

をおくと、それらの平均値の差XbarA - XbarBからは

t = (XbarA - XbarB) × nAB0.5 /sAB

ただし nAB = {1/(nA+nB)}-1
またsABは重みつきで(それぞれの測定から)合算した標準偏差

このようにt分布する数値を導くことができる(自由度はnA+nB-2)。
仮定から、この分布の中心はゼロになることが期待されている。
実際のXbarA - XbarBから得られるt値が、
どのくらい「あり得る」値なのかを、
t分布によって検証するのがこの方法の原理である。

サンプルAとBで母標準偏差が異なる場合や、
サンプル間に対応がある場合のために、少し異なる考え方をする変法がある。

実際にやるためには:とてもベーシックな方法なので、実装されていることが多い
  • ExcelのTTEST関数を使う
  • Excelの分析ツールを使う
  • Rのt.test関数を使う
いずれも上記の変法にも対応しているし、参考になるソースはネット上にたくさんある。

t値が、あり得ないくらい大きくなったり、あるいは小さくなった場合、
さきほどおいた仮定、帰無仮説 H0、は誤りであったと判断する。
そこで、二つの母平均 μA と μBは異なるのだと判断される。

どのくらい大き/小さ/ければ「あり得ない」と判断するか?
t分布から、そのt値が偶然に生じる確率、p値がわかる。
あらかじめ、閾値として、あるp値を決めておく(たとえば1%とか、5%とか)。
このp値とは、あなたが耐えられるFalse Positiveの確率のことだ。
100選択した遺伝子のうち、5つが間違いでも大丈夫なら、5%の閾値を使える。
1000に1つしか許せないなら、閾値は0.001にする。
この判断に、AICを応用する方法もある。
この辺は門田幸二さんのHPに詳しいので参照されたし。

繰り返して測定を行ったとき、ある群のなかでどのくらいその遺伝子が変動したかを計算し (郡内分散)、それと群間の違い(群間分散)とを勘案して、その違いが偶然によってもたらされたものか どうかを判断する。そのために一元配置の分散分析を使うことができる。「分散分析」という名前ではあるけど、 調べたいのはそれぞれの測定群の平均値が異なるかどうか、である。

考え方の基本は上記のt-testと同じだ(GLMという上位概念で説明される)。しかしこのANOVAを使うと、3群以上の分布に関する比較に関して、多重検定の問題をクリアすることができる。群がいくつあっても、いっぺんに計算できる。

パラメトリックにこれを考えるとき、郡内での変動が正規分布であることを仮定する。じつはこの仮定はまだきちんとは調べられていない(それだけたくさんの繰り返し実験を行わないからだ。熱力学モデルからすると、変動はなんらかの因子の活性濃度変化によるエネルギーの総和なので、正規分布しそうだ。
しかし、多くの遺伝子の変動を母集団と考えて、その分布を調べると、「二つのσが異なる正規分布の和集合」に近い分布になる。この現象は、ノイズの影響が少ないPレンジのデータだけを集めても観察される。これは、遺伝子ごとに、変動しやすいものとしにくいものがあるからだと推察される。
ここで正規分布を仮定したことによって間違いがおきるとしたら、次のケースであろう。つまり、
ある(予期しない)サンプルの違いによって、遺伝子を変動しにくいものから変動しやすいものに変えるということだ。あるいは、まあ要するに、群間にだけ効いてしまうような刺激を気づかずに与えてしまう生理学実験上のミスである。これを避けるためには、群ごとに測定をしない等の配慮が有効だろう(完全にランダマイズできれば、それが理想的なのではある)。

09春くらいまでに、ANOVAに関する計算手順の実際をアップしようと計画しています。乞ご期待。

GeneChipのデータはこちらで処理すべきであろう。
このデータは遺伝子あたりに複数の.celデータがある。このうちPMデータを使用するとパラメトリックな方法が適用できる(論文→Konishi 2008a)。セルは異なる配列をもつので、それぞれに異なる感度を持つ。そこで、データを二次元に配置するべきである(群の軸とセルの軸をつくる)。そして
(違い)=(群の違い)*(セルの感度の違い)
と考えて2-way anovaの計算をする。3種類のP値が出力されることになる、群間とセル間、そして群とセルの交互作用である。当然、まずは群の違いに起因するP値を参考にすることになる。面白いのは群とセルの交互作用で、たぶんこれが有意になるのは群間でトランスクリプトの一次構造が異なる場合である。よく配列を見て考えてから、実際にクローニングして確かめてほしい。

具体例をアップしたいと考えています。論文が出るまでちょっとお待ちを。