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


12

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

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

nA∼Binomial(N,pA)

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

PA∼Beta(1+nA,N−nA+1)

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

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

Моє запитання: чому коли ?p A = p BS∼Uniform(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,1−p)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.