paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

logo

ITエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

そのA/Bテストの期間、短すぎじゃない?適切なサンプルサイズの求め方を解説

こんにちは、吉岡([twitter:@yoshiokatsuneo])です。

Webサービスやアプリの開発時、新しいUIや機能と既存のものでどちらのほうがよいかを調べたいときにするのがA/Bテストです。

A/Bテストは、ユーザーなどのターゲットをランダムに半分(AとB)に分けて表示を切り替えて、それらのコンバージョン率(CVR)を比べることで効果を比較します。コンバージョン率(CVR)とは、例えばボタンなどがクリックされる割合(CTR)、商品が購入される割合、などのビジネス上の目標を達成できた割合です。

この方法は、A/Bをランダムに振り分けることからランダム化比較試験(RCT, Randomized Control Trial)とも呼ばれ、既存の方法を対象群(統制群, control group)、新しい方法を実験群(treatment group)と呼びます。

ランダム化比較試験は医療分野でも採用されている強力な方法です。最近はコロナウイルスのワクチンも、ランダム化比較試験での効果が確認されたことが承認につながりました。

(A/Bテストの結果の分析ではカイ二乗検定、二項検定などを使いますが、この評価方法については以下の記事で紹介しています)

paiza.hatenablog.com

このA/Bテストですが、どれくらいの期間行って、どれくらいのデータを集めれば信用に値する結果が出るのでしょうか。

「既存機能では一日100回クリックだったけど、新機能では200回になった」など、明らかな変化があればよいですが、データの量や効果が限られている場合はそんなに簡単にはいきません。

A/Bテストでどれくらいの期間、どれくらいの量のデータを集めればよいかを見積もるには、検定に必要なサンプルサイズ(標本サイズ)の計算を行います。

必要なサンプルサイズの求め方については、さまざまなケースがありますが、一般的にWebサービスのA/Bテストで検定を行う場合は、二項検定、カイ二乗検定のいずれかを使う場合が多いかと思います。

というわけで今回は、二項検定、カイ二乗検定での必要なサンプルサイズの求め方を紹介します。 あわせて、計算するためのPythonとRのコードや、ブラウザ上で簡単に計算できるページの紹介もします。

【目次】

サンプルサイズの計算に必要な3要素

必要なサンプルサイズは、「A/Bテストを行うのに必要な日数は?」といったざっくりとした質問だけから求めることはできません。

サンプルサイズの計算には、どれぐらいの可能性で差があることにするか(有意水準)、どれくらいの可能性で差がないことにするか(検出力)、どれくらいの量の差があると考えるか(効果量)の3つが必要になります。

  • 有意水準(significance, α):

A/Bで差がないとしたら、どれくらいの確率でこのような結果になるかを表します。

例えば、コインの裏表の場合、1回表は50%、2回連続表は25%、3回連続は12.5%、4回連続は6.25%、5回連続は3.125%で起こるので、有意水準を5%に決めると、5回連続表が出たときに「こんな偶然は可能性が低いので差がある」と判断します。

なお、この例は片側検定の場合で、一般的にはA>BとB<Aの二通りを考えて両側検定をするので、6回連続で有意となります。

有意水準を大きくすると必要なサンプルサイズは小さくなりますが、本当は差がないのに差があると判断する(第一種の過誤, Type-I error)の可能性が増えていきます。

一般的に5%が使われることが多いです。

  • 検出力(検定力, power, 1-β):

差があるとすると、どれぐらいの確率で検定で「差がある」結果になるかを表します。

検出力が90%なら、1/10の確率で、本当は差があるのに「差がない」と判断してしまいます(第二種の過誤, β, Type-II error)。検定力を下げると必要なサンプルサイズは小さくなりますが、誤った結果を出す可能性は上がります。

一般的に80%が使われることが多いです。

  • 効果量(effect size):

差があるとすると、どれぐらいの差があるかを表します。

