フィッシャーの三原則

統計学の父であるフィシャー:Ronald A. Fisherは、農業試験の適切な実施のための方法論として実験計画法という学問分野を確立しました。
Fisherは局所管理、反復、無作為化の3つが大切であると述べています。これはフィッシャーの3原則と呼ばれ、農学以外の幅広い分野において利用されています。
以下に、肥料の種類による作物の生育具合の評価を目的とした農場試験を例に取って説明します。

1. 局所管理(小分け)の原則
実験計画の最も原始的な形態は以下のようなものです。複数水準の間の効果を比較したいのですが、同じ場所で異なる年度で調査を行おうとしています。これでは、年度ごとの気候の差が系統誤差として入ってきます。
そこで以下のように局所管理(小分け)すると、年度ごとの気候の差を調整することができます。


2. 繰り返し(反復)の原則
小分けをしただけではまだ問題が残ります。ある水準で生育がとても良かったときに、それが果たして偶然誤差によるものなのか、水準の違い(肥料の違い)によるものなのかがはっきりしません。この問題は水準ごとに実験を反復することで、解決することができます。同じ水準内で比較することにより、偶然誤差による差を調整することができるためです。

3. 無作為化の原則
2のように水準ごとに繰り返しを作ることで、偶然誤差と系統誤差(水準によるものとそうでないものを含む)に分解することが可能となりました。最後は、実験の割り付けを無作為化することが必要となります。2.のデザインでは、水はけは日当りなど、目的要因以外の要因が、一定の方向で偏りを持って実験結果に影響を与えている可能性が高くなるからです。つまり、水準以外の系統誤差が調整できていないのです。そこで、下の図のように無作為に実験を割り付けることにより、それらの系統誤差を調整することが可能となります。

以上、フィッシャーの3原則でした。
基本的な発想は、「目的となる要因以外からの影響が極力排除すること」です。肥料以外の要因は一定になるように努力するとともに、もしそれを制御しきれないのならば、せめて肥料以外の要因が実験結果に偏って現れないようにデータ収集することが大事なのです。

この発想は臨床試験や生物学実験においても大切な発想であると思います。


【参考文献】
栗原 伸一『入門統計学』Ohmsha, 2011, 88-89, 130-138pp



二群比較と回帰分析の関係


今回は二群比較と回帰分析の関係について考えたいと思います。
前回のブログでは、ANOVAと二群比較が共に「目的とする効果による変動が誤差による変動に対して有意に大きいか」という発想を根底に持つという意味で共通しているのだという議論を行いました。
実は、回帰分析と二群比較も同様の議論が可能です。
二群比較と単回帰分析は本質的に同じことをしているのです!
単回帰分析モデルの一般式は
y = βx + α + ε
と表されます。
これは、まさに目的の効果と誤差を分離して、説明変数を説明しようとしている式です。
これを前提にして、二群比較のそれぞれの群に0と1のダミー変数を与えて、回帰分析を行うと、通常のt検定をと同じp値が得られます。
以下では、Rを用いて検証を行いました。

> cityA <- c(178, 182, 181, 179, 178, 182, 181, 179, 173, 187, 170, 190)
> cityB <- c(168, 172, 174, 166, 169, 171, 165, 175, 162, 178, 164, 176)

> dat <- c(cityA, cityB)
> dat
 [1] 178 182 181 179 178 182 181 179 173 187 170 190 168 172 174 166 169 171 165
[20] 175 162 178 164 176

#ダミー変数を用いてcityAに0を、cityBに1を与える

> city <- c(rep(0,12), rep(1,12))
> city
 [1] 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

#この段階で散布図を描写
> plot(dat~city)
#回帰分析
> summary(lm(dat~city))

Call:
lm(formula = dat ~ city)

Residuals:
   Min     1Q Median     3Q    Max 
 -10.0   -2.5    0.0    2.5   10.0 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   180.00       1.52 118.416  < 2e-16 ***
city          -10.00       2.15  -4.652 0.000123 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 5.266 on 22 degrees of freedom
Multiple R-squared: 0.4959, Adjusted R-squared: 0.473 
F-statistic: 21.64 on 1 and 22 DF,  p-value: 0.0001228 


#通常の2群間比較をt検定にて行う
> t.test(cityA, cityB, var.equal=F)

Welch Two Sample t-test

data:  cityA and cityB 
t = 4.6518, df = 21.96, p-value = 0.0001233
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
  5.541324 14.458676 
sample estimates:
mean of x mean of y 
      180       170 

