私たちはベイジアン統計検定を調査していますが、奇妙な(少なくとも私にとって)現象に出くわします。
次の場合を考えてみましょう。AまたはBのどちらの母集団のコンバージョン率が高いかを測定することに関心があります。健全性チェックでは、を設定します。つまり、変換の確率は両方のグループで等しくなります。二項モデルを使用して人工データを生成し
次に、ベイジアンベータ二項モデルを使用してを推定し、各変換レートの事後確率を取得します。たとえば、
検定統計量は経由でを計算して計算されます。
私が驚いたのは、場合、です。私は、サンプルサイズNが大きくなると、0.5を中心に0.5に収束し、さらには0.5に収束すると考えていました。
私の質問は、 p_A = p_BのときにS \ sim \ text {Uniform(0,1)} なのはなぜですか?
デモするPythonコードを次に示します。
%pylab
from scipy.stats import beta
import numpy as np
import pylab as P
a = b = 0.5
N = 10000
samples = [] #collects the values of S
for i in range(5000):
assert a==b
A = np.random.binomial(N, a); B = np.random.binomial(N, b)
S = (beta.rvs(A+1, N-A+1, size=15000) > beta.rvs(B+1, N-B+1, size=15000)).mean()
samples.append(S)
P.hist(samples)
P.show()
R