Bernoulli rasgele değişkenlerinin toplamını nasıl verimli bir şekilde modelleyebilirim?


38

Her biri farklı başarı olasılığına sahip (~ 15-40k bağımsız Bernoulli rasgele değişkenlerinin ( ) toplamı olan rastgele bir değişkeni ( ) . Resmen, burada ve \ Pr (X_i = 0) = 1-p_i .YXipiY=XiPr(Xi=1)=piPr(Xi=0)=1pi

Pr(Y<=k) (burada k verilir) gibi soruları hızlıca cevaplamak istiyorum .

Şu anda, bu tür soruları cevaplamak için rastgele simülasyonlar kullanıyorum. Her X_i'yi rasgele p_i'yeXi göre pi , sonra Y ' yi almak için tüm Xi değerlerini toplarım . Bu işlemi birkaç bin kez tekrarlıyorum ve \ Pr (Y '\ leq k)' nin zamanını geri döndürüyorum .YPr(Yk)

Açıkçası, bu tamamen doğru değil (her ne kadar doğruluk simülasyon sayısı arttıkça artar). Ayrıca, kullanım simülasyonlarından kaçınmak için dağıtım hakkında yeterli veriye sahibim. Kesin olasılığını elde etmek için makul bir yol bulabilir misiniz Pr(Yk) ?

ps

Perl ve R'yi kullanıyorum.

DÜZENLE

Cevapların ardından bazı açıklamaların gerekli olabileceğini düşündüm. Kısa zamanda sorunumun ortamını anlatacağım. Verilen, çevreye sahip dairesel bir genom cve kendisine neşlenen bir dizi aralıktır. Örneğin c=3*10^9ve ranges={[100,200],[50,1000],[3*10^9-1,1000],...}. Tüm aralıkların kapalı olduğunu unutmayın (her iki uç da dahil). Ayrıca, yalnızca tamsayılarla (tüm birimler) ilgilendiğimizi unutmayın.

Verilen nharitalanmış aralıklar tarafından gizlenen dairelerin bölgelerini arıyorum . Bu nedenle x, daire üzerinde belirli bir uzunluk aralığının gizli olup olmadığını test etmek için, naralıkların rastgele eşlendiği hipotezini test ediyorum . Uzunluğunun olasılık eşlenen bir aralık q>xuzunluğunun tam olarak verilen aralığı kapsayacak xolup (q-x)/c. Bu olasılık c, büyük ve / veya küçük olduğunda oldukça küçük olur q. İlgilendiğim, kapsayan (sınır dışı n) aralıkların sayısı x. Bu şekilde Yoluşur.

Boş hipotezime karşı tek taraflı bir alternatifi test ediyorum (yetersiz). Ayrıca x, farklı hipotezleri (farklı uzunluklarda) test ettiğime ve bunun için de düzeltmem gerektiğine dikkat edin.


P_i'niz modelleme alıştırması boyunca sabitlenmiş mi veya bir hesaplamadan diğerine değişebiliyor mu?
whuber

p_iS sabitlenir.
David B,

Mevcut cevapların ışığında, (a) p'lerin ve (b) karelerinin toplamı hakkındaki tahminleri paylaşabilir misiniz? Bu değerler seçeneklerinizi belirler.
whuber

@whuber: Bunlar vakalar arasında büyük ölçüde değişir. Bu tek seferlik bir modül değil, ne yazık ki yapıyorum.
David B,

@David Ama tipik aralıklar gibi bir rehberlik yapamaz mısın? Örneğin, p'nin toplamı 1 ile 100 arasında değişiyorsa, bu faydalı bilgilerdir ve bazı etkili çözümler önerir, ancak 10.000'e kadar çıkabiliyorsa bu bazı yaklaşımları hariç tutabilir.
whuber

Yanıtlar:


24

Genellikle bir Poisson'a onu bir Poisson'a parametresiyle mi?λ=pi

EDIT : Bunu haklılaştırmak için teorik bir sonuç ve dağıtımı için bir isim buldum : Buna Poisson binom dağılımı denir . Le Cam'in eşitsizliği , dağılımının bir Poisson dağılımı ile parametresi ile ne kadar yaklaştığını . Size bunun kalitesini yaklaşık olarak lerin karelerinin toplamının yönettiği , Steele (1994) ' e göre ifade ettiğini . Yani tüm senin ler artık onlar göründüğü gibi, makul küçük, oldukça iyi bir yaklaşım olmalıdır.λ = p i p i p iYλ=pipipi

