Reports

Twitter: @mtknnktm.

稀にしか発生しない事象は何回観測すればいい?

低確率で発生する事象は、その稀にしか発生しないという性質上、それの発生確率を正確に知ろうとすると非常に多くの試行回数が必要です。低確率で発生しつつ、かつ、その発生確率を正確に知ることが重要なものとして、例えば、オンライン広告のクリック率(CTR)やコンバージョン率(CVR)などがあり、発生確率の正確な推定が重要な事が稀に良くあります。

例えば、事象の発生確率p=0.05のときにn回試行したときの平均を以下に示します。5回実行して試行回数nが少ないとばらつきが大きい(平均値があてにならない)ことがよくわかると思います。また、1000回ほど試行しても収束しきってないことがわかります。

f:id:swarm_of_trials:20150202230121p:plain

では、一体どのぐらいの試行回数nの時にどのぐらいの信頼性で真の事象発生確率pを推定できるのでしょうか? (どのぐらいのnであれば上図の各実行のばらつきが小さくなり、安心して評価できる事象発生確率pの推定値になるのでしょうか?)
簡単に計算できそうなのでやってみました。

確率pで1が発生し、確率1-pで0が発生するベルヌーイ試行を考えます。このとき、それの期待値はp、分散はp(1-p)になります(ベルヌーイ分布 - Wikipedia)。この試行をn回繰り返したとき、その期待値はE=p、分散はV=p(1-p)/nとなります(第12講:大数の法則・中心極限定理 (.pdf))。

よって事象発生確率がpの時に、ある信頼区間(S)が誤差e(比率)に収まるためには試行回数n

  • S \sqrt{V} = S \sqrt{p(1-p)/n} \leq ep

となります。これをnについて解くと

  • n \geq (\frac{1}{p}-1) (\frac{S}{e})^2

となり、試行回数nはこれを満たす必要があります。

例えば真の事象発生確率がp=0.05であるときに、95%信頼区間(S=1.96)が誤差10%に収まるためには、

  • n \geq (\frac{1}{p}-1) (\frac{S}{e})^2 = (\frac{1}{0.05}-1) (\frac{1.96}{0.1})^2 = 7299.04

となるので、7300回の試行が必要であることがわかります。そして、より正確な計測のために誤差eを減らそうとすると、neの二乗に反比例するため非常に多くの試行nが必要になることがわかります。

また、それにもかかわず、試行回数がn=200ぐらいしかなかった場合の誤差eは上式をeについて解いて代入すると

  • e = \sqrt{\frac{1}{200}(\frac{1}{0.05}-1) 1.96^2} = 0.604

となり、60%の誤差がありうるような状態でしか事象発生確率を把握できない事がわかります。

オンライン広告の分野では可能な限り少ないインプレッション(試行回数n)で正確にCTRやCVRを把握し、より効果的な広告を提供していくことが重要ですので、少ないインプレッションで正確にCTR/CVRを予測するための研究がなされています(Predicting Clicks: Estimating the Click-Through Rate for New Ads, WWW, 2007 / 日本語解説記事)。

サンプルサイズの決め方 (統計ライブラリー)

サンプルサイズの決め方 (統計ライブラリー)

アドテクノロジー プロフェッショナル養成読本 ~デジタルマーケティング時代の広告効果を最適化! (Software Design plus)

アドテクノロジー プロフェッショナル養成読本 ~デジタルマーケティング時代の広告効果を最適化! (Software Design plus)