No.21508 マルチプリケートの扱いかたについて  【杜の都より】 2015/01/20(Tue) 00:34

基礎的な事で失礼します。
分子生物学の実験ではしばしば一回の実験で同条件のマルチプリケートを作成し,それを複数回繰り返して再現性を確認されると思います。この際,統計学的な処理としては一回の実験のレプリケートから得られた平均値を繰り返し実験の数だけ集めて検定すべきか,全てのレプリケートをプールして検定すべきか,何れが正しいのでしょうか。
具体的には,マルチウェルプレートで一回に各試薬を添加したウェルを3ウェルずつ作成し,これを3回繰り返すとします。この時,3ウェルの平均3個を以って比較すべきか,3X3=9ウェルのデータを以って比較すべきか,です。
以前,コンピュータを用いたシミュレーションによって何れの方法でも検定の正確性には大差ない,という文章を見たことがあるのですが,うろ覚えのため原著を探すことができておりません。
もしこのような情報がありましたら是非ご教示下さい。

No.21509 Re: マルチプリケートの扱いかたについて  【青木繁伸】 2015/01/20(Tue) 10:38

何を標本とするかの違いは,自由度と関連するので,同じ検定統計量が得られても,有意確率は異なってくるでしょう。逆に言えば,有意にしたければレプリケートを十数個〜数百個作れば,必ず有意になるでしょう(有意になるまでレプリケートを増やす)。
レプリケートを作る意味が,「測定値がばらつくから複数個のレプリケートの平均値をとる」ということなら,それは「実験手技が未熟」とか「もともと誤差が大きい」などでしょうから,統計学とは無縁の原因でしょう。「コンピュータを用いたシミュレーションによって何れの方法でも検定の正確性には大差ない」というのも,そもそも誤差の小さいデータ生成法によるなら,どちらでもよいような結論が出るでしょう。前述したように,自由度が変わるので,統計量の大きさによっては,結果が異なるということもあるでしょう。
R でシミュレーションしてみた結果の例です。
sim <- function(n, m1, m2) {
x1 <- matrix(rnorm(3*n), 3)
x2 <- matrix(rnorm(3*n, m1), 3)
x3 <- matrix(rnorm(3*n, m2), 3)
x.orig <- c(x1, x2, x3)
g.orig <- rep(1:3, each=3*n)
p.orig <- oneway.test(x.orig ~ g.orig, var.equal=TRUE)$p.value
x.mean <- c(colMeans(x1), colMeans(x2), colMeans(x3))
g.mean <- rep(1:3, each=n)
p.mean <- oneway.test(x.mean ~ g.mean, var.equal=TRUE)$p.value
c(p.orig, p.mean)
}
p <- replicate(100, sim(5, 0.4, 0.6))
plot(p[1,], p[2,], xlab="original", ylab="mean")
abline(h=0.05, v=0.05)
xtabs(~(p[1,]<0.05)+(p[2,]<0.05))
p[1,] がレプリケートをプールした検定,p[2,] が平均値を使った検定
100 回中,有意になったのは,前者が 31 回,後者は 25 回
             p[2, ] < 0.05
p[1, ] < 0.05 FALSE TRUE
FALSE 67 2
TRUE 8 23

● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る