Badamy bayesowskie testy statystyczne i natrafiliśmy na dziwne (przynajmniej dla mnie) zjawisko.
Rozważ następujący przypadek: interesuje nas pomiar, która populacja, A lub B, ma wyższy współczynnik konwersji. Dla kontroli poczytalności ustawiamy , to znaczy prawdopodobieństwo konwersji jest równe w obu grupach. Generujemy sztuczne dane przy użyciu modelu dwumianowego, np.
Następnie próbujemy oszacować za pomocą bayesowskiego modelu dwumianowego beta, aby uzyskać tylne współczynniki dla każdego współczynnika konwersji, np.
Nasza statystyka testowa jest obliczana przez obliczenie za pomocą Monte Carlo.
Zaskoczyło mnie to, że jeśli , to . Myślałem, że będzie on wyśrodkowany wokół 0,5, a nawet zbiegnie się do 0,5 w miarę wzrostu wielkości próbki, ,.
Moje pytanie brzmi: dlaczego kiedy ?
Oto kod Python do zademonstrowania:
%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