Чому цей розподіл рівномірний?


12

Ми досліджуємо байєсівські статистичні випробування, і натрапимо на дивне (на мене принаймні) явище.

Розглянемо наступний випадок: нас цікавить вимірювання того, яке населення, А чи В, має більш високий коефіцієнт конверсії. Для перевірки встановлюємо , тобто ймовірність конверсії однакова в обох групах. Ми створюємо штучні дані за допомогою біноміальної моделі, наприкладpA=pB

nABinomial(N,pA)

Потім ми намагаємося оцінити за допомогою байєсівської бета-біноміальної моделі, тому ми отримуємо для кожного коефіцієнта перетворення, наприклад,pA,pB

PABeta(1+nA,NnA+1)

Наша тестова статистика обчислюється шляхом обчислення через monte carlo.S=P(PA>PB|N,nA,nB)

Мене здивувало те, що якщо , то . Мої думки полягали в тому, що вона буде зосереджена приблизно на 0,5 і навіть збільшиться до 0,5, оскільки розмір вибірки, , зростає. pA=pBSUniform(0,1)N

Моє запитання: чому коли ?p A = p BSUniform(0,1)pA=pB


Ось декілька кодів 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()

Зауважте, що не може бути точно рівномірним, оскільки це дискретна змінна. Тому ви запитуєте про асимптотичну поведінку. Більше того, для малих (менше , приблизно, при ) розподіл навіть не віддалено близький до рівномірного. SN100/min(p,1p)p=pA=pB
whuber

@whuber S не є дискретним, це ймовірність, що може впасти між 0 і 1. Крім того, навіть при низькому N я спостерігаю рівномірну поведінку.
Cam.Davidson.Pilon

2
Тоді я, мабуть, нерозумію вашу установку. Наскільки я можу сказати, для будь-яких заданих значень значення є числом. Тому, приймаючи, що і є фіксованими на даний момент (як вони є у вашому коді), є функцією . Але останні, будучи реалізацією двох біноміальних розподілів, можуть досягти лише дискретного набору значень. Коли я відтворюю свій код , я рішуче неоднорідні гістограм для малих . N,nA,nB,SN,pA,pBS(nA,nB)RN
whuber

1
Хоча справді ваш має значення від до , не плутайте це з недискретними: він може мати не більше чітких значень (а насправді має менше, ніж це). Це не може бути абсолютно ясно, тому що ваша симуляція генерує оцінку з , а не його правильних значення і оцінки по суті є безперервне розподіл. S01N2S
whuber

1
@whuber так, ви праві, чудове спостереження. Я до сих пір застряг, чому це виглядає рівномірно.
Cam.Davidson.Pilon

Відповіді:


11

TL; DR: Суміші звичайних розподілів можуть виглядати рівномірно, коли розміри контейнерів великі.

Ця відповідь запозичує зразок коду @ whuber (який я вважав спочатку помилкою, але в ретроспективі, мабуть, натяк).

Основоположні пропорції в популяції рівні: a = b = 0.5.
Кожна група, А і В мають 10000 членів: N = 10000.
Ми будемо проводити 5000 повторів моделювання: for i in range(5000):.

На насправді, що ми робимо це з . У кожному з 5000 ітерацій ми зробимо . s i m u l a t i o n u n d e r l y i n g s i m u l a t i o n p r i m e s i m u l a t i o n usimulationprimesimulationunderlyingsimulationprimesimulationunderlying

У кожній ітерації ми будемо моделювати випадкове число А і В , які є «успіхами» (АКА перетворена) , дані , що лежать в основі рівних пропорцій , визначені раніше: . Номінально це дасть A = 5000 та B = 5000, але A і B змінюються від sim run до sim run та розподіляються по 5000 циклів моделювання незалежно та (приблизно) нормально (ми повернемось до цього).simulationprimeA = np.random.binomial(N, a); B = np.random.binomial(N, b)