#散布図の上に回帰直線を描写する
> plot(city, dat)
> abline(lm(dat~city))
大学の一般教養の講義や導入書では、anovaやtテスト、回帰分析を別個の物として扱うに留まっていることが多いように感じます。しかし、一般線形モデルを意識しながらこれらを眺めると、「目的の効果と誤差を分離する」という共通原理が浮き彫りになってきます。

Peter Dalgaard『Rによる医療統計学』2007 丸善株式会社  92 - 96pp

二群比較とANOVAの関係

今回は、平均値の二群比較が、対応の無い2群の一元配置分散分析を行うことに等しいことを直感的に理解することを目指します。


今、CityAとCityBに住んでいる住人をそれぞれの群から無作為に6人だけ選出して身長を測定したとします。それが以下のデータです。
このデータに対して対応の無い2群の一元配置分散分析を行います。


分散分析とは総変動を以下のように

総変動 = 目的要因変動 + 誤差変動
と分けることが発想の基盤となります。これにしたがって、以下の図のように目的要因変動(都市による変動)と誤差による変動を計算します。


総変動を分解した結果が以下のようになります。群間変動というのは目的要因変動(都市による変動)のことであり、群変動とは誤差による変動のことを指します。


これらから、各偏差平方を計算すると以下のようになります。
分散分析とは、目的となる要因効果(群間変動)の分散が、誤差効果(標本間変動をのぞいた群内変動)の分散に比べて有意に大きいかを検定する統計手法です。これを行うにはこれら二つの比を取れば良いのです。そしてこの比は等分散の検定の時に用いた、F値です。自由度はそれぞれの自由度とします。

今回のケースで実際に計算してみると、

F = 300 / 6 = 50

となります。
自由度v1 = 1, v2 = 10の下、上側確率が5%になるF値は、,F分布表を参照すると4.96となります。
そのため、「今回のケースは都市による変動が誤差による変動を危険率5%で有意に上回る」と言うことができます。

一方、今回のケースにStuden t検定を行うとどうなるでしょうか。個々から下はRを用いて計算を行います。

$ R
> cityA <- c(178, 182, 181, 179, 178, 182)
> cityB <- c(168, 172, 174, 166, 169, 171)
> t.test(cityA, cityB, var.equal=T)

Two Sample t-test

data:  cityA and cityB 
t = 7.0711, df = 10, p-value = 3.411e-05
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval:
  6.848936 13.151064 
sample estimates:
mean of x mean of y 
      180       170 

p< 0.05なので、二群の平均値の間には有意な差があると言うことができます。
ところで、t値は7.0711と求まりました。
実はこのt値を2乗してみると面白い結果を得ることができます。

> 7.0711 * 7.0711
[1] 50.00046

なんと驚いたことに、先ほど計算したF値とStudent t testで計算したt値の二乗が一致するではありませんか。これはただの偶然ではないのです。
一般に、平均値の二群比較でもとめられるt値の二乗は、対応の無い2群の一元配置分散分析を行うF値に等しいのです。

このことから、tテストを行うということはANOVAを特定下で行うことに等しいということができます。

この話題は、結局平均値の二群比較とANOVAと回帰分析を巻き込んで、一般化線形モデルというトッピックに発展するようです。

まだ勉強の途中でよく理解できていないので、あまり細かいことは良く理解できていません。しかし、現状理解できているのは、「見たい要因による効果」と「偶然による誤差」を一次結合の形式で分離することができるというモデル(信念)を頭において、これらの理論は構築されているということです。
非線形であった場合、例えば誤差がある値を超えてきた場合に、見たい要因の変動にもとても大きな(小さな)な影響を与えるようなことが起きると思われます(一例ですが)。非線形の場合は、さまざまな要因間が絡み合っていると考えるはずです。要するに、「世の中、物事の足し算でできているような単純なものではない」とすることではないでしょうか。

少し、哲学的になってきてしまいましたが、現状私が理解できている(しているつもり)の範囲を書きました。

【参考文献】

栗原 伸一『入門統計学』Ohmsha, 2011, 88-89, 130-138pp














霊長類の進化

