Rでの効果量の計算方法

今日の話題は効果量の計算方法についてです。効果量の考え方などについてはいろいろと意見を述べているサイトがあるのでそちら方面をご参照ください。

統計分析の結果をクライアントに報告するような場合に、通常はt値, p値の報告が主体で、
この効果量を説明する機会は意外にありません。この理由としてt値は2以上が良いといった話はよく出てくることから結構一般的に理解されていますが、効果量はまだその言葉自体になじみが薄く報告したとしても実質スルーとなるように感じます。

心理学(APA)など人文科学の分野などでは効果量の報告が実質的に義務になっているようですが、その他の分野では効果量が掲載されていなくても特段査読時に指摘されることも少ないように感じます。

APA論文作成マニュアル 第2版

APA論文作成マニュアル 第2版

  • 作者: アメリカ心理学会,前田 樹海,江藤 裕之,田中 建彦
  • 出版社/メーカー: 医学書院
  • 発売日: 2011/03/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 3人 クリック: 17回
  • この商品を含むブログ (2件) を見る

効果量

効果量についての説明はネットを検索するといろいろ出てくるので、ここでは私が理解する効果量について一文で説明するとすると「t値・p値は統計的に少しでも差があるかないかの可能性の評価であり、効果量は差の大きさの評価」といえる。

(そもそも差があるかどうかの検定ではなく、同じかどうかの検定だ!!的なコメントも出てきそうですが、まあエンジニアなので許してください)

サンプル数が増えるとt検定などではほんのわずかの差でも有意な差があるという結果になりやすく、大きなデータセットを使った分析では実質的にすべての変数で有意な結果に
なりやすいですが、効果量はサンプル数に依存せず差の大きさを評価する指標なので効果量が大きいほど実際の差異も大きいので直感的に理解しやすい指標となっています。

ノンパラメトリックな効果量 – Cliffのdelta

効果量で検索するとCohenのd(cohen’d)が紹介されていることが多いと思います。が、何でもかんでもCohend’dを計算して掲載すればよいというわけではありません。このCohen’dも分布の正規性を仮定した(パラメトリックな)統計量なので必ずしもすべての分布に当てはめることはできないからです。

有意差検定でt検定を分布にかかわらず当てはめるようなことができないのと一緒で、Cohen’dも計算の前提を満たしているか確認する必要があります。

以下の表に対応する検定手法をまとめてみました。

分布 差の検定 (*) 効果量
パラメトリック t検定 Cohen’d
ノンパラメトリック ウイルコクソン順位和検定 Cliff’s delta

(*)繰り返しですが検定の趣旨は差があるかどうかではなく、同じかどうかの検定です。

正規分布が仮定できないときにはt検定に代わってウイルコクソン順位和検定(=マン・ホイットニーのU検定)を利用するように、ノンパラメトリックな分布で正規性が確認できないときにはCliff's deltaを利用すればよいことになります。

もちろんこの正規性以外にも留意すべき点やそれに対応した手法はいくつかあります。例えば、
Cohen’s dに対して、標準偏差の取り方(考え方)が異なる手法として、グループ間のサンプルサイズの偏りを調整した手法(Hedges’ g)や
統制群の標準偏差を利用する(Glass’s delta)などもあります。目的のデータの性質に応じて使い分ける必要があります。

効果量を計算するRのパッケージ

メジャーどころでは二つあるようです

  • effsize : Cohen’d (Hedge’s g), Cliff’s deltaが計算可能です。バグフィックスも頻繁なようなので安心して使えるのではないでしょうか。
  • orddom : 更新が2015年以降止まっている点が今後にやや不安を残しますが、信頼区間を含めて一通り計算できるように関数が準備されており使い方も簡単です。いろいろな参考サイトが発見できます。

この他にcompute.esパッケージをはじめ各種のパッケージCohen’dが計算できる関数を
見つけることができます。

効果量の結果の解釈

効果量の計算結果は、大、中、小で判定されることが多くなっています。ではどのくらいの数字が効果「大」なのかといった話は、
相関係数が0.5で大きいか小さいかと解釈するの同じようにも感じていますが、
一応一般的と思われる解釈基準をあげておきます。

基準 negligible small size medium size large size 参考
Cohen’d 基準 <0.2 <0.5 <0.8 0.8以上 Cohen(1992)
Cliffs delta 基準 <0.147 <0.330 <0.474 0.474以上 Romano(2006)

上記の参考文献はいずれもeffsizeパッケージのマニュアル
記載があるので詳細はそちらを参照してください。

ウイルコクソン順位和検定の統計量はz/sqrt(N)?

私はノンパラの統計量は上記のCliff's dで良いかと思うのですが、いろいろと検索しているとウイルコクソン順位和検定を使った統計量は
 \displaystyle
\frac{Z}{\sqrt{n}}
で計算するという解説を見かけることもあります。

これは統計量をサンプルサイズに影響されないように
処理したものですが、じゃあ実際に計算してみようとした場合、そもそもこのZはどうやって計算するのかという疑問がわきます。
どうも、この統計量ZはRのwilcox.test( )関数で計算される順位和統計量Wとも異なるようです。

安心印のSPSSではZ統計量が計算されてくるようですが、Rで最も簡単な方法はcoinライブラリーのウイルコクソン検定
を実施すると計算されてくるZ値を使うことです。

また愚直に計算する方法もあります。以下のブログに丁寧に計算方法が掲載されていますのでご参照ください。

最後に

この話題関連で参考になる情報が多く掲載されているサイトを紹介しますのでご活用ください(英語ですが)

http://www.tss.awf.poznan.pl/files/3_Trends_Vol21_2014__no1_20.pdf