ABテストにおける分散削減手法①〜少ないサンプルから小さな改善効果を検出する〜
マネーフォワード 分析推進部の石田と申します。
社内では、データサイエンティストとして施策効果検証系の案件を中心に担当しています。
本稿から2回に渡って、「ABテストにおける分散削減手法」というテーマで記事を執筆したいと思います。
馴染みのない方もいらっしゃるかもしれませんが、ABテストへ分散削減手法を適用することで、例えば以下に挙げたメリットを享受することができます。
必要サンプルサイズを低減できるため、意思決定サイクルを高速化できる
より小さな改善効果を検出できる
魅力的だと感じていただけた方は、ぜひ最後まで本稿をお読みください!
目次
想定する読者層と書いてある内容
本稿のメインターゲットは、以下のような方です。
統計的仮説検定の理論を少し勉強したことがあるけど、分散削減と言われてもあまりピンと来ていない
確率変数、標本平均、分散、正規分布の意味は分かるけど、t検定の検定統計量がパッと思い出せない…ぐらいの方を想定しています
でも、分散削減手法で実現できることには興味があるので、学んでみたい
本稿及び続編の内容は、以下2つの論文をベースにしています。
前編に相当する本稿では、上記論文を読む上で必要となる統計的仮説検定の基礎知識を確認しつつ、分散削減によって何が実現できるのか?を明らかにしていきます。
今後執筆予定の続編では、上記論文で紹介されている分散削減手法について、そのアイデアの解説と仮想データを使用した効果検証を行う予定です。
そもそもABテストとは?
本題に入る前に、そもそもABテストとは何か?について改めて確認しておきたいと思います。
ABテストとは、「2つの同質と考えられる集団に対して、片方には施策を適用し、もう片方には施策を適用しない時、両者に生まれる差を施策効果と捉える」手法です。
「2つの同質と考えられる集団」を用意するのは一見難しく思えますが、ABテストでは大量の対象を無作為に2群へ割り振ることで、擬似的に同質な2つの集団を作成します。
同質性を担保するポイントは、2群の割り振りを「大量に」「ランダムに」行うことです。
前提さえ満たせば手軽かつ強力な効果測定手法であり、Webマーケティングのような前提を満たしやすい業界では盛んに用いられます。
例えば、1ヶ月に100万ユーザーがランディングするWebページの改善施策を行うとなったら、ABテストを用いて効果測定を行うケースが多いのではないでしょうか。
一方で、例えばテレビ広告では対象をランダムに割り振ることが困難であり、ABテストの適用が難しくなります。
本稿では詳細は割愛しますが、マネーフォワードではこういった状況下で統計的因果推論の手法を用いることも多々ありますので、機会があればその辺りについても記事を書きたいと思います。
標準的な統計的仮説検定の理論(平均値の差の検定)
さて、いよいよ本題の分散削減について述べていきたいと思います。
そのために、まずはABテストにおいて分散を削減するとはどういうことか?を明らかにしておきましょう。
本セクションでは、標準的な統計的仮説検定の理論として、2標本の平均値の差について検定統計量の導出過程を概観してみます。
以下、本稿では統計的仮説検定のことを省略して検定と表記します。
帰無仮説の設定
今、ECサイト上で購入単価向上を意図したUI変更施策を実施したとして、ABテストによって効果検証を行いたいとします。
A群・B群へ割り振られたユーザーについて、期間内の購入金額合計を示す確率変数$${A_1,A_2,\mathellipsis}$$,及び$${B_1,B_2,\mathellipsis}$$を考えます。
この確率変数は、期待値と分散が$${(μ_A,σ_A^2)、(μ_B,σ_B^2)}$$の正規分布に従い、またi.i.d(独立同分布)であることを仮定します。
また、サンプルサイズを$${n_A,n_B}$$と記述します。
本稿では簡単化のため、A群とB群が等分散であること、すなわち$${σ^2 = σ_A^2 = σ_B^2}$$の仮定を置きます。
検定における帰無仮説$${H_0}$$,対立仮説$${H_1}$$は以下のように設定します。
$$
\begin{array}{} H_0 : μ_A = μ_B \\ H_1 : μ_A ≠ μ_B \end{array}
$$
標本平均の性質
確率変数$${A}$$の標本平均$${\bar{A}}$$、不偏分散$${s_A^2}$$は定義に従って以下の式で表されます。
$$
\begin{array}{} {\bar{A}} = \frac{1}{n_A} \textstyle\sum_{i=1}^{n_A} A_i \\ s_A^2 = \frac{1}{n_A-1} \textstyle\sum_{i=1}^{n_A} (A_i - {\bar{A}})^2
\end{array}
$$
中心極限定理によれば、(モーメント等の諸条件を適切に満たすならば)標本平均$${\bar{A}}$$の従う確率分布は正規分布$${N(μ_A,σ_A^2/n_A)}$$に漸近します。
本稿では、標本平均の従う確率分布を正規分布とみなして差し支えない程度に十分なサンプルサイズが確保できているとして、以下の議論を進めます。
B群の標本平均$${\bar{B}}$$、不偏分散$${s_B^2}$$についてもA群と同じことが言えるため、すなわち以下のことが言えます。
$$
\begin{array}{} {\bar{A}} \sim N(μ_A,σ_A^2/n_A) \\ {\bar{B}} \sim N(μ_B,σ_B^2/n_B) \end{array}
$$
元々興味があったのは両群の標本平均に差があるか?でしたので、ここで$${{\bar{A}} - {\bar{B}}}$$の従う確率分布を考えます。$${\bar{A},\bar{B}}$$の両方が正規分布で近似できるとき、正規分布の再生性から$${{\bar{A}} - {\bar{B}}}$$も正規分布で近似できるため、以下の式が成り立ちます。
$$
\begin{array}{} {\bar{A}} - {\bar{B}} \sim N(μ_A - μ_B,σ _A^2/n_A + σ _B^2/n_B) \end{array}
$$
検定統計量を求める
帰無仮説$${H_0}$$が正しい、すなわち$${μ_A - μ_B = 0}$$という仮定の下では、以下の通り$${{\bar{A}} - {\bar{B}}}$$を標準化して求めた$${Z}$$は標準正規分布に従います。
$$
\begin{array}{}
Z = \dfrac{{\bar{A}} - {\bar{B}}}{\sqrt{σ _A^2/n_A + σ _B^2/n_B}} \sim N(0,1)
\end{array}
$$
母分散が既知の場合は、この検定統計量$${Z}$$が標準正規分布に従うことを利用して$${Z}$$検定を行うことができます。
しかし、多くの場合に母分散は未知であり、母分散を推定値で代替する必要があります。
本稿ではA群・B群が等分散である、すなわち$${σ^2 = σ_A^2 = σ_B^2}$$を仮定していましたので、$${Z}$$は以下のように書き換えられます。
$$
\begin{array}{} Z = \dfrac{{\bar{A}} - {\bar{B}}}{\sqrt{σ^2 (\frac{1}{n_A}+\frac{1}{n_B})}} \sim N(0,1)
\end{array}
$$
あとは、$${σ^2}$$を推定値で代替できれば良さそうです。
$${σ^2}$$を不偏分散を用いて代替することを考えてみると、A群・B群の不偏分散$${s_A^2,s_B^2}$$を加重平均した$${s^2}$$を使えそうです。
$$
\begin{array}{}
s^2 = {\dfrac{(n_A-1)s_A^2+(n_B-1)s_B^2}{n_A+n_B -2}}
\end{array}
$$
実際、$${s^2}$$で$${σ^2}$$を代替した統計量$${T}$$は、自由度$${t(n_A+n_B-2)}$$の$${t}$$分布に従うことが知られています。
$$
\begin{array}{}
T = \dfrac{{\bar{A}} - {\bar{B}}}{\sqrt{s^2 (\frac{1}{n_A}+\frac{1}{n_B})}} \sim t(n_A+n_B-2)
\end{array}
$$
こうして求めた検定統計量$${T}$$を用いてスチューデントの$${t}$$検定を行うことができます。
なお、検定統計量$${T}$$の導出過程については少しふわっと流してしまいましたが、この部分は厳密に導出するとかなり長い&難しいため、本稿では割愛させていただきます。
ABテストにおける分散削減から得られるメリット
こうして検定統計量の導出を一通り概観することで、検定統計量$${T}$$を構成する要素が明確になりました。
検定統計量$${T}$$を算出する式には、分子に標本平均の差$${\bar{A} - \bar{B}}$$、分母に不偏分散$${s^2}$$とサンプルサイズ$${n_A,n_B}$$が含まれています。
分子にある標本平均の差は分かりやすく、標本平均の差が大きくなればそのまま検定統計量$${T}$$を増加させるように作用します。
分母はルートの中が入れ子になっていて少し分かりづらいですが、不偏分散は検定統計量$${T}$$を減少させるように、サンプルサイズは検定統計量$${T}$$を増加させるように作用しています。
さて、いよいよ本稿の核心部分に入ります。
分散削減によって分散の推定値を低減させることで、どういったメリットを享受できるでしょうか?
この問いに答える準備はここまでの議論で完了していて、先ほどの検定統計量$${T}$$の構成要素に関する整理から、大きく以下の2つのメリットを導くことができます。
必要サンプルサイズを低減できる
まず、標本平均の差の大きさを一定に保つ場合を考えると、サンプルサイズを小さく済ませることが可能になります。
サンプルサイズが小さく済ませられることは、すなわちABテストの期間を短く済ませられることを意味します。
従って、分散削減によって、ABテストのサイクルを短縮できる、言い換えれば同じ期間内により多くのABテストを実施できる、ということが分かりました。
これは意思決定サイクルの短縮に直結しますので、非常に大きなメリットだと言えるでしょう。
より小さな改善効果を検出できる
次に、サンプルサイズを一定に保つ場合を考えると、標本平均の差が小さくても検定統計量$${T}$$の値を同じ水準に保つことができます。
これはつまり、ABテストによる改善効果が小さくても、検定での検出が可能になるということを意味します。
例えば、従来は10%の改善効果が出てようやく検出できたものが、5%の改善効果でも検出できるようになる、ということですね。
いつも百発百中で圧倒的な改善効果を生み出す施策ができればそれに越したことはないですが、現実としてそうはいかないことがほとんどだと思います。
そう考えると、小さな改善効果が検出できるようになることも、やはり非常に大きなメリットだと言えるでしょう。
なお、上述したことは、検定の設計において有意水準・検出力・効果量・サンプルサイズの4要素がトレードオフの関係にあることを言い換えたものです。
ただし、本稿では簡単化のため、有意水準・検出力は一定の値に固定することを暗黙のうちに仮定していました。
上記のトレードオフの関係性は一般的によく知られている一方で、数理的に厳密な議論に踏み込むとかなり難易度が上がるため、本稿での議論はこの辺りに留めておきたいと思います。
分散削減手法のアイデア
では、分散削減を行うには具体的に何をすればいいのでしょうか?
詳細は続編の記事にてご紹介したいと思いますが、本セクションでは次回予告を兼ねて手法のアイデアのみを簡単に述べたいと思います。
冒頭に紹介した論文では3つの分散削減手法が扱われていますが、アイデアとしては大きく以下の2つに分類されます。
層化の概念を導入する
母集団を何らかの特性に応じていくつかの部分集団に分けることを、層化と言います。
例えば、ECサイトに訪れるユーザーを、20代、30代…といった年齢層別に分けることなどは、層化の代表例です。
この層化という概念を利用して、層ごとの構成比を重みとした加重平均を用いた検定統計量を作成すると、重みづけをしない単純平均を用いた検定統計量より分散が小さくなることが知られています。
サンプリング段階から母集団の構成比に応じた層化抽出を行う手法と、サンプリング自体は無作為抽出で行う手法の2種類があり、前者の方が実装が難しい&手間がかかるだけ分散削減の効果は大きくなります。
共変量を用いる
分散とは簡単に言えば統計量のバラつきの大きさを指しますが、このバラつきの生じる要因が部分的にわかっているケースは往々にしてあるかと思います。
例えば、ユーザーの購入金額は年齢層によって大きく異なるという事実が、今までの傾向からわかっているとしましょう。
これは、言い換えれば購入金額の大小は年齢層によって大部分が説明されるということを意味しています。
従って、年齢層という共変量を導入し、購入金額における分散から年齢層で説明できる要素を取り除くことで、分散削減が実現できることになります。
終わりに
本稿では、検定統計量の導出過程を概観することで分散削減手法のメリットを明確にしつつ、最後に分散削減手法のアイデアを簡単にご紹介しました。
次回の記事では、分散削減手法の詳細と、それらを実践したときのシミュレーションについてご紹介したいと思います。
それでは、またお会いしましょう!
補足:仮定を緩めた場合
本稿では標準的な検定の理論を扱いましたので、確率変数$${A,B}$$が正規分布に従い、かつ等分散であることを仮定して議論を行いました。
実は、これらの仮定を緩めた場合でも、分散削減によって多くの場合で同様のメリットを得ることができます。
このことについて、補足として簡単に述べたいと思います。
等分散を仮定できない場合
等分散を仮定できない場合は、Welchの$${t}$$検定と呼ばれる手法を用います。
Welchの$${t}$$検定を用いる際には$${t}$$分布の自由度に複雑な近似が必要にはなりますが、検定統計量$${T}$$自体はシンプルに標本平均の差を不偏分散で割って求められます。
ですので、Welchの$${t}$$検定を用いる際にも、分散削減のメリットは本稿で論じたものと同様になります。
確率変数に正規性を仮定できない場合
実は、確率変数に正規性を仮定しない場合でも、十分にサンプルサイズが大きく、かつ確率分布が中心極限定理の求める諸条件をクリアできていれば、$${t}$$検定を行ってしまって実用上問題は生じません。
従って、確率変数に正規性を仮定できない場合であっても、やはり分散削減によって同様のメリットを得ることができます。
詳細については大分込み入った議論になるため本稿では省略しますが、以下の記事が直感的に分かりやすいと思いますので、ご紹介します。
この記事が気に入ったらサポートをしてみませんか?