Мы изучаем байесовское статистическое тестирование и сталкиваемся со странным (по крайней мере, мне) явлением.
Рассмотрим следующий случай: мы заинтересованы в измерении того, какая популяция, A или B, имеет более высокий коэффициент конверсии. Для проверки мы устанавливаем , то есть вероятность конверсии одинакова в обеих группах. Мы генерируем искусственные данные, используя биномиальную модель, например,
Затем мы пытаемся оценить используя байесовскую бета-биномиальную модель, чтобы мы получили для каждого коэффициента конверсии, например,
Наша тестовая статистика вычисляется путем вычисления через Монте-Карло.
Что меня удивило, так это то, что если , то . Мои мысли были , что бы вокруг 0,5, и даже стремятся к 0,5 , как размер выборки, , растет.
Мой вопрос: почему когда ?p A = p B
Вот некоторый код 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
Ответы:
TL; DR: смеси нормальных распределений могут выглядеть одинаково при больших размерах бина.
Этот ответ заимствован из примера кода @ whuber (который я сначала считал ошибкой, но, оглядываясь назад, вероятно, был намеком).
Основополагающие пропорции в популяции равны:
a = b = 0.5
.Каждая группа, А и В имеют 10000 членов:
N = 10000
.Мы будем проводить 5000 повторов моделирования:
for i in range(5000):
.На самом деле, то, что мы делаем, это число . В каждой из 5000 итераций мы будем делать . ев я т у л т я о п у н д е г л у я н г ы я м U L т я о п р т я м е ы я м U L с т я о н цев я м у л т я о пп р и м е S ям у л т я о пу н д е г л у я н г S ям у л т я о ппр и м е S ям у л т я о пу н д е г л у я н г
В каждой итерации мы будем моделировать случайное число А и В , которые являются «успехами» (АКА преобразована) , данные , лежащими в основе равных пропорций , определенные ранее: . Номинально это даст A = 5000 и B = 5000, но A и B варьируются от сима до сима и распределяются по 5000 симуляциям независимо и (приблизительно) нормально (мы вернемся к этому).S ям у л т я о пп р и м е
A = np.random.binomial(N, a); B = np.random.binomial(N, b)
Давайте теперь пройдемся по для одной итерации в которой A и B добились равного числа успехов (как будет в среднем случае). На каждой итерации мы, с учетом A и B, создадим случайные вариации бета-распределения для каждой группы. Затем мы сравним их и выясним, является ли , что дает ИСТИНА или ЛОЖЬ (1 или 0). В конце прогона мы выполнили 15000 итераций и получили 15000 значений ИСТИНА / ЛОЖЬ. Их среднее значение даст одно значение из (приблизительно нормального) выборочного распределения доли ы я м у л т я о п р т я м е ев я т U L с т я о п у н д е г л у я н г Б е т >ев я м у л т я о пу п д е г л у я н г ев я м у л т я о пп р и м е ев я м у л т я о пу п д е г л у я н г евямултяо п у н д е г л у я н г Б е т > Б е т в BB e t aA> B e t aВ ев я м у л т я о пу п д е г л у я н г B e t aA> B e t aВ .
За исключением того, что теперь выберет 5000 значений A и B. A и B редко будут в точности равны, но типичные различия в количестве успехов A и B уменьшаются из-за общего размера выборки A и B. Типичные As и Bs дадут больше тяг от распределения выборки в пропорциях , но те, что находятся на краях A / B-дистрибутива, также будут извлечены.Б е т а A > B е т в Bев я м у л т я о пп р и м е B e t aA> B e t aВ
Итак, что по сути мы выполняем во многих прогонах симов, это комбинация распределений выборки для комбинаций A и B (с большим количеством вытягиваний из распределений выборки, сделанных из общих значений A и B, чем необычные значения A и B). Это приводит к смеси нормальных распределений. Когда вы объединяете их по небольшому размеру бина (как это было по умолчанию для функции гистограммы, которую вы использовали и была указана непосредственно в исходном коде), вы получаете нечто, похожее на равномерное распределение.B e t aA> B e t aВ
Рассмотреть возможность:
источник
rbinom
, которые возвращают вектор. Последующий вызовrbeta
insidereplicate
является векторизованным, поэтому внутренний (внутренний) цикл использует разные и для каждой из 15000 сгенерированных случайных величин (переход к последним 5000, начиная с вашего ). Смотрите больше. Это отличается от кода @ Cam с единственными фиксированными и используемыми во всех 15000 вызовах с произвольной переменной для каждого из 5000 циклов sampling ( ). B A BNSIM = 10000
?rbeta
replicate
Чтобы получить некоторую интуицию о том, что происходит, давайте не стесняемся делать очень большим и при этом игнорировать поведение и использовать асимптотические теоремы, которые утверждают, что бета- и биномиальные распределения становятся примерно нормальными. (С некоторыми проблемами все это можно сделать строгим.) Когда мы делаем это, результат получается из определенных отношений между различными параметрами.O ( 1 / N )N O(1/N)
Поскольку мы планируем использовать нормальные приближения, мы обратим внимание на ожидания и дисперсии переменных:
Как биномиальный переменные, и есть ожидания и дисперсии из . Следовательно и есть ожидания и дисперсией .n A n B p N p ( 1 - p ) N α = n A / N β = n B / N p p ( 1 - p ) / N(N,p) nA nB pN p(1−p)N α=nA/N β=nB/N p p(1−p)/N
Поскольку бета , имеет ожидание и дисперсию . Приблизительно, мы находим, что имеет ожидание(nA+1,N+1−nA) PA (nA+1)/(N+2) (nA+1)(N+1−nA)/[(N+2)2(N+3)] PA
и дисперсия
с аналогичными результатами для .PB
Поэтому давайте приблизим распределения и с помощью нормальных и нормальных распределений (где второй параметр обозначает дисперсию ). Следовательно, распределение приблизительно нормальное; остроумие,PA PB (α,α(1−α)/N) (β,β(1−β)/N) PA−PB
Для очень больших выражение не будет заметно отличаться от за исключением с очень низкой вероятностью (еще один заброшенный член ). Соответственно, пусть будет стандартным нормальным CDF,N α(1−α)+β(1−β) p(1−p)+p(1−p)=2p(1−p) O(1/N) Φ
Но поскольку имеет нулевое среднее значение и дисперсия является стандартным нормальным варьировать (хотя бы приблизительно). - его интегральное преобразование вероятности ; является однородным .α−β 2p(1−p)/N, Z=α−β2p(1−p)/N√ Φ Φ(Z)
источник