« exist | トップページ | ロボット、人、こころ »

等分散性の確認

平均値の差の検定や分散分析をする前に、等分散性(homoscedasticity)の検定をする人が多いらしい。
ネットではこれについて検定の多重性(multiple testing)が問題になるとか書いてあるページが多いのだが・・・
多重性???


例えば2群の平均値の差の検定(t検定)において、ふつう設定される帰無仮説は

H0: 標本 x と y の母集団の平均値に違いはない

であるが、その前提として、

Ci: 標本 x と y では母集団の分散は一致している

という条件が満たされていることを要求する。
この条件を帰無仮説に含めてしまうなら、

H0': 標本 x と y の母集団は平均値にも分散にも違いはない

となり、その対立仮説として

H1': 標本 x と y の母集団は分散には違いはないが平均値に違いがある

と置いていることになる。

ここで母集団について可能性を総当たりしてみよう。すると互いに排反な4つの仮説を作ることができる。

Hi: 標本 x と y の母集団は平均値も分散も同じ
Hii: 標本 x と y の母集団は平均値は違い分散は同じ
Hiii: 標本 x と y の母集団は平均値は同じで分散は違う
Hiv: 標本 x と y の母集団は平均値も分散も違う

こう見ると、Studentのt検定は、 Hi なのか、あるいは Hii なのか、の判定をしていることになる。
しかし ( Hi または Hiii ) vs. ( Hii または Hiv ) と誤解しているユーザもいるかもしれない。後者の判定をやっているのは、分散が異なる可能性がある場合の平均値の差の検定として知られている Welch の t検定(近似的)である。

片や、等分散性の検定は、平均値に関しては無視して、( Hi または Hii ) vs. ( Hiii または Hiv ) の判定をしている(ただ、ふつうは、いわゆる positive hypothesis testing なのだが)。

さて、等分散性の検定 → Student or Welch という流れで平均値の差の検定を行うことの妥当性は?

第一種の過誤の確率、第二種の過誤の確率をそれぞれ
等分散性の検定については αv, βv
Student のt検定については αs, βs
Welch のt検定については αw, βw
と表すことにする。

もし等分散性の検定とその後の検定が独立なら、

Hi が真の場合:
α = αv * αw + (1-αv) * αs
このとき αs = αw として検定しているなら、α = αs = αw

Hii が真の場合:
β = αv * βw + (1-αv) * βs

Hiii が真の場合:
α = (1-βv) * αw + βv * αes

Hiv が真の場合:
β = (1-βv) * βw + βv * βes

ここでα,βは、上の流れで平均値の差の検定を行ったときの第一種、第二種の過誤の確率。
αes, βes は、等分散でないのに Student の t を使った場合の第一種、第二種の過誤の確率。

問題点は、独立という約束はほとんどの場合に守られていないこと。加えて、αes, βes だ。

検定の独立性について、この例に則して具体的に言うと、等分散性の検定にて F 統計量がどのような値の時でも平均値の差の検定の t 統計量の分布が変わらない場合を独立とよぶ。
例えば、手元の各標本 x, y をランダムに2分割して、片方に等分散性の検定、残りもう一方に平均値の差の検定を適用すれば、独立性は達成できる(サンプルサイズは小さくなるが)。こんなことをせずに同じデータに順に検定を適用していく流通したやり方では、2つの検定は独立ではない。
独立でない場合、α,βを考えるには、等分散性の検定統計量(F統計量など) と Student および Welch の t統計量の同時分布を知らなければならないと思われるが、私は統計学者ですらないのでそのような研究を存ぜぬ。簡単に独立だと証明できるのかな?まあ、初心者には厄介だと予想する。
そして仮に独立性を確保したとしても、αes, βes の問題が残る。これはつまり、誤用したケースの確率を考える話で、これまた解析的には厄介なはず。コンピュータが発達した昨今ではシミュレーションは簡単にできるだろうから、そのような研究はあるだろうと思う。
ときどき書いてある「等分散性の検定では αv を大きく設定しろ」というアドバイスは、正確には βv を小さくしろという意味だ。そうすることで、α,βに対する αes, βes の影響力を無視できる程度に抑えられる、従って αes, βes の値について考えなくてよくなる、と思っているのだろう。でも、独立性の問題はそれとは関係ない。

等分散性の検定に関わらず常に Welch を使うとすれば、α = αw, β = βw となるのだから、懸念は解消される。この場合、言い換えれば、等分散性の検定は無意味だ。

