Bu dağılım neden tekdüze?


12

Bayesian istatistik testlerini araştırıyoruz ve garip (en azından benim için) bir fenomenle karşılaşıyoruz.

Şu durumu düşünün: Hangi popülasyonun (A veya B) daha yüksek dönüşüm oranına sahip olduğunu ölçmek istiyoruz. Bir sağlık kontrolü için, , yani dönüşüm olasılığı her iki grupta da eşit. Bir binom modeli kullanarak yapay veriler , örneğinpA=pB

nABinomial(N,pA)

Daha sonra Bayes beta-binomial modeli kullanarak tahmin etmeye böylece her dönüşüm oranı için posterior elde ederiz, örneğinpA,pB

PABeta(1+nA,NnA+1)

Test istatistiğimiz monte carlo aracılığıyla hesaplanarak hesaplanır .S=P(PA>PB|N,nA,nB)

Beni şaşırtan şey ise . Düşüncelerim, 0.5 civarında ortalanacak ve hatta örneklem büyüklüğü büyüdükçe 0.5'e yaklaşacaktı. pA=pBSUniform(0,1)N

Benim sorum, olduğunda neden ?p A = p BSUniform(0,1)pA=pB


İşte göstermek için bazı Python kodu:

%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 S ayrık değildir, 0 ile 1 arasında düşme olasılığıdır. Ayrıca, düşük N için bile tek tip davranış gözlemliyorum.
Cam.Davidson.Pilon

2
O zaman kurulumunuzu yanlış anlamış olmalıyım. verilen herhangi bir değerleri için değeri bir sayıdır. Bu nedenle, ve şu an için sabit olduğunu kabul ederek (kodunuzda olduğu gibi) , . Ancak ikincisi, iki Binom dağılımının gerçekleşmesi olarak, sadece ayrık bir değer kümesine ulaşabilir. Kodunuzu yeniden oluşturduğumda, küçük için kesin olarak homojen olmayan histogramlar alıyorum . S N , p A , p B S ( n A , n B ) NN,nA,nB,SN,pA,pBS(nA,nB)RN
whuber

1
Nitekim şimdi, ancak arasındaki değerlere sahiptir ve , en az olabilir:, kesiksiz o karıştırmayın farklı değerler (ve aslında daha az vardır). Simülasyonunuzda üretir, çünkü bu size gayet açık olmayabilir tahminler arasında ziyade onun doğru değerleri ve tahminler esas kesintisiz dağılımını var. 0 1 N 2 SS01N2S
whuber

1
@whuber evet, haklısın, mükemmel gözlem. Hala neden düzgün göründüğüne takılıp kalıyorum .
Cam.Davidson.Pilon

Yanıtlar:


11

TL; DR: Çöp boyutları büyük olduğunda normal dağılımların karışımları düzgün görünebilir.

Bu cevap @ whuber'ın örnek kodundan ödünç alır (ki ilk olarak bir hata olduğunu düşündüm, ancak geriye dönükte muhtemelen bir ipucu oldu).

Popülasyonda altta yatan oranlar eşittir: a = b = 0.5.
Her bir grup, A ve B 10000 üyesi vardır: N = 10000.
Bir simülasyonun 5000 çoğaltır vereceklerini: for i in range(5000):.

Aslında, ne yapıyoruz bir olduğunu bir . 5000 iterasyonun her birinde yapacağız . 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

Her yinelemede daha önce tanımlandığı eşit yatan oranlar belirli başarıları '(AKA dönüştürülmüş) ve rastgele A numarası ve B taklit edecek: . Nominal olarak bu A = 5000 ve B = 5000 verir, ancak A ve B sim çalışmasından sim çalışmasına değişir ve 5000 simülasyon çalışmasında bağımsız olarak ve (yaklaşık) normal olarak dağıtılır (buna geri döneceğiz).simulationprimeA = np.random.binomial(N, a); B = np.random.binomial(N, b)