Давайте тепер переглянемо для єдиної ітерації в якій A і B отримали рівну кількість успіхів (як це буде середній випадок). У кожній ітерації ми, задавши A і B, створимо випадкові величини бета-розподілу для кожної групи. Тоді ми порівняємо їх і з’ясуємо, чи , даючи ПРАВИЛЬНУ або (1 або 0). Наприкінці запуску ми виконали 15000 ітерацій та маємо 15000 значень TRUE / FALSE. Середнє значення цих показників дасть єдине значення з (приблизно нормального) розподілу вибірки на частку s i m u l a t i o n p r i m e s i m u l a t i o n u n d e r l y i n g B e t a A >simulationunderlyingsimulationprimesimulationunderlying simulatio n u n d e r l y i n g B e t a A > B e t a BBetaA>BetaBсiмулатiонунгеrлуiнгБетаА>БетаБ .

За винятком того, що зараз вибере 5000 значень A і B. A і B рідко будуть абсолютно рівними, але типові відмінності в кількості успіхів A і B спотворюються на загальний розмір вибірки A і B. Типовий As і B отримає більше витягів від їх вибіркового розподілу пропорцій , але ті, що знаходяться на краях розподілу A / B, також будуть витягнуті.B e t a A > B e t a BсiмулатiонpriмеБетаА>БетаБ

Отже, що по суті ми перетягуємо на багато сим-прогонів - це комбінація розподілу вибірки для комбінацій A і B (з більшою кількістю витягів із розподілу вибірки, зроблених із загальних значень A і B, ніж нечасті значення A і B). Це призводить до отримання сумішей нормального розподілу. Якщо ви комбінуєте їх за невеликим розміром біна (як це за замовчуванням для функції гістограми, яку ви використовували, і була вказана безпосередньо у вихідному коді), ви отримуєте щось, схоже на рівномірний розподіл.БетаА>БетаБ

Поміркуйте:

a = b = 0.5
N = 10
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,1000)
P.show()

1
Так що між моїм та вашим кодом є різниця. Я вибираю вибірки A і B у кожній петлі, ви вибираєте її один раз і обчислюєте S 5000 разів.
Cam.Davidson.Pilon

1
Невідповідність полягає у ваших дзвінках до rbinom, який повертає вектор. Подальший виклик rbetaвсередину replicateвекторизований, тому внутрішня (внутрішня) петля використовує різні і для кожної з 15000 генерованих випадкових змінних (обгортання остаточних 5000 з моменту вашого ). Дивіться докладніше. Це відрізняється від коду @ Cam з тим, що має єдині фіксовані і використовуються у всіх 15000 викликах з випадковими змінними для кожної з 5000 циклів вибірки ( ). Б А ВАБNSIM = 10000?rbetaАБreplicate
кардинал

1
ось вихід для тих, хто цікавиться: imgur.com/ryvWbJO
Cam.Davidson.Pilon

1
Єдине, що мені відомо про те, що є потенційно доречним на концептуальному рівні, це те, що: а) очікуваний розподіл результатів є симетричним; б) розмір відрізка 1 завжди рівномірний; в) розмір відрізка 2 для симетричного розподілу також завжди буде рівномірним, d) кількість можливих розподілів вибірки, які можна отримати із збільшення з N, д) значення S не можуть скластись на 0 або 1, оскільки бета не визначена, якщо в будь-якій групі є 0 успіхів , і f) зразки обмежені між 0 і 1.
russellpierce

