ベルヌーイ分布

ベルヌーイ分布(Bernoulli distribution)とは?

ベルヌーイ分布(Bernoulli distribution)は、確率論と統計学における基本的な分布の一つで、二項分布の特別なケースです。ベルヌーイ分布は、試行が2つの結果(成功または失敗)のいずれかをもたらすような状況をモデル化します。例えば、コインの表裏のような状況です。

下記のような結果が二値になるイベントのモデル化に利用することができます。

  • 新製品の購入

  • 広告クリック

  • 医療検査の陽性

ベルヌーイ分布では、成功確率を $${p}$$、失敗の確率を $${1−p}$$ とし、通常、成功を1、失敗を0と表現します。

この記事では広告が表示された時のクリック率(成功確率)を仮定し、ベルヌーイ分布に従うクリックのシミュレーションを行ってみます。

import numpy as np

np.random.seed(0)

p = 0.003
n = 1000
clicks = np.random.binomial(1, p, n)

クリック率を0.3%とし、ベルヌーイ試行の結果を1000回シミュレーションしました。

click_rate = np.mean(clicks)

0.4%という結果となりました。

import matplotlib.pyplot as plt

plt.hist(clicks, bins=2, edgecolor='black')
plt.xticks([0, 1])
plt.title('Clicks')
plt.xlabel('Click')
plt.ylabel('Frequency')
plt.show()

ヒストグラムでも確認してみます。


シミュレーションから得られた分散についても確認してみます。

sample_variance = np.var(clicks)

結果は、0.00398でした。

想定する試行回数のシミュレーションを通してクリック率の分散を考慮し、クリック率のばらつきが大きければキャンペーンを行うリスクが高いと判断できるかもしれません。