先週、愛知県犬山市にある日本モンキーセンター(http://www.j-monkey.jp/)を見学してきました。様々な種類の霊長目の動物達が活発に動き回る姿を目の当たりにして、私たちヒトという動物の生きる意味について問い直すきっかけとなりました。

さて、今回は霊長目(霊長類)の進化の歴史について勉強したことをまとめます。

例調理は、中生代の白亜紀末期、今からおよそ7000万年前にほかのグループから分かれたと考えられています。
霊長類の独自の特徴は以下のようなものが挙げられます。

  • 樹上への適応を通じた独自の進化
  • 平爪を有する
  • 発達した鎖骨
  • 母指対立により物を握ることが可能
  • 両眼で前方の同じものを見ることが可能
  • 赤色オプシン遺伝子を重複させて変異を加えることで、緑色オプシンを復活させている
原始的な真アルコンタ類からヒトに至るまでの進化の過程で重要な分岐は以下の通りです。
  • 約7000万年前(白亜紀終わり頃)
    • 霊長目がツパイやヒヨケザルの仲間から分岐
  • 約3000万年前(新生代)
    • 類人猿が旧世界ザルと分岐
  • 約700万年前
    • ヒトとチンパンジーが分かれた
  • 約300万年前
    • チンパンジーとボノボが分岐



日本モンキーセンターのゴリラやチンパンジーの檻のそばにはヒト様の檻も用意されていて、中にはベンチが置いてあり記念撮影ができるようになてちます。その檻に張られたヒトの紹介文の内容は、ヒトの可能性や危険性に言及したもので大変示唆に富んでいました。よって、ここではこれを引用させて頂きます。

ヒト
英名 : Human
学名 : Homo sapiens
分布 : 地球上の陸地のほぼ全域

身体
  • しっぽがなく、からだの毛は少ない。
  • 器用な前足と大きな脳を持つ。
  • 二本足でまっすぐ立って歩き、サルの仲間のくせに木登りがへた。
食性
  • なんでもよく食べる雑食性だが、1頭ごとの好き嫌いは多い。
  • 食べ物をいろいろ加工したり、貯めこんだりする。
習性
  • 好奇心が強く、遊び好き。危険な眼にあっても、なかなかこりない。
  • 大きく複雑な群れを作って生活し、音声によるコミュニケーションがさかんである。
  • 「文字」や「絵」などを通じて情報をやりとりし、いつも仲間とふれ合うことをもとめている。
  • しばしば、いさかいをおこあし、仲間同士で殺し合いをすることも珍しくない。
  • 本能だけではうまく生きられず大人になるまでに身につけなくてはならないことがとげも多い。
  • 優れた知能をもち、大きな可能性をひめているるが、失敗したときにまわりに与える影響も大きい。それを忘れたとき地球上でもっとも危険な動物となる。

【参考文献】
井出利憲「分子生物学講義中継 生物の多様性と進化の驚異」羊土社 2010 310-311pp
財団法人日本モンキーセンター「霊長類 ガイドブック」 2012 64pp


Rを用いた単回帰分析の基本

ある試薬を培養細胞に添加したときのある遺伝子の発現量を制御するための実験を行った。実験結果は以下の通りである。このデータを用いて単回帰分析を行う。


以下解析。

#Rを起動
$ R

#データの入力
x <- c(0.1, 0.2,0.3,0.4,0.5,0.6)
y<-c(3.1,3.8,5.7,6.7,7.5,9.3)
dat <- data.frame(x, y)

#データの確認
dat

    x   y
1 0.1 3.1
2 0.2 3.8
3 0.3 5.7
4 0.4 6.7
5 0.5 7.5
6 0.6 9.3

#データの描写
png("dat1.png"); plot(dat, xlab="reagent dose(ug)", ylab="gene expresion"); dev.off();
#回帰分析
model <- lm(y~x, data=dat)

#回帰分析結果の要約表示
summary(model)

Call:
lm(formula = y ~ x, data = dat)

Residuals:  #各残差
            1             2             3            4              5             6 
 0.16190 -0.36952  0.29905  0.06762 -0.36381  0.20476 

Coefficients:
                 Estimate     Std. Error    t value    Pr(>|t|)            #推定値
(Intercept)   1.7067        0.3056      5.585     0.00504 **     #定数項(β0)
x                12.3143       0.7847    15.693     9.63e-05 ***  #回帰係数(β1)
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.3283 on 4 degrees of freedom  #残差の標準誤差
Multiple R-squared: 0.984, Adjusted R-squared:  0.98 #寄与率、調整済寄与率
F-statistic: 246.3 on 1 and 4 DF,  p-value: 9.632e-05        #F0値、p値

#回帰係数の95%信頼区間を算出

confint(model, level=0.95)

                          2.5 %      97.5 %
(Intercept)  0.8581746    2.555159    #β0の95%信頼区間の下限と上限
x              10.1355593   14.493012   #β1の95%信頼区間の下限と上限

#実験データの散布図と回帰直線の描写

png("dat2.png");
plot(dat, xlab="reagent dose(ug)", ylab="gene expresion"); 
abline(model, col="red")
dev.off();
【参考文献】
辻谷 将明、 和田 武夫『Rで学ぶ確率・統計』共立出版 2012 122 -136 pp.