せいびし

専門性を持たない自分の正体を求めて

【各種検定の理論】対応のない2標本の検定(平均値の差の検定)

導入

今回は、対応のない2標本の検定で遊んでいきます。対応のない2標本の検定と対応のある2標本の検定の違いは、中の仕組みで言うならば差を取ってから平均するのが対応あり、平均してから差を取るのが対応なしになっています。さらに、t検定は母分散が未知の時に使われる検定であり、等分散であるか等分散でないかを判断して用います。等分散かどうかはF検定を用いる事で確認可能であり、等分散を仮定できる場合は母分散を不偏分散により推定した後で、2群のプールした分散という形で1つにまとめた物を取り入れた検定統計量を用います。等分散を仮定できない場合は、自由度を各群の不偏分散から近似するウェルチの検定を利用します。

さて、ここで気になる事があります。まず1つ目が、等分散の検定を怠って等分散を仮定したt検定を適用した場合どうなってしまうのか。次に、等分散である事が分かっているにもかかわらず、等分散を仮定しない検定を用いた場合はどうなるのか。専門書を読めばこの手の話はいくらでも書いてありますし、それこそネットを引っ張れば大量に情報が出てくるはずです。しかし、百聞は一見に如かず、百見は一考に如かず、百考は一行に如かずです。実際に手を動かして、目で見て実験してみましょう。シミュレーションをするだけなら、現実世界ではありえないような現象を起こすことができます。それが手を動かす事の醍醐味であり、面白さの一つだと思っています。

(追記:以下の記事で効果量の話が出てきますが、サンプルサイズの計算の所で用いた効果量はcohenのdであるのに対して、式で紹介している効果量はhedgeのgである事に気付きました…とはいえ気付いたところで疲れたので修正は魔が差した時にしておきます…申し訳ありません…)

1.対応のないt検定の概要

まずは、簡単に理論的な背景を述べていきます。

標本分布

 \displaystyle X_i~N(\mu_1, \sigma_1^2) (i=1..m), Y_j~N(\mu_2, \sigma_2^2)  (j=1..n)をそれぞれ独立に手に入れた2標本の確率変数とします。この2標本間の平均値に差があるかどうかを検討したいと思います。標本から計算される平均は標本平均と呼ばれていますが、標本平均もまた確率変数となります。標本平均 \displaystyle \bar{X}, \bar{Y}が従う確率分布は次のように示されます。

 \displaystyle \bar{X}~N(\mu_1, \frac{\sigma_1^2}{m})

 \displaystyle \bar{Y}~N(\mu_2, \frac{\sigma_2^2}{n})

標本平均の期待値が母平均の期待値と一致している事から、標本平均の期待値は不偏推定量*1として知られています。加えて、サンプルサイズ \displaystyle nが大きくなるほど、分散が小さくなる事から、一致推定量*2である事が分かります。
対応のないt検定では、2つの標本平均の差を検討するため、標本平均の差が従う分布も求めると、以下のようになります。
 \displaystyle \bar{X}-\bar{Y}~N(\mu_1-\mu_2, \frac{\sigma_1^2}{m}+\frac{\sigma_2^2}{n})

仮説

対応のない2標本の検定では、次のように帰無仮説が設定されます。

 \displaystyle H_0:\mu_1 = \mu_2

対立仮説は両側仮説なら \displaystyle H_1:\mu_1\neq\mu_2であり、片側仮説なら不等式になります。

上で示した標本平均の差の分布から、母分散を未知(不偏分散 \displaystyle s_1^2, s_2^2で推定)とし、帰無仮説の下での検定統計量を導くと、次の式で表すことができます。

 \displaystyle t = \frac{\bar{X}-\bar{Y}}{\sqrt{s_1^2/m+s_2^2/n}}

ここから、等分散が仮定できる場合はプールした分散を利用して検定統計量の導出をし、そうでない場合はウェルチの検定に移ります。

2.シミュレーション

やること