例えば、CVRがA:5%B:6%の場合よりも、A:5%/B:7%のほうがAとBの差が大きいので、効果量も大きくなります。効果量が大きければ、小さいサンプルサイズでも結果が出ますが、効果量が小さいと大きいサンプルサイズでなければ効果がでません。

過去のデータ、予備実験、ドメイン知識、ビジネス上の最低限意味のある効果、などから期待する値を設定します。

有意水準、検定力を、真実と検定結果の表で表すと以下のようになります。

真実
無効(帰無仮説) 有効(対立仮説)
検定結果 無効(帰無仮説) OK β(第二種の過誤)
有効(対立仮説) α(有意水準,第一種の過誤) 1-β(検定力)

なお、必要なサンプルサイズを有意水準・検定力・効果量から求める話をしましたが、この4つは3つを決めれば残りを決めることができます。例えば、測定できるサンプルサイズが決まっている場合、有意水準、検定力を決めると、効果量も求めることができます。

標本比率の確率モデル (コンバージョン率(CVR))

まず、測定したコンバージョン率(CVR)、つまり標本比率について確率モデルを立ててみます。

ページの表示回数をn, 実際のコンバージョン率(CVR)、つまり母比率をpとすると、コンバージョン回数 X は二項分布にしたがいます。

X 〜 B(n, p)

平均: np

分散: np(1-p)

二項分布 B(n,p) は 「nP >= 5 かつ n(1-p) >= 5」のときは正規分布N(np, np(1-p))で近似できます。

B(n, p) ≒ N(np, np(1-p))

次に、標本比率 p̂ について考えます。これは、コンバージョン回数を表示数で割ったものなので

 p̂=\frac{X}{n}

と置けます。この平均、分散は以下の通りです。

 平均: E(p̂)=E(\frac{X}{n})=\frac{np}{n}=p

 分散: V(p̂)=V(\frac{X}{n})=\frac{V(X)}{n ^2}=\frac{np(1-p)}{n ^2} = \frac{p(1-p)}{n}

したがって、p̂は以下の正規分布にしたがいます。

 p̂ 〜 N(p, \frac{p(1-p)}{n})

逆正弦変換(角変換)による近似

また、標本比率は逆正弦変換(角変換)を用いて近似することもできます。この場合、以下のように変換します。

 θ = sin^{-1} \sqrt{p}

サンプルに対しては、以下のように変換します。

 \hat{θ} = sin^{-1} \sqrt{p̂ }

p̂を変換した\hat{θ}は期待値をμとして、以下の正規分布にしたがいます。

 \hat{θ} 〜 N(μ, \frac{1}{4n})

ここで、 \hat{θ} には分散にpが含まれていない形になって計算しやすくなります。このような変換は、分散安定化変換とも呼ばれています。

二項検定(1標本の比率の検定)のサンプルサイズの求め方

同じページに2つのA/Bのボタンを表示するなど、A/Bの2つから1つが選ばれる場合について考えてみましょう。A/Bの2つからAを選ぶ比率の検定なので、検定は二項検定を使います。ここでは、この場合に必要なサンプルサイズの求め方を考えてみます。

計算方法

A/Bそれぞれの、コンバージョン率(CVR) を  P_a, P_b とします。 A/BからAが選ばれる確率(母標本比率)をpとすると、pは以下の通りです。

 p = \frac{p_a}{p_a + p_b}

この測定結果 p̂は、正規分布にしたがいます。

 p̂〜 N(p, \frac{p(1-p)}{n})

分散を

 {σ}^2 = \frac{p(1-p)}{n}

と置くと

p̂ 〜 N(p, σ2)

となります。

したがって統計検定量として

 u = \frac{p̂ - p}{σ}

を考えると、uは標準正規分布N(0,1)にしたがいます。