Yoluyla edelim Şimdi aşama tek bir yineleme için (durum ortalama olacak şekilde), A ve B başarıların eşit sayıda almış olan. Her yinelemesinde, A ve B verildiğinde, her grup için beta dağılımının rastgele varyasyonlarını oluşturacağız. Sonra bunları karşılaştıracağız ve bir DOĞRU veya YANLIŞ (1 veya 0) vererek olup olmadığını öğreneceğiz . çalışmasının sonunda 15000 yinelemeyi tamamladık ve 15000 TRUE / FALSE değerine sahibiz. Bunların ortalaması (yaklaşık normal) örnekleme dağılımından tek bir değer verecektir. 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>BetaBsimulationunderlyingBetaA>BetaB .

Şimdilik 5000 A ve B değerini seçecek. A ve B nadiren tam olarak eşit olacaktır, ancak A ve B başarılarının sayısındaki tipik farklılıklar, A ve B'nin toplam örnek büyüklüğü ile engellenir. Tipik As ve Bs, oranlarının örnekleme dağılımından daha fazla çekiş sağlar. , ancak A / B dağılımının kenarlarındaki olanlar da çekilir.B e t bir A > B e t bir BsimulationprimeBetaA>BetaB

Yani, aslında birçok sim çalışmasını çektiğimiz şey , A ve B kombinasyonları için örnekleme dağılımlarının bir kombinasyonudur ( ortak değerlerden yapılan örnekleme dağılımlarından daha fazla çekme ile) A ve B'nin nadir değerlerinden daha fazla). Bu, normal-ish dağılımlarının karışımları ile sonuçlanır. Bunları küçük bir kutu boyutu üzerinde birleştirdiğinizde (kullandığınız ve doğrudan orijinal kodunuzda belirtildiği histogram işlevi için varsayılan olarak), tekdüze bir dağılım gibi görünen bir şeyle sonuçlanırsınız.BetaA>BetaB

Düşünmek:

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
Bu yüzden benimki ve kodun arasında bir fark var. Her döngüde A ve B'yi örnekliyorum, bir kez örnek alıyorsunuz ve S 5000 kez hesaplıyorsunuz.
Cam.Davidson.Pilon

1
Tutarsızlık rbinom, bir vektör döndüren çağrılarınızda yatar . rbetaİçeriden sonraki çağrı replicatevektörize edilir, bu nedenle iç (iç) döngü üretilen 15000 rasgele değişkenin her biri için farklı bir ve kullanır (o zamandan beri son 5000 için etrafını sarar ). Daha fazlası için bakınız . Bu, @ Cam kodundan farklıdır ve 5000 örnekleme ( ) döngüsünün her biri için 15000 rasgele değişken çağrısında kullanılan tek bir sabit ve . B A BABNSIM = 10000?rbetaABreplicate
kardinal

1
merak edenler için çıktı: imgur.com/ryvWbJO
Cam.Davidson.Pilon

1
Potansiyel olarak kavramsal düzeyde ilgili olduğunun farkında olduğum tek şey a) sonuçların beklenen dağılımının simetrik olması, b) 1 kutu büyüklüğü her zaman aynıdır, c) simetrik dağılım için 2 kutu büyüklüğüdür. ayrıca her zaman tek tip görünecektir, d) N ile artışlardan elde edilebilecek olası örnekleme dağılımlarının sayısı, e) S değerlerinin tek başına 0 veya 1 üzerinde birikmesi mümkün değildir, çünkü her iki grupta da 0 başarı olduğunda beta tanımlanmamıştır ve f) örnekler 0 ile 1 arasında sınırlandırılmıştır.
russellpierce

1
Sadece gözlem konusu olarak, örnekleme dağılımlarının sentroidleri arasındaki mesafelerin, örnekleme dağılımlarının sentroidleri .5'ten (muhtemelen yukarıdaki f noktasıyla ilişkili) uzaklaştıkça azaldığını görebiliriz. Bu etki, grup A ve grup B vakasında daha yaygın neredeyse eşit başarılar için yüksek gözlem sıklığı eğilimini etkisiz hale getirme eğilimindedir. Bununla birlikte, bunun neden veya neden belirli kutu boyutları için normal dağılımlar vermesi gerektiğine dair matematiksel bir çözüm vermek, bölgemin yakınında değil.
russellpierce