1
Що стосується лише спостереження, ми можемо побачити, що відстані між центроїдами розподілів вибірки зменшуються в міру того, як центроїди розподілів вибірки відходять від .5 (ймовірно, пов'язане з точкою f вище). Цей ефект, як правило, протидіє тенденції високих частот спостережень до більш загальних майже рівних успіхів у випадку групи А та групи В. Однак давати математичне рішення щодо того, чому це так, і чому воно повинно давати нормальні розподіли для певних розмірів бункера, немає ніде поблизу моєї території.
russellpierce

16

Щоб отримати деяку інтуїцію щодо того, що відбувається, давайте сміливо зробимо дуже великим і, тим самим, ігноруючи поведінку та використовуючи асимптотичні теореми, які заявляють, що і бета-і біноміальні розподіли стають приблизно нормальними. (З деякими неприємностями, все це може бути зроблено суворо.) Коли ми це робимо, результат виходить із конкретного співвідношення між різними параметрами.O ( 1 / N )NО(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)нАнБpNp(1-p)Nα=нА/Nβ=нБ/Npp(1-p)/N

  • Як бета-версія , має очікування та дисперсію . , ми виявимо, що очікуєP A ( n A + 1 ) / ( N + 2 ) ( n A + 1 ) ( N + 1 - n A ) / [ ( N + 2 ) 2 ( N + 3 ) ] P A(нА+1,N+1-нА)ПА(нА+1)/(N+2)(нА+1)(N+1-нА)/[(N+2)2(N+3)]ПА

    Е(ПА)=α+О(1/N)

    і дисперсія

    Вар(ПА)=α(1-α)/N+О(1/N2),

    з аналогічними результатами для .ПБ

Отже, наблизимо розподіли і P B з нормальними ( α , α ( 1 - α ) / N ) та нормальними ( β , β ( 1 - β ) / N )) (де другий параметр позначає дисперсію ) . Отже, розподіл P A - P B приблизно нормальний; а саме,ПАПБ(α,α(1-α)/N)(β,β(1-β)/N)ПА-ПБ

ПА-ПБНормальний(α-β,α(1-α)+β(1-β)N).

Для дуже великих вираз α ( 1 - α ) + β ( 1 - β ) не помітно відрізнятиметься від p ( 1 - p ) + p ( 1 - p ) = 2 p ( 1 - p ), за винятком дуже низького ймовірність (інший знехтуваний термін O ( 1 / N ) ). Відповідно, якщо Φ є стандартним нормальним CDF,Nα(1-α)+β(1-β)p(1-p)+p(1-p)=2p(1-p)О(1/N)Φ

Пр(ПА>ПБ)=Пр(ПА-ПБ>0)Φ(α-β2p(1-p)/N).

Але оскільки має нульове середнє значення, а дисперсія 2 p ( 1 - p ) / N , Z = α - βα-β2p(1-p)/N, - це стандартна нормальна змінна (принаймні приблизно). Φ- йогоінтегральне перетворення ймовірності; Φ(Z)єоднорідним.Z=α-β2p(1-p)/NΦΦ(Z)


1
Я з вами до тих пір, поки ... тоді ви підете іншим напрямком, якого я не зовсім дотримувався. Чи Φ визначається двічі, один раз як стандартний нормальний CDF, а потім як інтегральне перетворення ймовірності? Я сподіваюся, що ви зможете розширити свій опис навколо цих кроків і пов’язати їх з початковим кодом / проблемою. Можливо, обведіть назад і перезапустіть, які конкретні параметри дають рівномірний результат. ПА-ПБNоrмалΦ
russellpierce

1
@rpierce (1) Різниця приблизно нормальна, оскільки P A і P B незалежні, і кожен приблизно нормальний. Середнє значення є різницею засобів, а дисперсія - сумою дисперсій. (2) Інтеграл ймовірності перетворення є ВПР: це має місце для будь-якої випадкової величини X з безперервним розподілом F , що F ( X ) є однорідним. ПА-ПБПАПБХЖЖ(Х)
whuber

1
О, я отримав 1, це був матеріал, після якого я загубився. Це буде розумно глухо, але чому такий же, як CDF? Пr(ПА>ПБ)
russellpierce

1
Х=ПА-ПБмк=α-βσ2=2p(1-p)/NХ
Пр(Х>0)=Пр((Х-мк)/σ>(0-мк)/σ)=1-Φ(-мк/σ)=Φ(мк/σ).

3
@whuber це досить дивовижно. Ви чудовий вчитель. Я ціную і вашу відповідь, і відповідь rpierce, я все одно буду йому вдячний, як це вирішило нашу проблему, і ви показали, чому відбувається така поведінка. Ти!
Cam.Davidson.Pilon
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.