次に、帰無仮説(H0)について考えます。 このときpを p_0とします。A/Bで違いがない場合、 p_0=0.5となります。 このときの分散は

 σ _ 0 ^ 2 = \frac{p_0(1-p_0)}{n_0}

となり、統計検定量

 u_0 = \frac{p̂ - p_0}{σ_0}

は標準正規分布N(0,1)にしたがいます。

次に、対立仮説(H1)について考えます。 このときのpをp_1とします。 このときの分散は

 σ _ 1 ^ 2 = \frac{p_1(1-p_1)}{n_1}

となり、統計検定量

 u_1 = \frac{p̂ - p_1}{σ_1}

は標準正規分布N(0,1)にしたがいます。

検定力は対立仮説(H1)のもとで、有意になる確率なので


1-β = Pr \left( |u _ 0| > z _ α \right) \\
    ≒ Pr \left(u _ 0 > z _ α \right) \\
    = Pr \left( \frac{p̂ - p_0}{σ_0}> z _ α \right) \\
    = Pr \left( ( \frac{p̂ - p_1}{σ _ 1} + \frac{p_1 - p_0}{σ _ 1}) \frac{σ _ 1}{σ _ 0} > z _ α \right) \\
    = Pr \left( \left( u_1 + \frac{p_1 - p_0}{σ _ 1} \right) \frac{σ _ 1}{σ _ 0} > z _ α \right) \\
    = Pr \left(u_1 > z _ α A - B \right)


A = \frac{σ _ 0}{σ _ 1} = \frac{\sqrt{p_0(1-p_0)}}{p_1(1-p_1)} \\
B = \frac{p_1 - p_0}{σ _ 1} = \frac{p_1 - p_0}{\sqrt{p_1(1-p_1)/n}}

これは以下のように変形もできます。 帰無仮説(H0)のもとでの有意水準を満たす境界値と、対立仮説(H1)のもとでの検定力を満たす境界値が等しいと考えれば自然です。

図で帰無仮説(H0)、対立仮説(H1)での標本比率の確率分布と、有意水準、効果量、境界値の関係を表すと、以下のようになります。

臨界値(境界値, critlcal value)は、H0で有意になる境界であり、かつH1で検定力が満たされる境界になります。

H0で臨界値より右側の面積がα(有意水準)、H1で境界値より左側の面積がβ(第二の過誤)・右側が検定力(1-β)になります。

帰無仮説と対立仮説での標本比率の確率密度分布

 p_0 + σ _ 0  z_α = p_1 - σ _ 1  z _ {1-β}

これを変形すると、

 p_1 - p_0 = z_ α   σ _ 0 + z _ β   σ _ 1

となります。

A/Bのサンプルサイズを同じとすると

 n_0 = n_1 = n

σ0, σ1を代入して解くと

 n = \left( \frac{Z _ α  \sqrt{p_0  (1-p_0)} + z _ β  \sqrt{p_1  ( 1-p_1)}  } {  p_1 - p_0  } \right) ^ 2

となります。 なお、通常両側検定を考えるので、zαはzα/2となります。

簡易にp_0とp_1の平均を使って  σ _ 0 = σ _ 1 = σ _ {01} とするなら

 p _ {01} = \frac{p_0 + p_1}{2}

 p_0 (1-p_0) = p_1 (1-p_1) = p _ {01} (1 - p _ {01})

 n = p _ {01}  (1-p _ {01}) \left( \frac{ Z _ α + z _ β}{p_1 - p_0} \right) ^ 2

となります。

さらに、有意水準5%、検定率80% (alpha=0.025, beta=0.2)とすると、zα=1.96, zβ=0.84で簡易的に 


n ≒ 8  \frac{p _ {01}  (1-p _ {01}) }{ (p_1 - p_0) ^ 2} \\
p _ {01} = \frac{p_1 + p_1}{2}

として計算できます。

逆正弦変換による近似

逆正弦変換による近似でも求めてみましょう。 この場合、同様に

 θ _ 0 + σ _ 0 z _ α  = θ _ 1 - σ _ 1 * z _ β

