All Articles

仮説検定によるABテストの効果測定

はじめに

業務で仮説検定による効果測定について調べていたところ、リクルートコミュニケーションズさんの記事が参考になった。
今回は、それに対する要点と、自分が補足的に調べた内容を併せてまとめる。

仮説検定の分類

ABテストの効果測定には、主に仮説検定という統計的手法が用いられる。

下記の表は、先述のリクルートコミュニケーションズさんの仮説検定の分類表にやや手を加えた物になる。

手法 対象データ 使用条件 復元抽出 厳密さ 備考
フィッシャーの正確確率検定 CTR/CVR anywhere o o --
二項検定 CTR/CVR anywhere o o 上記に「戻しの処理を加えたもの」
χ2検定 CTR/CVR N1\small{N \gg 1} o x 二項検定において正規分布で近似(中心極限定理)
t検定 CTR/CVR/連続値 CTR: N1\small{N \gg 1}
連続値: 正規分布 or N1\small{N \gg 1}
? CTR: x
連続値: ?
連続値の場合、平均値に差があるか否かの検定
ウィルコクソンの順位和検定 連続値 N1\small{N \gg 1} ? ? 中央値に差があるか否かの検定
  • N1N \gg 1 はサンプルサイズが十分大きいことを示す。
  • 前提条件・理論の厳密さなどに関しては、所々怪しい部分があるので、後に詳しく調べて追記したい。

二項検定 vs フィッシャーの正確確率検定

本質は、復元抽出かどうかの違いにある。

  • フィッシャーの正確確率検定:非復元抽出
  • 二項検定:復元抽出

コンバージョンの計算では、 コンバージョンするユーザが1人減ったからと言って、他の人のコンバージョンレートが下がるとは考え難い。
そのため、”コンバージョンする確率は常に一定”と仮定する方が自然とされ、二項検定が用いられるとのこと。

t検定 vs ウィルコクソンの順位和検定

本質は、検定統計量の違いにある。

  • t検定:平均値
  • 順位和検定:中央値

ウィルコクソンの順位和検定においては、中央値で評価を行うため、少数の外れ値に影響を受けにくい
ゆえに、明らかなはずれ値が存在する場合にはウィルコクソンの順位和検定を用いるのが妥当らしい。

t検定の前提条件について

母平均の差の検定に関しては、2つの母集団の分散が等しいか否かで手法が変わる。

  • 等分散の場合: スチューデントのt検定
  • 異分散の場合: ウェルチのt検定

等分散の条件を満たすか否かは、F検定によって母分散の比を検定することで確かめる。

二群間検定のライトな実装

Pythonでの実装例は、【Python】2群間での統計検定手法まとめが参考になった。
基本的には、 scipy.stats のシンプルな実装でほとんど完結できてしまうため、困ることはなさそう。

三群以上の比較方法

ここまでは、二群間の比較の話だった。
三群以上の比較の場合はどうするのかをまとめていこう。

そもそも三群をまとめて比較する必要はあるのか?

ここで次のような疑問が生まれる。

「2つずつ対象のグループをとって差の有意性を比較するだけで良いのではないか…?」

例えば、テストグループA、テストグループB、コントロール(CTRL)があったとき、

  1. テストグループAとCTRL
  2. テストグループBとCTRL
  3. テストグループAとテストグループB

という組み合わせでそれぞれ有意差検定を行えばよいのではないかと思える。

しかし、少し考えるとわかるのだが、上記のアプローチだと個々に指定した有意水準より正しい検定結果が出る可能性が低くなってしまう。

検定における2つの誤り

それを確かめる前に、以下の統計学用語についておさらいしておく。

第1種の過誤 (偽陽性):

「帰無仮説が正しい場合に、誤って仮説を棄却する誤り」
例) 「有意差がない」のに、「有意差がある」とする誤り

第2種の過誤 (偽陰性):

「帰無仮説が誤っているのに、仮説を採択してしまう誤り」
例) 「有意差がある」のに、「有意差がない」とする誤り

ここで、先ほどの例 1. ~ 3. において、5%の有意水準で行った場合に、第一種の過誤が起こらない確率は、

(10.05)3=0.85( 1 - 0.05 )^3 = 0.85

すなわち、85%まで下がってしまう。

このようにして、二群比較を繰り返すと、第一種の過誤が増大してしまうのである。

多重比較検定

そこで、一般に多重比較検定という手法を用いる。

  • 独立した群が3群以上あるとき、どの群とどの群の平均値に有意差があるかを検定
  • 基本的に、多重比較検定は、2群比較のためのt検定の拡張版
  • 比較の数が増加する(=2群ずつの検定を繰り返す)ことによる第一種の過誤の増大を調整するために、危険率の補正方法が異なる種々の検定がある

参考:私のための統計処理

事前比較 / 事後比較

多重比較検定のアプローチについては、事前比較と事後比較がある。

事後比較(post hoc comparison)

  • まずは散布図をみて、有意な差がありそうな群を確認することが大事
  • 次に、分散分析を行い、いずれか1つの群に有意な差があることを確認
  • 有意差があるときは、いずれの2つの群間で有意差があるかを多重比較で検定
  • パラメトリックな検定

    • テューキー(Tukey)の方法
    • t検定を拡張したもので,t値の計算に,1元配置分散分析における誤差分散を用いて,全グループの間で有意差解析を行う
    • シェッフェ(Scheffe)の検定
  • ノンパラメトリックな検定

    • ボンフェローニ補正のマン・ホイットニーのU検定

事前比較(a priori comparison)

  • 分散分析を行わずに多重比較を行う方法
  • 結果を分析する前に、理論的な背景などにより、比較する平均値についての仮説がある場は、分散分析(ANOVA) 抜きで多重比較を行う

参考:実験医学online

おわりに

今回は、主に仮説検定について取り上げた。

効果測定には因果推論という手段もあり、こちらは別の機会に取り上げるかここに追記するかしたい。