【統計の勉強】多群比較の時の効果量ってどうやって計算するの?
こんにちは。Rを使って日々の実験データを論文にいつでも掲載できるレベルにしようと画策している、生命科学系研究者のえいこです。
ここ3ヶ月くらいずーーーっと3群以上の多群比較のことについて勉強したりRのコードを書いたりしています。
検定の方法をif文分岐で指定したり、Rのライブラリにない検定のコードは自作したり、棒グラフを描いたり、データごとのプロットを描いたり、検定の結果を作ったグラフに書き込んだり...いろんなことをしてきました。
最近、Nature, Cell, Scienceレベルの雑誌では有意差だけではなく、「効果量」も併記することを推奨され始めています。
と言うのも、有意差はサンプル数を増やせば自然と出やすくなる(小さくなる)傾向があるため。
(Xという薬の効果が”あること”を示したいから、サンプル数を増やしてしまえー!と実験して無理やり有意差が出ました!ということになりかねません。統計学でいうところの第一種の過誤を起こしています)
効果量のと検定力に関してはこちらの記事にもまとめています。(自分でも振り返りにために時々見に行っています)
とまぁ、サンプル数に関わらない効果の大きさを示す指標として「効果量」が使われるわけです。
◇効果量の計算についておさらい
効果量はどうやって計算するんでしたっけ?ちょっとおさらいしてみます。
そもそも効果量には「d族」と「r族」があります。「d族」は効果の大きさ(グループごとの平均値の違いを標準化したもの)を、「r族」は相関の大きさを表すものです。
どちらも数値が大きくなると、効果の大きさが大きいことを示しますが、一般的に「d族」は上限・下限が無限なのでどれくらいの大きさだと効果が大きいのかぱっと見ではわかりづらく、「r族」は0〜1の値を取るのでひと目見ただけでわかるという特徴があります。
今回はr族の効果量について計算方法をおさらいしておきましょう。
2群検定にはパラメトリックなt検定とノンパラメトリックのマン・ホイットニーのU検定と二種類あります。
パラメトリックなt検定にはStudent’sとWelchとありますが、比較する群の分散が異なることを前提にしたWelchを使うのが一般的になっているそうです。(分散が同じであっても計算に支障がないため)
・パラメトリック検定の場合
パラメトリックt検定の時の効果量rの計算方法は...
t値とdfを使ってこんな計算式になります。
t値とdfの取得の仕方はこちらの記事をご覧ください。
・ノンパラメトリック検定の場合
では、ノンパラメトリック検定の時はどう計算すれば良いのでしょうか?
統計量Zを全体のサンプル数Nの平方根で割る、Z/√Nで計算できます。
統計量Zについては後々勉強するのでお待ち下さい。
Z統計量についてまとめたので、こちらの記事もご覧ください。
※簡単に言うと標準正規分布(平均0,標準偏差1)に変換したもの
Z値の取得方法と効果量の計算方法はこちらの記事でまとめています。
◇多群比較の場合ってどうするの?
統計処理(αの値を計算する)する場合、確率論の話なので何回も繰り返すと間違いを犯す確率が上がってしまいます。
そのために、「2群比較を何回も行う」のではなく「多群比較」というpの値を補正する計算が必要になります。
では効果量の場合は、補正する必要があるのでしょうか?
調べてみると確率論で有意水準を計算するものとは異なり、確率論に左右されないので何群になっても計算の仕方は変わりません。
ただ多群比較になると検定量の出力方法が異なるのでそこに注意しながら計算したほうがよさそうです。
◇ Rで効果量を計算するために
・パラメトリック検定の場合
何回やっても効果量の計算に影響がないと言うことなので、愚直にそれぞれの群についてt検定をして効果量を算出するのが良いのでは?と言う結論になりました。
※ここに記事を貼る予定です。
・ノンパラメトリック検定の場合
こちらも色々調べてみましたが、素人の私ができることは組み合わせごとにマン・ホイットニーのU検定をして計算することが良いのかなと言う結論になりました。
※ここの記事を貼る予定です。
今回は、どういう風に計算するかという指針だけ立てておきました。
(これから先にコードを書くとなるとかなり長い記事になってしまうので...)
r族で効果量を算出する手順を次回以降続けていきたいと思います。
実はd族でも検討していたので、d族に関しても計算してみてその結果をどこかに書けたら良いなと目論んでいます。
今回はこの辺で。
それでは、また!
参考文献