となり


σ _ 0 ^ 2 = \frac{1}{4  n_0} \\
σ _ 1 ^ 2 = \frac{1}{4 n_1} \\
n_0 = n_1 = n

を代入して解くと

 n = \left(   \frac{z _ α + z_β}{2  (θ _ 1 - θ _ 0) }   \right) ^ 2

となります。 この結果は、 θ _ 1 - θ _ 0 のみに依存しています。  2(θ _ 1 - θ _ 0) はCohenのhと呼ばれ、効果量を示すのに使えます。同じhでは同じサンプル数になります。

 h = 2(θ _ 1 - θ _ 0) = 2(sin^{-1} \sqrt{p_1} - sin^{-1} \sqrt{p_0})

このhを使うと、nはシンプルに

 n = \left( \frac{z _ α + z _ β}{h} \right) ^ 2

とかけます。

計算例

実際に計算してみましょう。

ここでは、例えば同じページにA/Bのボタンをおいた場合に、Aがクリックされる確率について考えます。 何も差がない確率を50%、差がある場合の確率を60%としてみます。(p_0=0.5, p_1=0.6) また、有意水準5%(α=0.05(片側検定で0.025))、検定力80%(1-β=0.8)として、必要なサンプルサイズnを計算してみます。

Python(式で計算)