EDIT 2 : 'Makul derecede küçük' ne kadar küçük? Bu, yaklaşıma ne kadar iyi ihtiyacınız olduğuna bağlı! Le Cam teoremi üzerine Wikipedia makalesi Yukarıda değinilen sonucun kesin şeklini verir: arasındaki mutlak farkların toplamı olasılık kütle fonksiyonu arasında (pmf) ve Poisson yukarıdaki dağılımının PMF toplamının iki katından fazla değildir nin karelerinin . Le Cam'in (1960) başka bir sonucunun kullanımı daha kolay olabilir: bu toplam aynı zamanda en büyük 18 katından fazla değildir . Oldukça az sayıda böyle sonuç var ... bir inceleme için Serfling (1978) 'e bakınız .p i p iYpipi


1
+1 Kötü bir fikir değil. Poissons'un küçük bir karışımı, sorunun nasıl netleştirildiğine bağlı olarak iyi bir iş çıkarır.
whuber

1
Gamma-Poisson karışımı olarak ortaya çıkan, ancak ortalamasından daha büyük bir varyansa sahip, ancak bu problemin ortalamasından daha küçük bir varyansa sahip olan negatif bir binom dağılımını önermeyi düşündüm. Buna dayanarak, herhangi bir Poissons karışımının işe yarayıp yaramadığından emin değilim, çünkü kesinlikle bu karışımların ortalamalarından daha büyük bir varyansa sahip olacağından ??
saat

@onestop Varyansın ortalamanın altında olduğu nerede söylendi? Bu ifadeyi kaçırdım.
whuber

Üzgünüm whuber, bu biraz kriptikti ama bu yorumlar o kadar fazla detaylandırmaya izin vermiyor. mpiktas'ın , ortalamadan küçük olan , . ortalama olarak çok küçük olsa da sadece biraz daha az , bu nedenle standart Poisson yeterince yakl. Belki de cevabımı yukarıda genişletmeliyim .. ama sonra konuşma dizisi kafa karıştırıcı hale geldi. p i p iBn=pi(1pi)pipi
giderebilirsiniz

ne demek istiyorsunuz ? değerlerini nasıl alabilirim ? X iXiXi
David B,

11

Bu soruna bir çözüm ararken soruna rastladım. Buradaki cevaplardan müthiş memnun değildim, ama bence size kesin dağıtım sağlayan oldukça basit bir çözüm var ve oldukça izlenebilir.

İki ayrık rastgele değişkenin toplamının dağılımı, yoğunluklarının evrimidir. Öyleyse ve bildiğiniz varsa o zaman hesaplayabilirsiniz:P ( X ) P ( Y )Z=X+YP(X)P(Y)

P(Z=z)=k=P(X=k)P(Y=zk)

(Bernoulli rasgele değişkenler için Tabii ki gitmek gerekmez oldukça sonsuza.)

RV'lerin toplamının tam dağılımını bulmak için bunu kullanabilirsiniz. İlk önce RV'lerin ikisini birlikte PDF'lerini sarmal olarak toplayın (örneğin [0.3, 0.7] * [0.6, 0.4] = [0.18, 0.54, 0.28]). Ardından bir sonraki Bernoulli PDF'nizle yeni dağıtımı düzenleyin (örneğin [0.18, 0.54, 0.28] * [0.5, 0.5] = [0.09, 0.36, 0.41, 0.14]). Tüm RV'ler eklenene kadar bunu tekrarlamaya devam edin. Ve işte, elde edilen vektör, tüm değişkenlerinizin toplamının tam PDF'sidir.

Bunun doğru sonuçları verdiğini simülasyonla doğruladım. Asimptotik varsayımlara dayanmaz ve Bernoulli problarının küçük olma zorunluluğu yoktur.

Bunu tekrarlanan evrişimden daha verimli yapmanın bir yolu da olabilir, ancak bunu çok derinden düşünmedim. Umarım bu birine yardımcı olur!