それなのに Student の t が未だ生き残っているのは、等分散の場合には Student のほうが Welch より検出力が少々高いからだろう。この些細な利点を享受するためにわざわざ等分散性の検定で分岐しようとしているのだ。でも、上記のとおり、利点よりも欠点の方が大きすぎるように思われる。

factorial ANOVAでも話は同じである。等分散が仮定できない場合は最初から mixed model など異分散を許容する手法を使うのがすっきりだ。


と、一通り説明が終わったところで、

このように、等分散性の検定→平均値の差の検定という手続きは、問題点はあるにはあるが、
それはいわゆる検定の多重性、多重検定(multiple testing)とは別問題だ。
multiple testing は 複数の検定をセットとして simultaneously に行う場合の話である。このとき、セットに含まれる各検定は互いに独立だという単純な仮定の下のαのインフレ問題(αf = 1 - (1 - αc) n )がしばしば紹介される。(ただし、現場的には独立な多重比較のケースは少なかろう。Bonferroni の不等式は強烈に依存している場合に最大値になるので、それを見越して保守的な補正をしている。)
一方、上記で問題となっているのは、特に複数の検定を sequentially に行う場合によくある、検定間の依存(非独立)に伴う、手続き全体での α,β の問題である。

こういう、ある分析の結果を見てから、同じデータに対して次に行う統計分析を決めるという手続きは、非常によく行われている。昔からある post-hoc tests なんかだけでなく、特に最近流行りだした探索的なモデル選択などの手法では、バリバリだ。
それらの統計分析が独立であれば、問題ない。独立でなかったとしても、かなり偏った同時分布でなければ、影響は少ないだろう(上の例を見ればわかるとおり)。だから、同時分布についての研究がどれくらいあるのか勉強不足だが(実際少ないのかもしれないが)、みんなそれほど分布が偏っていないと「信じて」やっている、というのが実状じゃないかと思う。

余談だが、実のところ、「よくわかっていないけど(証明されていないけど)そうだろうと信じられている(予想されている)」というのは統計学では(もっと一般に数学でも)けっこうよくある話だとおもう。

このところ異分散をモデリングする方法が実用になってきたから、いまさら等分散性の検定統計量との同時分布とかって、まったく動機づけが無いんじゃなかろうか。このまま闇に葬られる?

--

簡単だと言ってしまったので、実際にシミュレーションやってみた。

sim <- function(m1=0, m2=0, s1=1, s2=1, n1=16, n2=16,
                rep=100000, alpha.F=0.2) {
  z <- replicate(rep, {
    x1 <- rnorm(n1, mean=m1, sd=s1)
    x2 <- rnorm(n2, mean=m2, sd=s2)
    ve <- var.test(x1, x2)$p.value > alpha.F
    c(p.value=t.test(x1, x2, var.equal=ve)$p.value, var.equal=ve)
  })
  list(
    sampling=rbind(list(dist="rnorm", mean=m1, sd=s1, n=n1),
                   list(dist="rnorm", mean=m2, sd=s2, n=n2)),
    alpha=alpha.F,
    results=z,
    t=rbind(Welch=list(rep=sum(z[2,]==0), alpha=0.05,
                       prop=mean(z[1,z[2,]==0] <= 0.05)), 
            Student=list(rep=sum(z[2,]==1), alpha=0.05,
                       prop=mean(z[1,z[2,]==1] <= 0.05)))
    )
}
10万回くりかえしの結果











repprop
N(0, 1), N(0, 1), n1 = n2 = 4
Welch20095.0277
Student79905.0498
N(0, 1), N(0, 1), n1 = n2 = 16
Welch19831.0477
Student80169.0500
N(0, 1), N(0, 2.25), n1 = n2 = 16
Welch60166.0426
Student39834.0617
N(0, 1), N(0, 4), n1 = n2 = 16
Welch91021.0468
Student8979.0890
N(0, 1), N(0, 9), n1 = n2 = 16
Welch99732.0495
Student268.1604

結果の表の上2つが Hi に該当する。下の3つは Hiii に該当する。
これを見ると、分散の差が大きくなるにつれて αes がどんどんインフレしていくのがわかる。
しかし、このシミュレーションは等分散性の検定を αv = 0.2 でやっているが、手続き全体で計算すると実際に α ≒ 0.05 になってくる。

もう1つわかることは、Welch の t 検定はかなり保守的だということ。それも n が小さいときに顕著になる。

|

« exist | トップページ | ロボット、人、こころ »

Η 数理の諸問題」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/26863/36225333

この記事へのトラックバック一覧です: 等分散性の確認:

« exist | トップページ | ロボット、人、こころ »