(https://paiza.io/projects/mH-9_yvv7W8TjYGbRZNOtA)

R(式で計算)

(https://paiza.io/projects/e0qJsUZfu9zJ6cR2wBv1CA)

R(式で計算) (逆正弦変換)

(https://paiza.io/projects/D2yZ9WCIXNkrzsLgsw3t3w)

R(pwr.p.test)

Rでは、pwr.p.testを使って以下のようになります。

library(pwr)

pwr.p.test(n=NULL, ES.h(0.5, 0.6), sig.level=0.05, power=0.8)

https://paiza.io/projects/Dga4ex3yt-Va57DykOmIng

なお、n以外の値をNULL以外にして、ほかのいずれかをNULLにすることで、サンプルサイズから効果量(h)・有意水準(sig.level)・検定力(power)を求めることもできます。

Python(statsmodels.stats.power.NormalIndPower.solve_power)

Pythonでは、statsmodels.stats.powerの、NormalIndPower().solve_powerが利用できます。

statsmodels.stats.powerの、NormalIndPower().solve_power

import statsmodels.stats.power as smp
print(smp.NormalIndPower().solve_power(effect_size=0.2013579, alpha=0.05, power=0.8, alternative='two-sided', ratio=0))
193.58391309026072

(https://paiza.io/projects/SND6oL9R45Nx19CFwVnQBQ)

Web上で計算

以下のサイトでは、Web上で簡単に、効果量(p_0・p_1)・有意水準・検定力、から検定に必要なサンプルサイズを計算できます。

二項確率の仮説検定に基づくサンプルサイズ設計 | Kengo Nagashima - Keio University

1標本のサンプルサイズ計算結果(p_0=0.5, p_1=0.6, α=0.05, 1-β=0.8)

確率分布

帰無仮説(H0), 対立仮説(H1)での標本確率(p0, p1)の確率分布を見てみると、以下のようになります。 臨界値(境界値, critlcal value)は、H0で有意になる境界であり、かつH1で検定力が満たされる境界になります。

H0で臨界値より右側の面積がα(有意水準)、H1で境界値より左側の面積がβ(第二の過誤)・右側が検定力(1-β)になります。

1標本の確率分布(p_0=0.5, p_1=0.6, α=0.05, 1-β=0.8)

https://paiza.io/projects/e/QWm3_p79Qq8r1kM_MgHdJw

カイ二乗検定(2つの比率の差の検定)でのサンプルサイズの求め方

A/Bの二種類のページをランダムに表示し、どちらがよりコンバージョン率(CVR)が高いか調べる場合を考えます。このような2つの比率の差の検定には、カイ二乗検定やフィッシャーの正確検定を使います。この場合に必要なサンプルサイズを求めてみましょう。

計算方法

A/Bそれぞれのコンバージョン率(CVR)(母比率)を p_a, p_bとすると、標本比率は正規分布で表せます。


p̂ _ a 〜 N(p_b, \frac{p_b(1-p_b)}{n} ) \\
p̂ _ b 〜 N(p_b, \frac{p_a(1-p_a)}{n} )

A/Bの差を考えるとこれは正規分布の差になり、正規分布の差も正規分布で平均・分散は以下の通りです。

平均: E(X-Y)=E(X)-E(Y) 分散: V(X-Y)=V(X)+V(Y)

したがって、標本比率の差の分布は以下のように表せます。


p̂ _ b - p̂ _ a 〜 N \left(p_b-p_a, \frac{p_a(1-p_a)}{n_a} + \frac{p_b(1-p_b)}{n_b} \right)

ここで


p = p_a - p_b \\
p̂ = p̂ _ a - p̂ _ b

と置きます。

次に、帰無仮説(H0)について考えます。 この時のpをp_0とします。A/Bで違いがない場合、p_0=0となります。 この時の分散は、n_a = n_b = nとし、またプールした比率

 p_{ab} = \frac{p_a + p_b}{2}

を用いて

 σ _ 0 ^ 2 = 2  \frac{p _ {ab} (1 - p _ {ab}) }{n}

となり、統計検定量

 u_0 = \frac{p̂ - p_0}{σ _ 0}

は標準正規分布N(0,1)にしたがいます。

次に、対立仮説(H1)について考えます。 この時のpをp_1 = p_b - p_aとします。 この時の分散は n_a = n_b = nとして

 σ_1 ^ 2 = \frac{p_a  (1-p_a) + p_b  (1-p_b)}{n}

となります。

統計検定量

 u_1 = \frac{p̂ - p_1}{σ _ 1}

は標準正規分布N(0,1)にしたがいます。

二項検定の場合と同様に、H0での有意水準の境界値とH1での検定力の境界値が等しいことから

 p_0 + σ _ 0  z _ α = p_1 - σ _ 1  z _ β

これをnについて解くと

 n = \left( \frac{z _ α  \sqrt{2  p _ {ab}  (1-p _ {ab})} + z _ β  \sqrt{p_a  (1-p_a) + p_b  (1-p_b)} }{ p_b - p_a} \right) ^ 2

となります。

より簡単に、 σ _ 1 =  σ _ 0 と近似すると

 n = 2 \cdot p _ {ab}  (1-p _ {ab})  \left( \frac{z _ α + z _ β}{p_b - p_a} \right) ^2

となります。

さらに、有意水準5%、検定率80% ( α=0.025, β=0.2 )とすると、 z _ α=1.96, z _ β=0.84となり、簡易的に 


n ≒ 16 \cdot   \frac{p _ {ab}(1-p _ {ab}) }{ (p_b - p_a) ^ 2 } \\
p _ {ab} = \frac{p_a + p_b}{2}

として計算できます。これは


p_b - p_a ≒ 4 \cdot  \sqrt{\frac{p _ {ab}  (1-p _ {ab})}{n}} = 4  σ _ {ab}

ともかけるので、簡易に標準偏差の4倍が標本比率の差になります。

逆正弦変換による近似

また、二項検定の場合と同様、逆正弦変換で求めることもできます。

この場合、以下のように近似できます。


p̂ _ a 〜 N(\hat{θ} _ a, \frac{1}{4 n_a}) \\
p̂ _  b 〜 N(\hat{θ} _ b, \frac{1}{4 n_b})

この差について考えると

 p̂ _ b - p̂ _ a 〜 N(\hat{θ} _ b - \hat{θ} _ a, \frac{1}{4 n_a} + \frac{1}{4 n_b} )

帰無仮説(H0)のとき、 p_a = p_b 、つまり θ _ a = θ _ b なので

 θ_0 = 0

対立仮説(H1)のときは

 θ _ 1 = θ _ b - θ _ a

これまでと同様に、H0での有意水準の境界値と、H1での検定力の境界値が等しいことから

 θ _ 0 + σ _ 0  z _ α = θ _ 1 - σ _ 1  z _ β

これを変形すると

 θ _ 1 - θ _ 0 = z _ α  σ _ 0 + z _ β  σ _ 1

 θ _ 0, θ _ 1 を代入すると、

 θ _ b - θ _ a = \frac{z _ α}{\sqrt{2n}} + \frac{z _ β}{\sqrt{2n}}

nについて解くと

 n = 2 \cdot \left( \frac{z _ α + z _ β}{2 \cdot (θ _ b - θ _ a)} \right) ^ 2

この結果は、 θ _ 1 - θ _ 0 のみに依存しています。  2 \cdot (θ _ 1 - θ _ 0) はCohenのhと呼ばれ、効果量を示すのに使えます。同じhでは同じサンプル数になります。

 h = 2 \cdot (θ _ 1 - θ _ 0) = 2 \cdot (sin^{-1} \sqrt{p_1} - sin^{-1} \sqrt{p_0})

このhを使うと、nはシンプルに

 n = \left( \frac{z _ α + z _ β}{h} \right) ^ 2

とかけます。

これは1標本の場合の二倍になります。

計算例

それでは、求めた式やライブラリを使って、実際に計算してみましょう。

ここでは、既存の標本比率(コンバージョン率(CVR))を10%( p_a=0.1)、新機能の標本比率を15%( p_b=0.15)、有意水準5%(α=0.05(片側検定で0.025))、検定力80%(1-β=0.8)として、必要なサンプルサイズnを計算してみます。

Python(式で計算)

Pythonで計算すると、以下のようになります。

(https://paiza.io/projects/wCRET4PwcuHvyuWHyj19AQ)

R(式で計算)

Rで計算すると、以下のようになります。

(https://paiza.io/projects/gWbCGu7iog1yviJp9kpbQw)

R(power.prop.test)

Rではpower.prop.testを使うと、以下のように求められます。

power.prop.test ( source )

> library(pwr)

> power.prop.test(n=NULL, p1=0.1, p2=0.15, sig.level=0.05, power=0.8)

     Two-sample comparison of proportions power calculation 

              n = 685.5969
             p1 = 0.1
             p2 = 0.15
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: n is number in *each* group

https://paiza.io/projects/fgomskLx7NrsLCYBhUAsSA

なおn以外の値をNULL以外にして、ほかのいずれかをNULLにすることで、サンプルサイズから比率(p1, p2)・有意水準(sig.level)・検定力(power)を求めることもできます。

R(pwr.2p.test)

Rでは、pwr.2p.testを使うと以下のように求められます。(逆正弦変換の利用)

pwr.2p.test ( source )

> library(pwr)

> pwr.2p.test(n=NULL, ES.h(0.1, 0.15), sig.level=0.05, power=0.8)

     Difference of proportion power calculation for binomial distribution (arcsine transformation) 

              h = 0.1518977
              n = 680.3527
      sig.level = 0.05
          power = 0.8
    alternative = two.sided

NOTE: same sample sizes

https://paiza.io/projects/jCBjCBDxoAGc0O7OWdhv0g?

なおn以外の値をNULL以外にして、ほかのいずれかをNULLにすることで、サンプルサイズから効果量(h)・有意水準(sig.level)・検定力(power)を求めることもできます。

Python(statsmodels.stats.power.normal_sample_size_one_tail)

Pythonではstatsmodels.stats.power.normal_sample_size_one_tailを使うと以下のように求められます。

statsmodels.stats.power.normal_sample_size_one_tail ( source )

import math
from statsmodels.stats.power import normal_sample_size_one_tail
    
p1 = 0.1
p2 = 0.15
p = (p1 + p2) / 2
std = math.sqrt(2 * p * (1 - p))
    
print(normal_sample_size_one_tail(diff=p1 - p2, power=0.8, alpha=0.05 / 2, std_null=std, std_alternative=std,))

https://paiza.io/projects/RrWnMNN3hZRnFl-NXphyIw

Web上で計算

以下のサイトでは、Web上で簡単に、効果量(p_a・p_b)・有意水準・検定力、から検定に必要なサンプルサイズを計算できます。

2 x 2 分割表のカイ二乗検定に対するサンプルサイズ設計 | Kengo Nagashima - Keio University

2×2 分割表のカイ二乗検定に対するサンプルサイズ設計 (p_a=0.1, p_b=0.15, alpha=0.05, 1-beta=0.8)

シミュレーション

シミュレーションで検定力を確認してみます。

> foo = function(n) {
    n1 = rbinom(1, n, 0.1)
    n2 = n - n1
    n3 = rbinom(1, n, 0.15)
    n4 = n - n3
    fisher.test(matrix(c(n1,n2,n3,n4), nrow=2))$p.value
}
> p = replicate(10000, foo(685)); mean(p <= 0.05)
[1] 0.7821

https://paiza.io/projects/_Hlb0ZKQ8SuCjiR6YWLqjw?

およそですが、検定力が0.8近くになっています。

確率分布

帰無仮説(H0), 対立仮説(H1)での標本確率(p0, p1)の確率分布を見てみると、以下のようになります。 臨界値(境界値, critlcal value)は、H0で有意になる境界であり、かつH1で検定力が満たされる境界になります。

H0で臨界値より右側の面積がα(有意水準)、H1で境界値より左側の面積がβ(第二の過誤)・右側が検定力(1-β)になります。

2標本の確率分布(p_a=0.1, p_b=0.15, α=0.05, 1-β=0.8)

https://paiza.io/projects/e/QWm3_p79Qq8r1kM_MgHdJw

参考

サンプルサイズの決め方 (統計ライブラリー) | 永田 靖 |本 | 通販 | Amazon (p.165「母不良率の検定」、p.173「母不良率に関する一元配置分散分析」)

比率の差の検定におけるサンプルサイズの計算

【例題でわかる】現場で使える比率の差の検定

標本サイズの決め方

二群の比率の差の検定のとき

検出力を計算する方法【適切なサンプルサイズで検定しよう!】 | シグマアイ-仕事で使える統計を-

http://blue.zero.jp/yokumura/workshop/2010b/effectsize_power.pdf

統計的仮説検定における効果量の概念と必要サンプルサイズの算出|Dentsu Digital Tech Blog|note

まとめ

A/Bテストを必要十分な期間・量で行うには、テストに必要なサンプルサイズを求める必要があります。必要なサンプルサイズを求めるには、有意水準(例: 5%)、検定力(例: 80%)、効果量(例: 10%=>15%)の3つの項目が必要です。

サンプルサイズが小さすぎると、本当は効果があっても「効果がない」と判断してしまうことになりますし、大きすぎても、無駄なテストによって機会損失が生じてしまいます。適切なサンプルサイズを求めて、適切なA/Bテストを実施し、データに基づいた改善を進めましょう。


PaizaCloud」は、環境構築に悩まされることなく、ブラウザだけで簡単にWebサービスやサーバアプリケーションの開発や公開ができます。 https://paiza.cloud


paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック

paizaのおすすめコンテンツ

Webセキュリティ入門 ハッカー入門 Webセキュリティ講座がスタート!CVは内田真礼さん! Python✕AI 機械学習入門講座 CVに上坂すみれさんを起用!人気の機械学習講座を公開中!
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.