2
Bunu 40K değişkenleriyle denediniz mi? (Ne kadar saat veya gün süren hesaplama
süresinin

5
(+1) Bu fikri işe almanın bir yolunu buldum. İki teknik gerektirir: ilk önce, konvolüsyonlar için FFT kullanın; ikinci olarak, sıralı olarak bunları yapmak değil, ama bölme ve fethetmek: ayrık çiftler halinde yapmak, ve saire ayrık çiftleri, algoritma sonuçları gibi hemen terazi yerine için olasılıklar. Örneğin, Mathematica , tüm dağıtımı 40.000 olasılık için sadece 0,4 saniyede hesaplayabilir . (1.000.000, 10.5 saniyede hesaplanır.) Bir yorum yorumunda kod sağlayacağım. O ( n 2 ) nO(nlogn)O(n2)n
whuber

7
İşte Mathematica kodu: multinomial[p_] := Module[{lc, condense}, lc = Function[{s}, ListConvolve[s[[1]], s[[2]], {1, -1}, 0]]; condense = Function[{s}, Map[lc, Partition[s, 2, 2, {1, 1}, {{1}}]]]; Flatten[NestWhile[condense, Transpose[{1 - p, p}], Length[#] > 1 &]]] Uygulamak, gibi bir şey yapmak p = RandomReal[{0, 1}, 40000]; pp = multinomial[p];. Bu, olasılıkları yaratır pve daha sonra kesin dağılımı hesaplar pp. Not: Ortalamanın paşırı olmadığı durumlarda, dağılım normale çok yakındır: bu daha hızlı bir algoritmaya yol açar.
whuber

9

@onestop iyi referanslar sağlar. Poisson binom dağılımı hakkındaki Wikipedia makalesi, kesin olasılık dağılımını hesaplamak için özyinelemeli bir formül vermektedir; gerektiriyorsa çaba. Ne yazık ki, alternatif bir toplamdır, bu nedenle sayısal olarak kararsız olacaktır: bu hesaplamayı kayan nokta aritmetiği ile yapmak umutsuz. Neyse ki, küçük olduğunda, sadece az sayıda olasılık hesaplamanız gerekir, bu nedenle çaba gerçekten . Hesaplamayı rasyonel aritmetik ile yapmak için gerekli olan hassasiyet ( yani, tam olarak, sayısal kararsızlığın bir problem olmaması için), genel zamanlamanın yaklaşık olarak olacağı şekilde yeterince yavaş büyür.p i O ( n günlüğü ( i p i ) ) O ( n 2 )O(n2)piO(nlog(ipi))O(n2). Bu mümkün.

Bir test olarak, bu sorunun büyüklüğü olan kadar çeşitli değerleri için olasılık dizisini . Küçük değerleri için ( ) olasılıkların kesin hesaplanması için zamanlama saniye cinsinden ve dörtlü olarak ölçeklendirildi, bu yüzden için hesaplamayı , üç SD’nin üstüne çıkardım. ortalama (0, 1, ..., 22 başarı için olasılık). Tahmini zamanla aynı doğrultuda (Mathematica 8 ile) 80 dakika sürdü. (Ortaya çıkan olasılıklar, payları ve paydaları yaklaşık 75.000 hane olan kesirlerdir!) Bu, hesaplamanın yapılabileceğini gösterir.n , n = 2 16 , n , n = 2 12 , n = 2 16pi=1/(i+1)nn=216nn=212n=216

Bir alternatif uzun bir simülasyon çalıştırmaktır (bir milyon denemenin yapması gerekir). Bu sadece bir kez yapılmalı çünkü değişmiyor.pi


9

(Bu yaklaşım, yayınladığım bir çözüm de dahil olmak üzere, yayınlanan diğer çözümlerden bağımsız olduğu için, ayrı bir yanıt olarak öneriyorum).

P'nin toplamının küçük olması koşuluyla tam dağılımı saniyeler (veya daha az) olarak hesaplayabilirsiniz.

Dağıtımın yaklaşık olarak Gauss (bazı senaryolar altında) veya Poisson (diğer senaryolar altında) olabileceği yönündeki önerileri gördük. Her iki durumda da, onun ortalama toplamı ve varyansının toplamı olduğunu . Bu nedenle, dağılım, ortalamasının birkaç standart sapması içinde yoğunlaşacaktır, örneğin, 4 ile 6 arasında olan SD'leri veya bunların etrafında. Bu nedenle, sadece toplam olasılığı hesaplamak gerek (bir tam sayı) eşit için ile . çoğup i σ 2 p i ( 1 - p i ) z z X k k = μ - z σ k = μ + z σ p i σ 2 μ k [ μ - z μpiσ2pi(1pi)zzXkk=μzσk=μ+zσpiküçük, yaklaşık olarak eşittir (ancak biraz daha az) , bu nedenle muhafazakar olmak için için hesaplamayı aralığında yapabiliriz. . Örneğin, toplamı eşittir ve tercih , biz kapağı hesaplama gerekir de kuyrukları kapsayacak şekilde içinde = , bu sadece 28 değerdir.σ2μkpi9z=6k[9-6[μzμ,μ+zμ]pi9z=6k[0,27][969,9+69][0,27]

Dağılım özyinelemeli olarak hesaplanır . , bu Bernoulli değişkenlerinin ilk toplamının dağılımı olsun . Herhangi biri için gelen ile , ilk toplamı değişkenleri eşit olabilir iki eşsiz ortak yolla: İlk toplamı değişkenlerinin eşit ve olan ya da önce toplamı değişken eşittir ve olan . bu nedenle i j 0 i + 1 i + 1 j i j i + 1 st 0 i j - 1 i + 1 st 1fiij0i+1i+1jiji+1st0ij1i+1st1

fi+1(j)=fi(j)(1pi+1)+fi(j1)pi+1.

Bu hesaplamayı sadece integrali için ila aralığında yapmamız gerekirmax ( 0 , μ - z j μ+zmax(0,μzμ) μ+zμ.

Çoğu zaman küçük (ama hala ayırt olan makul hassasiyetle), bu yaklaşım daha önce yayınlanan çözümde kullanılan hatalar roundoff yüzen noktanın büyük birikimi ile rahatsız olmayan. Bu nedenle, genişletilmiş hassasiyetli hesaplama gerekli değildir. Örneğin, olasılık dizisi için bir çift duyarlıklı hesaplama ( , ile arasındaki toplamların hesaplanmasını gerektirir. 1 - p i 1 2 16 p i = 1 / ( i + 1 ) μ = 10.6676 0 31 3 × 10 - 15 z = 6 3.6 x 10 - 8pi1pi1216pi=1/(i+1)μ=10.6676031) Mathematica 8 ile 0.1 saniye ve Excel 2002 ile 1-2 saniye sürdü (ikisi de aynı cevapları aldı). Dörtlü hassasiyetle tekrarlamak (Mathematica'da) yaklaşık 2 saniye sürdü, ancak herhangi bir cevabı fazla değiştirmedi . Dağıtımı SD'de üst kuyruğa sonlandırmak, toplam olasılığın yalnızca sini kaybetti .3×1015z=63.6×108

0 ile 0.001 ( ) arasındaki 40.000 çift duyarlıklı rastgele değer dizisi için başka bir hesaplama Mathematica ile 0.08 saniye sürdü.μ=19.9093

Bu algoritma paralelleştirilebilir. Sadece kümesini kırmak yaklaşık olarak eşit boyut, işlemci başına bir ayrık alt-grup halinde. Her alt küme için dağıtımı hesaplayın, ardından tam bir cevap almak için sonuçları toplayın (isterseniz, bu hızlanma muhtemelen gereksiz olsa da FFT kullanarak). Bu bile pratik kullanımı kolaylaştırır büyük olur sen (kuyrukları içine uzaklarda bakmak gerektiğinde, büyük), ve / veya büyüktür. μ z npiμzn

işlemcili bir değişken dizisinin zamanlaması , olarak ölçeklenir . Mathematica'nın hızı saniyede bir milyon civarındadır. Örneğin, ile işlemci, değişkenlerin, toplam olasılık ve çıkıyor üst kuyruğun içine standart sapmalar, milyon: hesaplama süresi için birkaç saniyelik bir rakam. Bunu derlerseniz, performansı iki büyüklük derecesinde hızlandırabilirsiniz.m O ( n ( μ + z nmm=1n=20000μ=100z=6n(μ+zO(n(μ+zμ)/m)m=1n=20000μ=100z=6n(μ+zμ)/m=3.2

Bu arada, bu test durumlarında, dağılım grafikleri açıkça bazı pozitif çarpıklıklar göstermiştir: normal değillerdir.

Kayıt için, işte bir Mathematica çözümü:

pb[p_, z_] := Module[
  {\[Mu] = Total[p]},
  Fold[#1 - #2 Differences[Prepend[#1, 0]] &, 
   Prepend[ConstantArray[0, Ceiling[\[Mu] + Sqrt[\[Mu]] z]], 1], p]
  ]

( NB bu site tarafından uygulanan kodlama renk Mathematica kodu için anlamsızdır Özellikle, gri şeyler. Değil yorumlar: tüm çalışma yapıldığı yerle ilgili bu!)

Kullanımına bir örnek

pb[RandomReal[{0, 0.001}, 40000], 8]

Düzenle

Bir Rçözüm, bu test durumunda Mathematica'dan on kat daha yavaş - belki de en iyi şekilde kodlamadım - ama yine de hızlı bir şekilde çalışıyor (yaklaşık bir saniye):

pb <- function(p, z) {
  mu <- sum(p)
  x <- c(1, rep(0, ceiling(mu + sqrt(mu) * z)))
  f <- function(v) {x <<- x - v * diff(c(0, x));}
  sapply(p, f); x  
}
y <- pb(runif(40000, 0, 0.001), 8)
plot(y)

PDF'nin arsa


8

Farklı ile en iyi bahsinizin bence normal yaklaşımdır. Let . SonraB n = n i = 1 p i ( 1 - p i )piBn=i=1npi(1pi)

Bn1/2(i=1nXii=1npi)N(0,1),
olarak her biri için koşuluyla,nε>0

Bn1i=1nE((Xipi)21{|Xipi|>εBn1/2})0,
olarak , eğer tutacaktır Bernoulli değişkenler için olan . Bu, standart normale uyum için yeterli ve gerekli olan Lindeberg koşulu.nBn

Güncelleme: Yaklaşıklık hatası aşağıdaki eşitsizlikten hesaplanabilir:

supx|Fn(x)Φ(x)|ALn,
burada ve ölçeklendirilmiş ve ortalanmış toplamının cdf olan .
Ln=Bn3/2i=1nE|Xipi|3
FnXi

Whuber'un belirttiği gibi, yakınsama kötü davranışlı için yavaş olabilir . İçin Elimizdeki ve . Sonra alarak, standart normal cdf'den maksimum sapmanın bir kuyruklu 0.3 olduğunu anlıyoruz.pipi=11+iBnlnnLn(lnn)1/2n=216


3
P_i arttıkça sıfıra yaklaştığında bu doğru değildir. Aksi takdirde, Poisson dağılımının Normal olduğunu kanıtladınız!
whuber

1
Bu nedenle olması gerekir . Eğer sıfıra daha hızlı yaklaşırsa , . Bnpi1/ilimBn<
mpiktas

@mpiktas haklı. Poisson dağılımına benzetme burada pek uygun değil.

Bu arada, ikinci paragrafta bu korkunç durumu kontrol etmedim.

@G. Jay Kerns Poisson analojisinin kusurlu olduğuna katılıyorum, ancak bunun iyi bir rehberlik sağladığını düşünüyorum. Bir p dizisi, p_i = 10 ^ {- j}, ki burada j, i'nin büyüklük sırasıdır (i <= 10 için 1'e, i <= 100 vb. İçin 2'ye eşit). N = 10 ^ k olduğunda, p'nin% 90'ı 10 ^ {- k} 'ye eşittir ve toplamları 0.9 beklentisiyle Poisson görünür. Başka bir% 9 10 ^ {1-k} eşit ve bunların toplamı (aynı beklentisi ile) Poisson görünüyor. Böylece dağılım yaklaşık olarak k Poisson değişkenlerinin toplamı gibi görünür. Belli ki Normal yakınında hiçbir yerde yok. Bu nedenle “canavar durum” için ihtiyaç duyulur.
whuber

4

Açıklamanıza ve yorumlardaki tartışmaya dayanarak, ve varyansı anlamına . dağılımının şekli nihayetinde davranışına bağlı . Uygun bir şekilde "güzel" (pek çoğunun gerçekten sıfıra yakın olmadığı anlamında), dağılımı yaklaşık olarak normal olacaktır (sağda ). Fakat sıfıra doğru başladığında dağılım sola kayar ve doğru yükseldiğindeYipiipi(1pi)YpipiYpiipiy-axis, @whuber ve @onestop'un belirttiği gibi, daha az normal ve çok daha fazla Poisson gibi görünmeye başlayacak.

Yorumunuza itibaren ben bu sonuncu durumda ne oluyor, ama gerçekten hakkında görsel ekran veya özet istatistikler çeşit olmadan emin olamaz şüpheli "dağıtım Poisson bakar" 'nin. @Whuber yaptığı gibi yeterince patolojik davranışı ile o, ancak Not 'sen ürkütücü şeyler her türlü karışım dağılımları olan sınırlar gibi, gerçekleşmesi olabilir bu. Ben burada böyledir şüpheliyim ama yine, gerçekten ne olduğuna bağlıdır 'ın yapıyoruz.ppp

"Nasıl verimli bir şekilde modellenebilir?" Sorusundaki asıl soruya gelince, sizin için hiyerarşik bir model önerecektim, ancak eğer sabitleri sabitse bu pek uygun değil . Kısacası, nin histogramına bir göz atın ve gördüklerinize dayanarak ilk tahminde bulunun. Senin eğer @mpiktas tarafından cevap (ve uzatma @csgillespie yoluyla) öneriyoruz 'nin de sola kalabalık değil ve bunlar sol ly kalabalık ediyorsanız @onestop tarafından cevabını öneriyoruz.ppp

Bu arada, burada ben bu sorunla etrafında oynarken kullanılan R kodu şudur: eğer kod gerçekten uygun değildir 'nin çok küçük ama kolay için farklı modellerde fiş olmalıdır (dahil spooky- deli olanlar) nihai dağılımına ne olduğunu görmek için .ppY

set.seed(1)
M <- 5000
N <- 15000
p <- rbeta(N, shape1 = 1, shape2 = 10)
Y <- replicate(M, sum(rbinom(N, size = 1, prob = p)))

Şimdi sonuçlara bir göz atın.

hist(Y)
mean(Y)
sum(p)
var(Y)
sum(p*(1 - p))

İyi eğlenceler; Yaptığıma eminim.


Neden " çok küçükse kod gerçekten uygun değil " diyorsunuz? Ortalama vererek shape1 = 1, shape2 = 999 ile örneğin bana iş OK, görünüyor 0.001. pp
giderebilirsiniz

@onestop ne demek istediğim yukarıda belirtilen (1,10) seçim , normal yaklaşımın oldukça iyi göründüğü noktaya kadar çok küçük değerleri vermez . Eğer bir kişi Poisson'un ortaya çıkmasını isterse, o zaman başka bir şey denemeleri gerekirdi; (1.999) seçiminiz iyi bir iş çıkarmış gibi geliyor, evet? Ben de 0.25 yapmayı düşünmüştüm , ancak, bunu denemedim. pα<1

2

Diğer cevapların harika olduğunu düşünüyorum, ancak olasılığınızı tahmin etmenin herhangi bir Bayesian yöntemini görmedim. Cevabın açık bir formu yok, fakat olasılık R kullanılarak simüle edilebilir.

İşte girişim:

Xi|piBer(pi)

piBeta(α,β)

Kullanılması wikipedia biz tahminlerini alabilirsiniz ve (parametre tahmin bölümüne bakınız).α^β^

Şimdi için çizer üretebilirsiniz oluşturmak, adım dan ve ardından oluşturmak dan . Bu kere yaptıktan sonra , . Bu, Y üretimi için tek bir döngüdür, (büyük) defalarca yapın ve Ys için histogram Y'nin yoğunluğunun tahmini olacaktır.ithpiBeta(α^,β^)XiBer(pi)NY=XiMM

Prob[Yy]=#YyM

Bu analiz sadece sabit olmadığında geçerlidir . piBuradaki durum böyle değil. Fakat birisinin benzer bir sorusu olması durumunda burada bırakacağım.


1
Bazı safcılar için bu Bayesian olmayabilir. Bu aslında ampirik Bayesian, ancak R'deki olasılıklarınızı simüle etmenin hızlı bir yoludur;
suncoolsu

1
P_i verilirken neden önceliklere ihtiyacınız var?
whuber

@whuber. Teşekkürler, haklısın. Sabit kısmı özledim. David'in sadece değerini (qx) / c olarak kullandığını ve sabit olmadığını düşündüm . Cevabımı düzenleyeceğim. pi
suncoolsu

@suncoolsu - "beta-bernoulli" dağılımının başka bir dağılımı olduğunu, ancak yerini . Bu, . Yani temelde karıştırarak binom yaklaşımını burada uygulamanız gerekir. . piαα+β(1xi)B(α+xi,β+1xi)B(α,β)=αxiβ1xiα+βpip1=p2==pn
Olasılık

2

Diğer cevaplarda da belirtildiği gibi, tarif ettiğiniz olasılık dağılımı Poisson Binom dağılımıdır. CDF'yi hesaplamak için etkili bir yöntem Hong, Yili'de verilmiştir . Poisson binom dağılımı için dağılım fonksiyonunun hesaplanması üzerine .

Yaklaşım, karakteristik fonksiyonun DFT'sini (ayrık Fourier dönüşümü) verimli bir şekilde hesaplamaktır.

Poisson binom dağılımının karakteristik işlevi ( ) ile verilir.ϕ(t)=jn[(1pj)+pjeit]i=1

Algoritma şudur:

  1. Let için .zj(k)=1pj+pjcos(ωk)+ipjsin(ωk)ω=2πn+1
  2. Tanımla tanımlama .xk=exp{jnlog(zj(k))}x0=1
  3. için hesaplayın . Dinlenmeyi elde etmek için simetri kullanın.xkk=1,,[n/2]x¯k=xn+1k
  4. vektörüne FFT uygulayın .1n+1<x0,x1,,xn>
  5. CDF'yi almak için kümülatif sonuç toplamını alın.

Algoritma, poibin R paketinde mevcuttur.

Bu yaklaşım özyinelemeli formülasyonlardan çok daha iyi sonuçlar verir, çünkü sayısal kararlılığa sahip değillerdir.


3
Bu yazının sadece özetine erişimim var, ancak kulağa istatistik.stackexchange.com/questions/41247/… adresinde kullandığım yöntemi uyguluyor ve performansının bu konudaki diğer metotlarla karşılaştırmasını anlatıyor gibi görünüyor. Makalenin neyi başardığı hakkında daha fazla şey biliyorsanız, bir özet okumaktan memnuniyet duyarız.
whuber

1

Poisson yaklaşımını uygulamanızı öneririm. İyi bilinir (bkz. AD Barbour, L. Holst ve S. Janson: Poisson Yaklaşımı), ve rv arasındaki toplam değişkenlik mesafesinin parametresiyle Poisson dağılımına sahip olduğu küçük: Bilgi ayrışması (Kullback-Leibler mesafesi, P. görebilirsiniz. Harremoёs: Bilgi Ayırımındaki Poisson Dağılımına Yakınsama. Hazırlık no. 2, Şubat 2003, Kopenhag Üniversitesi, Matematik Bölümü) : //www.harremoes.dk/Peter/poisprep.pdfYZipi

supA|P(YA)P(ZA)|min{1,1ipi}ipi2.
ve P.Harremoёs'in diğer yayınları), ki-kare mesafe (bakınız Borisov ve Vorozheikin https://link.springer.com/article/10.1007%2Fs11202-008-0002-3 ) ve diğer bazı mesafeler.

Yaklaşımın doğruluğu için Sınırsız fonksiyonlar için sen Borisov ve Ruzankin görebilirsiniz https://projecteuclid.org/euclid.aop/1039548369 . Ayrıca, bu makale olasılıklar için basit bir sınır içeriyor: Tüm , |Ef(Y)Ef(Z)|fA

P(YA)1(1maxipi)2P(ZA).


1
+1 Yaklaşım sınırları hakkında faydalı nicel bilgiler için teşekkür ederiz. Sitemize hoşgeldiniz!
whuber
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.