やる事は冒頭で述べた通り、等分散の検定を怠った時に起きるケースを検証していく事です。具体的には、等分散が仮定できないのに等分散を仮定した検定を用いた時のt値の振る舞い、等分散が仮定できるのに等分散を仮定できない検定を用いた時のt値の振る舞いを確認します。本当は正しく検定した時と誤って検定をした時で、検定結果にどのような影響を及ぼすかを考察したいのですが、ウェルチの検定は自由度が不偏分散によってコロコロ変わるので棄却域を一意に求められない事から断念しました(良い方法を思いついたよ!という方はこっそり教えて下さい、実験してみたいと思います)。

実験の手順

実験の手順は以下の流れです。

f:id:seibibibi:20191103213119p:plain

等分散である(2つの母集団が等分散)所を等分散でないものと仮定して行う実験(実験1)、等分散でないもの(2つの母集団は等分散でない)を等分散であると仮定して行う実験(実験2)で、等分散と仮定した時のt値と等分散でないと仮定した時のt値のヒストグラムを作ります。また、サンプリングの前に、等分散かどうかを予めF検定を行い確認しておき、サンプルサイズの設計も行います。等分散と仮定した時にはプールした分散が必要となるので、次の式でプールした分散を求めます。

 \displaystyle s^2 = \frac{(m-1)s_1^2 + (n-1)s_2^2}{m+n-2}

実験0 2つの母集団の作成

今回この検定で遊ぶにあたり、母集団の準備がかなり力づくになっている気がします。こんなことをしなければなかったのか…もっとうまい方法は無かったのだろうか…と考えながら記事を書きました。もう少しうまい方法がありましたら是非教えて下さい…*3

効果量

本題に入る前に、少しだけ効果量のお話をしましょう。次の図を見てみましょう。

f:id:seibibibi:20191104174653p:plain

標本平均の差はどちらも同じですが、どちらが差が表れているように見えるでしょうか。分布の重なりが小さい方がきっちり分かれているように見える気がします。このように、標本平均の差の大きさに加えて分散の大きさも考慮した量が効果量です。次に、ここで用いる効果量の式を見てみましょう。

 \displaystyle d = \frac{|\bar{X} - \bar{Y}|}{D_{pooled}}

 \displaystyle D_{pooled} = \sqrt{\frac{(m-1)s_1^2+(n-1)s_2^2}{m+n-2}}

この式から、効果量が大きくなる条件を考えてみましょう。効果量が大きくなる条件は2つあります。

  • 分母を固定した時に分子が大きくなる

これは、標本平均の差がそもそも大きい事を意味します。つまり、2つの分布が離れれば離れるほど効果量は大きくなります。

  • 分子を固定した時に分母が小さくなる

これは、プールした分散が小さくなることを意味します。プールした分散が小さくなるためには \displaystyle s_1^2, s_2^2が小さければ良い事が分かります。

これらを踏まえると、①分布のピークが離れていて②2つの分散が小さければ効果量が大きくなることが分かります。ここで注意したいのは、標本平均や不偏分散は標本の取り方によって変動する事から、効果量も確率変数であることです。
という事で、サンプルサイズを設計する時に効果量のパラメータを突っ込んでいきますが、その意味合いとしては、母集団分布間でこの位の効果量があったら良いなあ程度の仮定になります。

サンプルサイズの設計

まず初めに、サンプルサイズの設計を行います。有意水準 \displaystyle \alpha=0.05、検出力 \displaystyle 1-\beta=0.8、効果量 \displaystyle d=0.8とした時のサンプルサイズの推移を以下の図に示します。

f:id:seibibibi:20191104140808p:plain

今回はシミュレーションであり、データを取るにあたり不都合な制約条件等は存在していないので、とりあえず \displaystyle m=30, n=22にしておきます。

母分散の決定の手順

ここから、等分散(等分散でない)になるような2つの母分散の決定をしていきます。ここで、効果量の式を用います。効果量の式を再掲します。

 \displaystyle d = \frac{|\bar{X} - \bar{Y}|}{D_{pooled}}