16

Neler olup bittiğine dair bir sezgi almak için, çok büyük hale getirmekten çekinmeyin ve böylece O ( 1 / N ) davranışını görmezden gelin ve hem Beta hem de Binom dağılımlarının yaklaşık Normal hale geldiğini belirten asimtotik teoremlerden yararlanın. (Bazı sorunlarla, tüm bunlar titiz hale getirilebilir.) Bunu yaptığımızda , sonuç çeşitli parametreler arasında belirli bir ilişkiden ortaya çıkar.NO(1/N)


Normal yaklaşımları kullanmayı planladığımız için değişkenlerin beklentilerine ve farklılıklarına dikkat edeceğiz:

  • Binom değiştikçe n A ve n B'nin p N ve p ( 1 - p ) N varyansları beklentileri vardır . Sonuç olarak α = n A / N ve β = n B / N'nin p ve varyans p ( 1 - p ) / N beklentileri vardır .(N,p)nAnBpNp(1p)Nα=nA/Nβ=nB/Npp(1p)/N

  • Bir Beta olarak değişkenin, P A bir beklenti sahiptir ( n, A + 1 ) / ( K + 2 ) ve bir varyans ( n A + 1 ) ( K + 1 - n A ) / [ ( N + 2 ) 2 ( N + 3(nA+1,N+1nA)PA(nA+1)/(N+2) . Biz bulmak, yaklaşan P A bir beklenti vardır(nA+1)(N+1nA)/[(N+2)2(N+3)]PA

    E(PA)=α+O(1/N)

    ve bir varyansı

    Var(PA)=α(1α)/N+O(1/N2),

    ile benzer sonuçlarla .PB

Bu nedenle, ve P ( B) dağılımlarının Normal ( α , α ( 1 - α ) / N ) ve Normal ( β , β ( 1 - β ) / N ) dağılımlarıyla (ikinci parametrenin varyansı belirttiği yer ) . Sonuç olarak P A - P B'nin dağılımı yaklaşık olarak Normal'dir; zekâ için,PAPB(α,α(1α)/N)(β,β(1β)/N)PAPB

PAPBNormal(αβ,α(1α)+β(1β)N).

Çok büyük , α ( 1 - α ) + β ( 1 - β ) ifadesi , çok düşük olanlar hariç , p ( 1 - p ) + p ( 1 - p ) = 2 p ( 1 - p ) arasında önemli ölçüde değişmeyecektir. olasılık (başka bir ihmal edilen O ( 1 / N ) terimi). Buna uygun olarak, izin Φ standart normal CDF olabilir,Nα(1α)+β(1β)p(1p)+p(1p)=2p(1p)O(1/N)Φ

Pr(PA>PB)=Pr(PAPB>0)Φ(αβ2p(1p)/N).

Ancak sıfır ortalaması ve varyansı 2 p ( 1 - p ) / N olduğundan , Z = α - βαβ2p(1p)/N, standart bir Normal değişkendir (en az yaklaşık olarak). Φonun birolasılık integral dönüşüm; Φ(Z)olanmuntazam.Z=αβ2p(1p)/NΦΦ(Z)


1
PAPBNormalΦ

1
PAPBPAPBXFF(X)

1
Pr(PA>PB)

1
X=PAPBμ=αβσ2=2p(1p)/NX
Pr(X>0)=Pr((Xμ)/σ>(0μ)/σ)=1Φ(μ/σ)=Φ(μ/σ).

3
@whuber bu oldukça şaşırtıcı. Harika bir öğretmensin. Hem senin hem de rpierce'nin cevabını takdir ediyorum, sorunumuzu çözdüğü için ona hala kredi vereceğim ve davranışın neden oluştuğunu gösterdin. Ty!
Cam.Davidson.Pilon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.