🦌

【統計検定2級/学習メモ】A/Bテストとは根本的に何をしているのか?

に公開

A/BテストでCVRを比較して有意差を見つけるプロセスは、要するに2群間の母比率の差の検定(差のz検定)に該当する。
つまりA/Bテストとは単純に、「正しい実験計画」(十分な反復と無作為化)に基づいた、「母比率の差の検定」そのものになる。

1.ベースの考え方

  • A群:
    • n_A 回の試行中 x_A 回の成功(コンバージョン)
    • この標本から得られる真の成功率の推定値は、\text{CVR}_A = \bar{p}_A = \frac{x_A}{n_A}
  • B群:
    • n_B 回の試行中 x_B 回の成功(コンバージョン)
    • この標本から得られる真の成功率の推定値は、\text{CVR}_B = \bar{p}_B = \frac{x_B}{n_B}
  • 各群の CV(コンバージョン)はベルヌーイ分布(0 or 1)に従う。その合計である成功回数 X は二項分布に従う。
  • 反復を繰り返してサンプルサイズが十分に大きくなれば、母比率、つまり各群の真の成功率の推定値である標本比率は、正規分布で近似できる(中心極限定理)。
  • さらに無作為化によって系統誤差を取り除く。
    • これにより、A群とB群は「介入があるかどうか」以外の全ての要素が、平均的に同じになる。
    • つまり、年齢や男女比、年収などのデモグラフィックな変数だけではなく、価値観、性格、好みなどのサイコグラフィックな変数も両群に偏りなくバランスよく分布すると仮定できる。
  • 帰無仮説と対立仮説は以下。
    • H_0 : p_A = p_B ※どちらも同じ母集団から抽出した標本平均であると仮定
    • H_1 : p_A \ne p_B ※異なる母集団から抽出した標本平均であると仮定
  • 方針は、帰無仮説を真と仮定したとき、A群とB群の成功率の差の検定量は、統計的に非常に偶然にしか起こらないことを示し、帰無仮説を棄却する。つまり、A群とB群の成功率は統計的有意に差があると論証する。

2.検定統計量の計算

前提

母比率(成功率の真の値)の推定値である標本比率(標本から得られる成功率の推定値)を \bar{p} , サンプルサイズを n とする。
n が十分大きい時、中心極限定理から、 \bar{p} の分布は期待値 p 分散 \frac{p(1-p)}{n} の正規分布で近似できる。

\bar{p} \sim N(p, \frac{p(1-p)}{n})

※期待値と分散の簡単な証明
成功回数 X は二項分布 B(n, p) に従い、さらに n が十分に大きければ、近似的に正規分布 N(np, np(1-p))に従うため、以下のように計算できる。
E[\bar{p}] = E[\frac{X}{n}] = \frac{1}{n}E[X]=\frac{1}{n}×np = p
V[\bar{p}] = V[\frac{X}{n}] = \frac{1}{n^2}V[X]=\frac{1}{n^2}×np(1-p) = \frac{p(1-p)}{n}

検定統計量

検定統計量 z は、等分散性を仮定するかどうかによって計算式が異なる。
ここでは、A/Bテストでは介入が入ることによって普通は分散が異なるので、等分散性は仮定しない。
※そもそも、等分散性を仮定しなくても、検定統計量の計算はできる。

\begin{aligned} z_{\bar{p}_A-\bar{p}_B} &= \frac{(\bar{p}_A-\bar{p}_B)-(p_A-p_B)}{\sigma_{\bar{p}_A-\bar{p}_B}} \\ &= \frac{(\bar{p}_A-\bar{p}_B)-(p_A-p_B)}{\sqrt{\sigma_{\bar{p}_A}^2+\sigma_{\bar{p}_B}^2}} \\ &= \frac{(\bar{p}_A-\bar{p}_B)-(p_A-p_B)}{\sqrt{\frac{p_A(1-p_A)}{n_A}+\frac{p_B(1-p_B)}{n_B}}} \\ \end{aligned}