効果量の式を以下のように変形します。
 \displaystyle (m-1)\sigma_1^2+(n-1)\sigma_2^2 = (m+n-2)(\frac{|\bar{X}-\bar{Y}|}{d})^2

ここまでの手順で、 \displaystyle d=0.8, m=30, n=22は確定しました。さらに、 \displaystyle |\bar{X}-\bar{Y}| = \deltaなる \displaystyle \deltaをこちら側で与えてあげるもの(2つの母平均を差が \displaystyle \deltaとなるように与える)とすれば、上の式は次のように変形されます。
 \displaystyle 29\sigma_1^2+21\sigma_2^2 = 50(\frac{\delta}{0.8})^2 = const

この式は \displaystyle \sigma_1^2, \sigma_2^2を変数とする1次不定方程式であり、その解は \displaystyle \sigma_1^2, \sigma_2^2 > 0の範囲で無限に存在しています。という事で、この式を満たし且つ等分散(等分散でない)な母分散を決定していきます。かなり強引な手法になっており、何か重大な間違いをしているような気がとてもしていますが、とりあえずこのまま進めていきます。

2つの母集団分布の決定

まずは、ここで定義した \displaystyle \delta \displaystyle \delta=5となるように母平均を確定します。とりあえず \displaystyle \mu_1 = 100, \mu_2=105にしておきましょう。そうすると、1次不定方程式は次の式となります。

 \displaystyle 29\sigma_1^2+21\sigma_2^2 = 1953.125

グラフを書いてみましょう。
f:id:seibibibi:20191104152925p:plain

 \displaystyle \sigma_1^2をだいたい40周辺にすると同じ位の分散になりそうですね。
というわけで、このグラフとF検定の結果から、等分散の場合の母集団 \displaystyle N(\mu_1, \sigma_1^2), N(\mu_2, \sigma_2^2) \displaystyle N(100, 39), N(105, 39.15)、等分散でない場合は \displaystyle N(100, 15), N(105, 72.3)としました。

実験1 等分散である所を等分散でないものと仮定

先ほども述べた通り、実験1では母集団を \displaystyle N(100, 39), N(105, 39.15)と設定し、3000回のサンプリングを行いました。その時のt値のヒストグラムを以下に示します。

f:id:seibibibi:20191104170055p:plain

図中のt_eq等分散と仮定して計算したt値t_neq等分散でないものとして計算したt値です。このグラフを見る限り、両パターンともかなり重なりが大きい事が分かります。

実験2 等分散でない所を等分散であるものと仮定

次に、母集団を \displaystyle N(100, 15), N(105, 72.3)とした時の結果を示します。サンプリング回数は実験1と同じ3000回です。ヒストグラムは以下になります。

f:id:seibibibi:20191104170639p:plain

今回はヒストグラムに多少のずれが生じている事が分かります。等分散でない所を等分散であるとして分散をプールした結果、分散の大きい方(小さい方)に引っ張られたため、このようなヒストグラムのずれが生じたことが考えられます。

まとめ

今回は本来の母集団分布に対して等分散を仮定するのかしないのかでt値がどう変わるのか実験を行いました。t値に違いが現れたり現れなかったりを見られたのはとても面白いともいましたが、個人的には間違って検定した時の影響を定量化する方法が思いつかなくてとても残念でした。また、母集団分布の仮定がかなり無理やりな気がして、気づかない内に基本的な間違いや致命的なミスをしていそうでとても怖かったです。今回はとりあえずこれで、良い方法が思いついて且つ魔が差した時に再び実験してみたいと思います。もしくは、もう少しきちんと統計を勉強した後でこの記事を見返して、こいつクソかよと吐き捨てたいと思います*4


※今回作成したプログラムはこちら
seibibibi.hatenadiary.jp

*1:標本抽出をしては平均を取って、標本抽出をしては平均を取って…を繰り返すと母平均に値が集中する

*2:サンプルサイズが大きくなると標本平均は母平均に近づいていく(不偏性と比較して話がややむずかしめなので、ざっくりした理解で大丈夫です。怒られそうですが…)

*3:色々と間違いを犯している感があります…

*4:そうでありたい