サンプルサイズ設計のガイド:基礎理論と実践をわかりやすく
1. はじめに
サンプルサイズ設計は、研究・調査・実験計画(例えばCMの効果を測りたいマーケティング検証、アプリのUX改善のためのABテストなど)において重要なプロセスです。
そもそも、サンプルサイズを設定しようという背景として、意思決定に以下のようなリスクがあるからですね。
- サンプルサイズが小さすぎるリスク
実質的に差があるのに検定で見落とす(第2種の過誤)可能性が高まる - サンプルサイズが大きすぎるリスク
ごくわずかな差でも有意と判定されるため、結果の解釈に慎重さが求められる
UIUX改善文脈において、p値と検出力の解釈についてまとめた記事はこちらです。
2. サンプルサイズ設計の基礎理論
ここでは、前提知識を押さえましょう。
2.1 中心極限定理
中心極限定理(Central Limit Theorem, CLT)によれば、サンプルサイズ ${n}$ が十分大きい場合、標本平均
$${\bar{X} = \frac{1}{n} \sum_{i=1}^n X_i}$$
は正規分布に近似できるという定理です。
母集団分布の形がなんでもいいのが嬉しいですね。
形式的には、以下のようになります。
$${\bar{X} \sim \mathcal{N}\!\Bigl(\mu, \frac{\sigma^2}{n}\Bigr) \quad (\text{近似})}$$
${\mu}$ は母平均、${\sigma^2}$ は母分散です。
サンプルサイズ設計において、この正規近似は標本の推定や検定時の分布の扱いを簡便化します。
2.2 二項分布の正規近似
では、具体的に実務でどう使っていくかでいうと、
ABテストなどで 成功・失敗 や クリックした・しなかった といった二値の指標を扱う場合、標本比率(成功率)を ${\hat{p}}$ として扱うことが多くなります。
で、二項分布
$${X \sim \mathrm{Binomial}(n, p)}$$
に対して、中心極限定理の応用により、サンプルサイズ ${n}$ が十分大きければ${\hat{p} = \frac{X}{n}}$
は正規分布${\hat{p} \sim \mathcal{N}\!\bigl(p,\, \frac{p(1-p)}{n}\bigr)}$
で近似できます。
ABテストでの比率差検定におけるサンプルサイズの導出では、この正規近似がよく使われます。
2.3 正規分布と仮説検定
正規分布は平均${\mu}$、分散${\sigma^2}$ によって決まる連続分布で、統計解析のあらゆる分野で中心的役割を担っています。
今回の仮説検定においても、検定統計量を正規分布で近似する場面が多く、以下のようなシナリオが典型的です。
- 平均値の検定(Z検定、t検定)
- 比率の検定(1サンプル、2サンプルの比率検定など)
- 回帰分析におけるパラメータ推定の近似 …などなど
仮説検定では、帰無仮説 ${H_0}$ を設定し、そのもとでの観測データの生起確率が十分に小さい場合は ${H_0}$ を棄却します。
このとき、第一種の過誤(${\alpha}$)、第二種の過誤(${\beta}$)といった概念が登場し、これらをコントロールするために必要なサンプルサイズを求める手順がサンプルサイズ設計というわけです。(タイトル回収)
3. サンプルサイズ設計の具体的手法
3.1 平均値の推定のサンプルサイズ
母平均 ${\mu}$ を信頼区間で推定するケースで、母分散 ${\sigma^2}$ が既知であると仮定すると、信頼区間の幅(誤差の範囲) ${d}$ を一定に保つために必要なサンプルサイズ ${n}$ は
$${n = \left(\frac{z_{\alpha/2} \,\sigma}{d}\right)^2 \quad (\text{母分散既知の近似}) }$$
と表されます。
${z_{\alpha/2}}$は正規分布の上側 ${\alpha/2}$ 点の ${z}$-値です。
実際には母分散が未知の場合がほとんどなので、その際は ${\sigma}$ の推定値や、サンプルサイズが小さければ t分布を用いることがあります。
3.2 比率の推定のサンプルサイズ
さっきの二項分布の話に戻ります。
母比率 ${p}$ を推定する場合、許容誤差 ${d}$ と信頼水準 ${1 – \alpha}$を満たしたいとき、しばしば
$${n = \left(\frac{z_{\alpha/2} \,\sqrt{p(1-p)}}{d}\right)^2 }$$
が用いられます。
母比率が未知の場合
実際には母比率 ${p}$ が未知なので、事前推定値 ${\hat{p}}$ を使う、もしくは最も厳しいケース(${\hat{p}=0.5}$)を仮置きしてサンプルサイズを多めに設定することが多い
3.3 仮説検定におけるサンプルサイズ:効果量・検出力
CM施策やABテストの効果を検定する場合は、以下のパラメータを設定します
- 有意水準 ${\alpha}$(例:0.05)
- 検出力 ${1 – \beta}$(例:0.8 ないし 0.9)
- 効果量(差の大きさを示す指標)
3.3.1 2群の平均値の比較(差 ${\delta}$)の場合
差 ${\delta = \mu_1 – \mu_2}$ を検出したいとき、母分散(${\sigma^2}$)既知・両側検定と仮定すると、同数のサンプルを各群に割り当てる場合のサンプルサイズ ${n}$ は
$${n = 2 \left(\frac{z_{\alpha/2} + z_{\beta}}{\frac{\delta}{\sigma}}\right)^2}$$
で与えられます。
${z_{\beta}}$ は第二種の過誤 ${\beta}$ に対応する正規分布の点です。
例えば、検出力 80% なら ${\beta=0.2}$で ${z_{0.2}\approx0.84}$です。
3.3.2 2群の比率の比較(差 ${\delta = p_1 – p_2}$)の場合
CMの効果測定やABテストで成功率(比率)を比較することが多いケースです。
両群に同数のサンプルを割り当て、${\delta = p_1 – p_2}$ を検出したいときは
$${n = 2 \left(\frac{z_{\alpha/2} + z_{\beta}}{\delta}\right)^2 \bar{p}(1 – \bar{p}) }$$
で近似できます。
${\bar{p}}$ は平均的な成功率(${\frac{p_1 + p_2}{2}}$など)を使用します。
なお、ABテストの場合は「最小限見つけたい差 ${\delta}$」や「想定するコントロール群の成功率」「有意水準」「検出力」を事前に決め、上式を用いて ${n}$ を導出します。
4. サンプルサイズに係るパラメータ
ここまで、さまざまな設計パターンを見てみたと思うのですが、サンプルサイズに係るパラメータはだいたいこんな感じです。↓
サンプルサイズ設計に影響を与える主な要因
- 母集団の分散あるいは比率
分散が大きいほど、必要なサンプルサイズも増加します - 許容誤差 (${d}$)
許容誤差を厳しく(小さく)設定するほどサンプルサイズは増えます - 有意水準 (${\alpha}$)
${\alpha}$ を小さくすると、サンプルサイズは大きくなります - 検出力 (${1-\beta}$)
${(1-\beta)}$を大きくすると、見逃しのリスクを減らせますがサンプルサイズは増加します。 - 母集団の大きさ
母集団が有限の場合、有限母集団修正を行うことがあります
5. 具体例|CM投下有無によるDID検証
ある事業会社で、CMの効果量を推定するために、CMのオンオフ検証をしたいとします。
ここで、必要なサンプルサイズを見積もりたい、というのがやりたいことです。
どのくらいエリアが必要か?という考え方もできますが、今回は「どのくらいCMを止める必要があるか?」という時系列的な方向でサンプルサイズを増やすことにします。
また基本的には、オンオフ検証は検証をしない場合に対して、効果(KPI)が毀損するという一時的な効果影響があります。(ずっとCMを放映してきた場合、一部エリアで止めることになるので)
それを踏まえても、介入による効果を推定するのが長期的にCMの投下量の適正化につながることを優先するわけですから、統計的に必要最低限のサンプル数を確保しつつ、早めに検証はやめたいところです。
5.1検証方針
エリアが1つだけで、そこにおけるCM投下(もしくは停止)を時系列で変化させる場合、下記のような枠組みをとることが多いです。
- 介入前の月(CM投入中)を
- ${t = 1, 2, \dots, T_0}$ と観測
- 介入期 or 介入後の月(CMを止める時期)を
- ${t = T_0 + 1, \dots, T_0 + T_1}$と観測
一度CMをオフにして、その後にオンにするAB切り替え実験や、反対にオン → オフにする場合なども考えられます。いずれにしても、観測する期間の長さ(各状態で何ヶ月観測するか)がサンプルサイズの要となります。
考慮すべき点
- エリア数が1なので、空間方向の「サンプルサイズ拡大」はできない
- 時系列方向(何ヶ月オフにするか、何ヶ月オンを観測するか)を増やすことで検出力を高める。
- 月次データの自己相関を考慮することがだいじ
- 月数を単純に足し算しただけでは有効サンプルサイズにならないため、実際にはより長い観測期間が必要
以下では3つのアプローチをご紹介します。
5.2 Interrupted Time-Series (ITS)モデルによるアプローチ
時系列における介入(今回CM停止)の前後でアウトカムがどう変化するかを推定するには、Interrupted Time-Series (ITS) がしばしば用いられます。
簡易化したモデル例は以下の通り
$${Y_t = \beta_0 + \beta_1 t + \beta_2 \text{Intervention}_t + \beta_3 (t \times \text{Intervention}_t) + \varepsilon_t}$$
- ${Y_t}$: 月${t}$ のアウトカム(売上、CV、指標など)
- ${t}$: 時間変数(例:1, 2, 3, …)
- ${\text{Intervention}_t}$: 介入後(CMオフ)の期間で1、それ以外で0
- ${\varepsilon_t}$: 残差項(自己相関がある場合は別途考慮)
このモデルでは、介入の即時効果(${\beta_2}$)と介入後のトレンド変化(${\beta_3}$)の両方を推定できます。
あるいは、より単純に「介入前平均 vs 介入後平均」で差をみる単純な前後比較でも構いませんが、長期トレンドや季節変動を無視すると推定が歪むリスクがあります。
単純比較でももちろん良いのですが、特に「オフ→オン」にして、検証後に止めた時には止めた後にもCMの残存効果が遅れてKPIに効いてきたりします。こうした広告特有の効果まで考慮しているのが、上の話です。
5.3 単純な前後平均差で考える場合
これは、上で紹介した例とおんなじです。
最も単純化して「介入前(オフ)を ${n_0}$ ヶ月観測」「介入後(オン)を ${n_1}$ ヶ月観測」し、それぞれの平均差を検定するとします。
介入前平均を ${\bar{Y}_{\text{pre}}}$、介入後平均を ${\bar{Y}_{\text{post}}}$ としたとき、
$${\delta = \bar{Y}_{\text{post}} – \bar{Y}_{\text{pre}}}$$
の差を検出したい(例えば「売上が5%増加した」等)。
各月の観測値に対する母分散を ${\sigma^2}$(月次観測どうしの独立を単純仮定)とすると、検定統計量の標準誤差は
$${\mathrm{SE}(\delta) = \sqrt{\frac{\sigma^2}{n_0} + \frac{\sigma^2}{n_1}} = \sqrt{\sigma^2 \left(\frac{1}{n_0} + \frac{1}{n_1}\right)}}$$
検出力 ${1-\beta}$、両側有意水準 ${\alpha}$ で最小検出効果量を ${\delta_{\text{min}}}$ と設定すると、以下の不等式を満たすように ${n_0, n_1}$ を決めます。
$${\delta_{\text{min}} \ge z_{\alpha/2} \times \mathrm{SE}(\delta) \;+\; z_{\beta} \times \mathrm{SE}(\delta)}$$
(※ より正確には「${\delta_{\text{min}} = z_{\alpha/2} + z_{\beta}}$などの計数との積」という形になりますが、イメージとしては「サンプルが大きいほど ${\mathrm{SE}(\delta)}$ が小さくなるので、一定の ${\delta_{\text{min}}}$を捉えやすくなる」ことが分かればOKです。)
実際には時系列の自己相関を無視できないため、有効サンプルサイズは単純な ${n_0 + n_1}$ よりも小さくなることがあります 。
これは実質的な独立な観測数が減るためです。
5.4 自己相関を考慮した実効サンプルサイズ
月次データには自己相関がある可能性が高く、実際の独立な観測単位は ${n_0 + n_1}$より小さいとみなす必要があります。
自己相関を簡単に表すモデルとして、AR(1)(自己回帰1次) を仮定すると、実効サンプルサイズが
$${n_{\text{effective}} \approx \frac{n_{\text{observed}}\,(1-\rho)}{1+\rho}}$$
と近似されることがあります 。
${\rho}$は月次データの自己相関係数 (lag=1)。
例えば ${\rho = 0.7}$ の場合、実効サンプルサイズはおよそ ${\frac{1-0.7}{1+0.7} = \frac{0.3}{1.7} \approx 0.1761+0.7}$倍になるので、観測月数${20}$ヶ月でも約${3.5}$ヶ月相当の独立情報量しか持たない、というイメージです。
ここまで色々みてきましたが、基本的に現場だとサンプルサイズは特に事前に見積もらず、検証後にトレンドが似通った前後数ヶ月を平均して引いてみる、ということがほとんどだとは思います。(元も子もない発言)
が、上記のようなデータの特性を考慮した検証設計がいくつかあります。
最後に手順をまとめておきます。
具体的な手順のイメージ
- 過去の月次データ(売上やCVなど)を参照し、自己相関係数 ${\rho}$、月ごとの標準偏差 ${\sigma}$ をおおまかに見積もる。
- 最小検出したい差 ${\delta_{\text{min}}}$ を設定(「CMオフの状態と比べ、CMオンで売上が 5% 増加」といった形)。
- 単純前後比較の標準誤差 を計算するか、ITSモデルのシミュレーション を回すかを選択。
- 自己相関による有効サンプルサイズの減少 を織り込み、必要な観測月数を試算する。
- 実務的な制約(キャンペーンのタイミング、季節要因など)と照らし合わせて、介入前と介入後をそれぞれ何ヶ月にするか決める。