ここで、帰無仮説の下では、 p_A = p_B つまり p_A - p_B = 0 だから、

\begin{aligned} z_{\bar{p}_A-\bar{p}_B} &= \frac{\bar{p}_A-\bar{p}_B}{\sqrt{\frac{p_A(1-p_A)}{n_A}+\frac{p_B(1-p_B)}{n_B}}} \\ \end{aligned}

さらに、 n が十分に大きいときは、標本比率 \bar{p} の分散 \frac{p(1-p)}{n}p を近似的に標本比率 \bar{p} で置き換えてもよいことがわかっているので、

\begin{aligned} z_{\bar{p}_A-\bar{p}_B} &= \frac{\bar{p}_A-\bar{p}_B}{\sqrt{\frac{\bar{P}_A(1-\bar{P}_A)}{n_A}+\frac{\bar{P}_B(1-\bar{P}_B)}{n_B}}} \\ \end{aligned}

あとは、実際に得られたサンプルサイズ n と標本比率 \bar{p}_A\bar{p}_Bを代入して、有意水準5%などで z検定を実施する。

3.実行例

あるアプリの登録導線のUIリニューアルの効果を検証するために、リニューアル版(新UI)を適用するA群と旧版のままにするB群をランダムに50:50に分割する処理をシステムに組み込み、A/Bテストを実施した。

その結果が以下。

グループ 訪問者数 n 登録数 x CVR(登録率) \bar{p} = x / n
A群(新UI) 1,200 312 0.26(26.0%)
B群(旧UI) 1,300 286 0.22(22.0%)

まずは、検定を行う前提を整理。

  • 帰無仮説 H_0 : p_A = p_B
    • A群とB群の登録率(母比率)に差がない(つまり、新UIは効果なし)。
  • 対立仮説 H_1 : p_A > p_B
    • A群の登録率の方が高い(新UIは効果あり)
    • ※つまり両側検定ではなく片側検定を行う。
  • 有意水準は5%とする。

ここから、検定統計量 zを求める。
※既出のように、帰無仮説の下p_A - p_B = 0を代入し、n が十分に大きいので、標本比率 \bar{p} の分散 \frac{p(1-p)}{n}p を近似的に標本比率 \bar{p} で置き換えた状態で計算をスタートする。

\begin{aligned} z_{\bar{p}_A-\bar{p}_B} &= \frac{\bar{p}_A-\bar{p}_B}{\sqrt{\frac{\bar{P}_A(1-\bar{P}_A)}{n_A}+\frac{\bar{P}_B(1-\bar{P}_B)}{n_B}}} \\ &= \frac{0.26-0.22}{\sqrt{\frac{0.26 × 0.74}{1200}+\frac{0.22×0.78}{1300}}} \\ &= \frac{0.04}{0.0171} \\ &= \frac{0.04}{0.0171} \\ & \approx 2.34 \end{aligned}

下図より、帰無仮説を真と仮定したとき、A群とB群の成功率の差の検定量は、有意水準5%のもとでは、統計的に非常に偶然にしか起こらないと言える。
よって、帰無仮説を棄却し、新UIの登録率は旧UIの登録率より統計的有意に高い。
※これは両側検定でも有意差が出る。

4.補足

母比率の差の検定は、検定統計量 zを求めて標準正規分布における臨界値を超えるかどうかを確認する方法以外に、母比率の信頼区間を求めて、その区間に0が含まれるかどうかを確認する方法もある。

上の例で、p_A-p_Bの95%信頼区間を求めると、

\begin{aligned} (\bar{p}_A-\bar{p}_B) &\pm 1.96 \cdot \sqrt{\frac{p_A(1-p_A)}{n_A}+\frac{p_B(1-p_B)}{n_B}} \\ 0.04 &\pm 1.96 \cdot 0.0171 \end{aligned}

よって、p_A-p_Bの95%信頼区間は [0.0065, 0.0735] になり、この区間に0を含まない、かつ、正の方向に区間が位置するため、新UIの登録率は旧UIの登録率より統計的有意に高い。

Discussion