Làm thế nào tôi có thể mô hình hiệu quả tổng các biến ngẫu nhiên Bernoulli?


38

Tôi đang lập mô hình một biến ngẫu nhiên ( ) là tổng của một số biến ngẫu nhiên Bernoulli độc lập ~ 15-40k ( ), mỗi biến có xác suất thành công khác nhau ( ). Chính thức, trong đó và \ Pr (X_i = 0) = 1-p_i .YXipiY=XiPr(Xi=1)=piPr(Xi=0)=1pi

Tôi quan tâm đến việc trả lời nhanh các truy vấn, chẳng hạn như Pr(Y<=k) (trong đó k được đưa ra).

Hiện tại, tôi sử dụng mô phỏng ngẫu nhiên để trả lời các truy vấn như vậy. Tôi rút ngẫu nhiên từng Xi theo p_i của nó pi, sau đó tổng tất cả các giá trị Xi để lấy Y . Tôi lặp lại quá trình này vài nghìn lần và trả về tỷ lệ số lần Pr(Yk) .

Rõ ràng, điều này không hoàn toàn chính xác (mặc dù độ chính xác tăng lên rất nhiều khi số lượng mô phỏng tăng lên). Ngoài ra, có vẻ như tôi có đủ dữ liệu về phân phối để tránh các mô phỏng sử dụng. Bạn có thể nghĩ ra một cách hợp lý để có được xác suất chính xác Pr(Yk) không?

ps

Tôi sử dụng Perl & R.

CHỈNH SỬA

Sau khi trả lời tôi nghĩ có thể cần một số giải thích. Tôi sẽ mô tả ngắn gọn các thiết lập của vấn đề của tôi. Cho là một bộ gen hình tròn với chu vi cvà một bộ nphạm vi được ánh xạ tới nó. Ví dụ, c=3*10^9ranges={[100,200],[50,1000],[3*10^9-1,1000],...}. Lưu ý tất cả các phạm vi được đóng (cả hai đầu được bao gồm). Cũng lưu ý rằng chúng tôi chỉ giao dịch với số nguyên (toàn bộ đơn vị).

Tôi đang tìm kiếm các khu vực trên vòng tròn được che chắn bởi các nphạm vi được ánh xạ nhất định . Vì vậy, để kiểm tra xem một phạm vi độ dài nhất định xtrên vòng tròn có được che giấu hay không, tôi kiểm tra giả thuyết rằng các nphạm vi được ánh xạ ngẫu nhiên. Xác suất một phạm vi độ dài được ánh xạ q>xsẽ bao gồm đầy đủ phạm vi độ dài đã cho x(q-x)/c. Xác suất này trở nên khá nhỏ khi clớn và / hoặc qnhỏ. Điều tôi quan tâm là số lượng phạm vi (ngoài n) bao gồm x. Đây là cách Yhình thành.

Tôi kiểm tra giả thuyết không có giá trị của tôi so với phương án thay thế một phía (bí mật). Cũng lưu ý rằng tôi đang thử nghiệm nhiều giả thuyết ( xđộ dài khác nhau ) và chắc chắn sẽ sửa cho điều này.


P_i của bạn có được cố định trong suốt bài tập mô hình hóa hay chúng có thể thay đổi từ phép tính này sang phép tính tiếp theo không?
whuber

Các p_is được cố định.
David B

Trước các câu trả lời hiện tại, bạn có thể chia sẻ ước tính của (a) tổng của p và (b) tổng bình phương của chúng không? Những giá trị này xác định lựa chọn của bạn.
whuber

@whuber: những khác nhau rất nhiều giữa các trường hợp. Đây không phải là mô-đun một lần tôi đang tạo (thật không may).
David B

@David Nhưng bạn không thể đưa ra một số hướng dẫn, chẳng hạn như phạm vi điển hình? Chẳng hạn, nếu tổng các phạm vi trong khoảng từ 1 đến 100 đó là thông tin hữu ích và gợi ý một số giải pháp hiệu quả, nhưng nếu nó có thể lên tới 10.000 thì có thể loại trừ một số cách tiếp cận.
whuber

Câu trả lời:


24

Nếu nó thường giống với Poisson , bạn đã thử xấp xỉ nó bằng Poisson với tham số chưa?λ=pi

EDIT : Tôi đã tìm thấy một kết quả lý thuyết để chứng minh điều này, cũng như một tên cho phân phối của : nó được gọi là phân phối nhị thức Poisson . Bất đẳng thức của Le Cam cho bạn biết mức độ phân phối của nó gần đúng bằng cách phân phối Poisson với tham số . Nó cho bạn biết chất lượng của khoảng này được chi phối bởi tổng bình phương của s, để diễn giải Steele (1994) . Vì vậy, nếu tất cả các của bạn đều nhỏ một cách hợp lý, vì hiện tại chúng có vẻ như vậy, nó sẽ là một xấp xỉ khá tốt.λ = Σ p i p i p iYλ=pipipi

EDIT 2 : Làm thế nào nhỏ là "nhỏ hợp lý"? Chà, điều đó phụ thuộc vào việc bạn cần sự gần đúng như thế nào! Các bài viết trên Wikipedia về định lý của Le Cam cung cấp cho các hình thức chính xác của kết quả tôi nêu ở trên: tổng các chênh lệch tuyệt đối giữa hàm xác suất tin đại chúng (PMF) của và PMF của việc phân bố trên Poisson là không nhiều hơn gấp đôi so với tổng của các hình vuông của s. Một kết quả khác từ Le Cam (1960) có thể dễ sử dụng hơn: tổng này cũng không quá 18 lần so với lớn nhất . Có khá nhiều kết quả như vậy ... xem Serfling (1978) để xem xét.p i p iYpipi


1
+1 Không phải là một ý tưởng tồi. Có khả năng một hỗn hợp nhỏ Poissons sẽ làm tốt công việc, tùy thuộc vào cách làm rõ câu hỏi.
whuber

1
Tôi đã nghĩ về việc đề xuất phân phối nhị thức âm, phát sinh dưới dạng hỗn hợp Gamma-Poisson, nhưng có phương sai lớn hơn giá trị trung bình của nó, trong khi vấn đề này có phương sai nhỏ hơn giá trị trung bình. Dựa vào đó, tôi không chắc liệu có hỗn hợp Poissons nào hoạt động không, vì chắc chắn bất kỳ hỗn hợp nào như vậy sẽ có phương sai lớn hơn ý nghĩa của nó ??
vào

@onestop Trường hợp nào nói rằng phương sai nhỏ hơn giá trị trung bình? Tôi đã bỏ lỡ tuyên bố đó.
whuber

Xin lỗi whuber, đó là một chút khó hiểu nhưng những bình luận này không cho phép nhiều công phu. mpiktas's là phương sai, nhỏ hơn giá trị trung bình, . Tuy nhiên, chỉ ít hơn một chút nếu các trung bình rất nhỏ, do đó, Poisson tiêu chuẩn có thể đủ tốt. Có lẽ tôi nên mở rộng câu trả lời của mình ở trên .. nhưng sau đó chủ đề hội thoại trở nên khó hiểu. Σ p i p iBn=pi(1pi)pipi
onestop

Bạn có ý nghĩa gì với ? Làm cách nào để nhận giá trị ? X iXiXi
David B

11

Tôi đã gặp câu hỏi của bạn trong khi tìm kiếm một giải pháp cho vấn đề này. Tôi không thực sự hài lòng với câu trả lời ở đây, nhưng tôi nghĩ rằng có một giải pháp khá đơn giản mang lại cho bạn sự phân phối chính xác và khá dễ hiểu.

Phân phối tổng của hai biến ngẫu nhiên rời rạc là tích chập mật độ của chúng. Vì vậy, nếu bạn có , nơi bạn biết và thì bạn có thể tính toán:P ( X ) P ( Y )Z=X+YP(X)P(Y)

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

(Tất nhiên cho các biến ngẫu nhiên Bernoulli bạn không cần phải đi khá đến vô cùng.)

Bạn có thể sử dụng điều này để tìm phân phối chính xác của tổng số RV của bạn. Đầu tiên tổng hợp hai trong số các RV với nhau bằng cách tạo các tệp PDF của chúng (ví dụ: [0,3, 0,7] * [0,6, 0,4] = [0,18, 0,54, 0,28]). Sau đó, xác nhận phân phối mới đó với Bernoulli PDF tiếp theo của bạn (ví dụ: [0,18, 0,54, 0,28] * [0,5, 0,5] = [0,09, 0,36, 0,41, 0,14]). Tiếp tục lặp lại điều này cho đến khi tất cả các RV đã được thêm vào. Và voila, vectơ kết quả là PDF chính xác của tổng tất cả các biến của bạn.

Tôi đã xác minh với mô phỏng rằng điều này tạo ra kết quả chính xác. Nó không dựa trên bất kỳ giả định tiệm cận nào, và không có yêu cầu nào cho thấy các probs Bernoulli là nhỏ.

Cũng có thể có một số cách để làm điều này hiệu quả hơn tích chập lặp đi lặp lại, nhưng tôi chưa nghĩ về nó rất sâu sắc. Tôi hy vọng điều này hữu ích cho ai đó!


2
Bạn đã thử điều này với 40K biến ?? (Tôi tự hỏi phải mất bao nhiêu giờ hoặc ngày tính toán ...)
whuber

5
(+1) Tôi đã tìm ra cách để thực hiện ý tưởng này. Nó đòi hỏi hai kỹ thuật: thứ nhất, sử dụng FFT cho các kết cấu; thứ hai, không thực hiện chúng một cách tuần tự, nhưng phân chia và chinh phục: thực hiện chúng theo các cặp khác nhau, sau đó thực hiện các kết quả theo các cặp khác nhau, v.v ... Thuật toán hiện quy mô là thay vì cho xác suất. Chẳng hạn, Mathicala có thể tính toán toàn bộ phân phối cho 40.000 xác suất chỉ trong 0,4 giây. (1.000.000 được tính trong 10,5 giây.) Tôi sẽ cung cấp mã trong một nhận xét tiếp theo. O ( n 2 ) nO(nlogn)O(n2)n
whuber

7
Đây là Mathematica mã: 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 &]]] Để áp dụng nó, làm một cái gì đó giống như p = RandomReal[{0, 1}, 40000]; pp = multinomial[p];. Điều này tạo ra xác suất pvà sau đó tính toán phân phối chính xác pp. NB Khi giá trị trung bình pkhông cực đoan, phân phối rất gần với mức bình thường: điều đó dẫn đến một thuật toán nhanh hơn nhiều.
whuber

9

@onestop cung cấp tài liệu tham khảo tốt. Bài viết Wikipedia về phân phối nhị thức Poisson đưa ra một công thức đệ quy để tính toán phân phối xác suất chính xác; nó đòi hỏi nỗ lực . Thật không may, đó là một tổng xen kẽ, vì vậy nó sẽ không ổn định về mặt số lượng: thật vô vọng khi thực hiện phép tính này với số học dấu phẩy động. May mắn thay, khi nhỏ, bạn chỉ cần tính toán một số lượng nhỏ xác suất, vì vậy nỗ lực thực sự tỷ lệ thuận với . Độ chính xác cần thiết để thực hiện phép tính với số học hợp lý ( nghĩa là chính xác, sao cho độ không ổn định của số không phải là vấn đề) tăng chậm đến mức thời gian tổng thể vẫn có thể xấp xỉp i O ( n log ( i p i ) ) O ( n 2 )O(n2)piO(nlog(ipi))O(n2). Điều đó khả thi.

Để thử nghiệm, tôi đã tạo ra một mảng xác suất cho các giá trị khác nhau của lên đến , đó là kích thước của vấn đề này. Đối với các giá trị nhỏ của (tối đa ), thời gian để tính toán xác suất chính xác là tính bằng giây và được chia tỷ lệ theo phương pháp bậc hai, vì vậy tôi đã mạo hiểm tính toán cho cho đến ba SD trên trung bình (xác suất cho 0, 1, ..., 22 thành công). Phải mất 80 phút (với Mathicala 8), phù hợp với thời gian dự đoán. (Xác suất kết quả là các phân số có tử số và mẫu số có khoảng 75.000 chữ số mỗi ô!) Điều này cho thấy phép tính có thể được thực hiện.n n = 2 16 n n = 2 12 n = 2 16pi=1/(i+1)nn=216nn=212n=216

Một cách khác là chạy một mô phỏng dài (một triệu thử nghiệm phải làm). Nó chỉ phải được thực hiện một lần, bởi vì không thay đổi.pi


9

(Bởi vì cách tiếp cận này độc lập với các giải pháp khác được đăng, bao gồm một giải pháp mà tôi đã đăng, tôi sẽ cung cấp nó như một phản hồi riêng biệt).

Bạn có thể tính toán phân phối chính xác trong vài giây (hoặc ít hơn) với điều kiện tổng của p là nhỏ.

Chúng tôi đã thấy các đề xuất rằng phân phối có thể xấp xỉ là Gaussian (trong một số kịch bản) hoặc Poisson (trong các kịch bản khác). Dù bằng cách nào, chúng ta biết ý nghĩa của nó là tổng của và phương sai của nó là tổng của . Do đó, phân phối sẽ được tập trung trong một vài độ lệch chuẩn của giá trị trung bình của nó, giả sử SD với trong khoảng từ 4 đến 6 hoặc khoảng đó. Do đó, chúng ta chỉ cần tính xác suất để tổng bằng (một số nguyên) với thông qua . Khi hầu hết cácμpiσ2pi(1pi)zzXkk=μzσk=μ+zσpilà nhỏ, xấp xỉ bằng (nhưng hơi nhỏ hơn) , vì vậy để bảo thủ, chúng ta có thể tính toán cho trong khoảng . Ví dụ: khi tổng bằng và chọn để che đuôi tốt, chúng ta sẽ cần tính toán để bao phủ trong = , chỉ có 28 giá trị.σ2μk[μzμ,μ+zμ]pi9z=6k[969,9+69][0,27]

Phân phối được tính toán đệ quy . Đặt là phân phối tổng của đầu tiên của các biến Bernoulli này. Với mọi từ đến , tổng của các biến đầu tiên có thể bằng theo hai cách loại trừ lẫn nhau: tổng của các biến đầu tiên bằng và là hoặc nếu không, tổng của các biến đầu tiên bằng và là . vì thếfiij0i+1i+1jiji+1st0ij1i+1st1

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

Chúng ta chỉ cần thực hiện tính toán này cho tích phân trong khoảng từ đếnj max(0,μzμ) μ+zμ.

Khi hầu hết các đều nhỏ (nhưng vẫn có thể phân biệt được với với độ chính xác hợp lý), cách tiếp cận này không bị ảnh hưởng bởi sự tích lũy rất lớn của các lỗi làm tròn điểm nổi được sử dụng trong giải pháp tôi đã đăng trước đây. Do đó, tính toán độ chính xác mở rộng là không cần thiết. Ví dụ: phép tính chính xác kép cho một mảng có xác suất ( , yêu cầu tính toán cho xác suất của các khoản tiền trong khoảng từ đếnpi1pi1216pi=1/(i+1)μ=10.6676031) mất 0,1 giây với Mathicala 8 và 1-2 giây với Excel 2002 (cả hai đều có cùng câu trả lời). Lặp lại nó với độ chính xác gấp bốn lần (trong Mathicala) mất khoảng 2 giây nhưng không thay đổi bất kỳ câu trả lời nào quá . Chấm dứt phân phối tại SD vào đuôi trên chỉ mất trong tổng xác suất.3×1015z=63.6×108

Một tính toán khác cho một mảng gồm 40.000 giá trị ngẫu nhiên chính xác gấp đôi trong khoảng từ 0 đến 0,001 ( ) mất 0,08 giây với .μ=19.9093

Thuật toán này là song song. Chỉ cần chia tập hợp thành các tập hợp khác nhau có kích thước xấp xỉ bằng nhau, mỗi bộ cho mỗi bộ xử lý. Tính toán phân phối cho mỗi tập hợp con, sau đó xác nhận kết quả (sử dụng FFT nếu bạn muốn, mặc dù việc tăng tốc này có thể là không cần thiết) để có được câu trả lời đầy đủ. Điều này làm cho nó thực tế để sử dụng ngay cả khi trở nên lớn, khi bạn cần nhìn xa ra đuôi ( lớn) và / hoặc lớn.piμzn

Thời gian cho một mảng gồm biến với bộ xử lý tỷ lệ là . Tốc độ của Mathematica là một triệu mỗi giây. Ví dụ: với bộ xử lý , biến thiên, tổng xác suất và đi ra độ lệch chuẩn vào đuôi trên, triệu: tính một vài giây thời gian tính toán. Nếu bạn biên dịch cái này, bạn có thể tăng tốc hiệu suất hai bậc độ lớn.nmO(n(μ+zμ)/m)m=1n=20000μ=100z=6n(μ+zμ)/m=3.2

Ngẫu nhiên, trong các trường hợp thử nghiệm này, các biểu đồ phân phối rõ ràng cho thấy một số sai lệch tích cực: chúng không bình thường.

Đối với bản ghi, đây là một giải pháp Mathicala:

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 Mã màu được áp dụng bởi trang web này là vô nghĩa đối với mã Mathicala. Đặc biệt, nội dung màu xám không phải là nhận xét: đó là nơi tất cả công việc được thực hiện!)

Một ví dụ về việc sử dụng nó là

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

Chỉnh sửa

Một Rgiải pháp chậm hơn mười lần so với Mathicala trong trường hợp thử nghiệm này - có lẽ tôi chưa mã hóa nó một cách tối ưu - nhưng nó vẫn thực thi nhanh chóng (khoảng một giây):

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)

Lô đất PDF


8

Với khác nhau, đặt cược tốt nhất của bạn tôi nghĩ là xấp xỉ bình thường. Đặt . Sau đópiBn=i=1npi(1pi)

Bn1/2(i=1nXii=1npi)N(0,1),
là , miễn là với mỗinε>0

Bn1i=1nE((Xipi)21{|Xipi|>εBn1/2})0,
là , điều này đối với các biến Bernoulli sẽ giữ nếu . Đây là điều kiện được gọi là Lindeberg, đủ và cần thiết để hội tụ đến tiêu chuẩn thông thường.nBn

Cập nhật: Lỗi xấp xỉ có thể được tính từ bất đẳng thức sau:

supx|Fn(x)Φ(x)|ALn,
trong đó và là cdf của tổng được chia tỷ lệ và trung tâm .
Ln=Bn3/2i=1nE|Xipi|3
FnXi

Như whuber đã chỉ ra, sự hội tụ có thể chậm đối với cư xử xấu . Với chúng ta có và . Sau đó, lấy chúng ta nhận được rằng độ lệch tối đa so với cdf bình thường tiêu chuẩn là một con số khổng lồ 0,3.pipi=11+iBnlnnLn(lnn)1/2n=216


3
Điều này không đúng khi p_i tiếp cận 0 khi tôi tăng. Mặt khác, bạn vừa chứng minh rằng phân phối Poisson là Bình thường!
whuber

1
Đó là lý do tại sao nó phải là . Nếu tiếp cận 0 với tốc độ nhanh hơn , . Bnpi1/ilimBn<
mpiktas

@mpiktas nói đúng. Sự tương tự với phân phối Poisson không hoàn toàn phù hợp ở đây.

Nhân tiện, tôi đã không thực sự kiểm tra tình trạng quái dị đó trong đoạn thứ hai.

@G. Jay Kerns Tôi đồng ý rằng sự tương tự với Poisson là không hoàn hảo, nhưng tôi nghĩ nó mang lại hướng dẫn tốt. Hãy tưởng tượng một chuỗi p's, p_i = 10 ^ {- j}, trong đó j là thứ tự độ lớn của i (bằng 1 với i <= 10, đến 2 cho i <= 100, v.v.). Khi n = 10 ^ k, 90% của p bằng 10 ^ {- k} và tổng của chúng trông Poisson với kỳ vọng 0,9. 9% khác bằng 10 ^ {1-k} và tổng của chúng trông Poisson (với cùng kỳ vọng). Do đó, phân phối trông gần giống như một tổng số biến thiên k Poisson. Rõ ràng là không có nơi nào gần Bình thường. Sự cần thiết của "điều kiện quái dị."
whuber

4

Chà, dựa trên mô tả của bạn và cuộc thảo luận trong các bình luận, rõ ràng có nghĩa là và variance . Hình dạng phân phối của cuối cùng sẽ phụ thuộc vào hành vi của . Đối với "đẹp" phù hợp (theo nghĩa là không có quá nhiều trong số chúng thực sự gần bằng 0), phân phối của sẽ xấp xỉ bình thường (tập trung ngay tại ). Nhưng khi bắt đầu hướng về 0, phân phối sẽ được dịch chuyển sang bên trái và khi nó đông lên so vớiYipiipi(1pi)YpipiYpiipiy-axis nó sẽ bắt đầu trông kém bình thường hơn rất nhiều và nhiều Poisson hơn, như @whuber và @onestop đã đề cập.

Từ nhận xét của bạn "bản phân phối có vẻ Poisson" Tôi nghi ngờ rằng trường hợp sau này là những gì đang xảy ra, nhưng thực sự không thể chắc chắn nếu không có một số loại hiển thị trực quan hoặc thống kê tóm tắt về 's. Tuy nhiên, xin lưu ý, như @whuber đã làm, với hành vi bệnh lý đầy đủ của , bạn có thể có tất cả các loại điều ma quái xảy ra, như các giới hạn là phân phối hỗn hợp. Tôi nghi ngờ đó là trường hợp ở đây, nhưng một lần nữa, nó thực sự phụ thuộc vào những gì của bạn đang làm.ppp

Đối với câu hỏi ban đầu của "làm thế nào để mô hình hóa một cách hiệu quả", tôi sẽ đề nghị một mô hình phân cấp cho bạn, nhưng nó không phải là thực sự thích hợp nếu 's là hằng cố định. Nói tóm lại, hãy xem biểu đồ của và đưa ra dự đoán đầu tiên dựa trên những gì bạn nhìn thấy. Tôi muốn giới thiệu các câu trả lời bằng @mpiktas (và bởi @csgillespie mở rộng) nếu bạn 's không quá đông đúc sang bên trái, và tôi muốn giới thiệu các câu trả lời bằng @onestop nếu chúng được đông đúc trái ly.ppp

Nhân tiện, đây là mã R tôi đã sử dụng khi giải quyết vấn đề này: mã không thực sự phù hợp nếu của bạn quá nhỏ, nhưng nó có thể dễ dàng cắm vào các mô hình khác nhau cho (bao gồm cả ma quái- những người điên) để xem những gì sẽ xảy ra với sự phân bố cuối cùng của .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)))

Bây giờ hãy xem kết quả.

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

Chúc vui vẻ; Nhất định rồi.


Tại sao bạn nói "mã không thực sự phù hợp nếu của bạn quá nhỏ"? Có vẻ như hoạt động tốt với tôi, ví dụ với shape1 = 1, shape2 = 999, cho trung bình là 0,001. pp
vào

@onestop điều tôi muốn nói là sự lựa chọn cụ thể của (1,10) được viết ở trên không đưa ra các giá trị của rất nhỏ, đến mức xấp xỉ bình thường trông khá tốt. Nếu một người muốn Poisson xuất hiện thì họ sẽ cần phải thử thứ khác; Nghe có vẻ như sự lựa chọn của bạn (1.999) có làm tốt công việc không? Tôi cũng đã nghĩ sẽ tạo ra , giả sử 0,25, nhưng tôi đã không thử điều đó. pα<1

2

Tôi nghĩ rằng những câu trả lời khác là tuyệt vời, nhưng tôi không thấy bất kỳ cách nào để ước tính xác suất của bạn. Câu trả lời không có dạng rõ ràng, nhưng xác suất có thể được mô phỏng bằng R.

Đây là nỗ lực:

Xi|piBer(pi)

piBeta(α,β)

Sử dụng wikipedia chúng ta có thể nhận được ước tính của và (xem phần ước tính tham số).α^β^

Bây giờ bạn có thể tạo các bản vẽ cho bước , tạo từ và sau đó tạo từ . Sau khi bạn thực hiện lần này, bạn có thể nhận được . Đây là một chu kỳ duy nhất để tạo Y, hãy thực hiện số lần (lớn) này và biểu đồ cho Ys sẽ là ước tính mật độ của Y.ithpiBeta(α^,β^)XiBer(pi)NY=XiMM

Prob[Yy]=#YyM

Phân tích này chỉ hợp lệ khi không cố định. piĐây không phải là trường hợp ở đây. Nhưng tôi sẽ để nó ở đây, trong trường hợp ai đó có một câu hỏi tương tự.


1
Đối với một số người theo chủ nghĩa thuần túy, đây có thể không phải là Bayes. Đây thực sự là Bayesian theo kinh nghiệm, nhưng nó là một cách nhanh chóng để mô phỏng xác suất của bạn trong R, mà không cần dùng đến siêu mumbo jumbo trước đó.
suncoolsu

1
Tại sao bạn cần linh mục khi p_i được đưa ra?
whuber

@whuber. Cảm ơn, bạn đã đúng. Tôi đã bỏ lỡ phần cố định. Tôi nghĩ David chỉ sử dụng giá trị là là (qx) / c và không cố định. Tôi sẽ chỉnh sửa câu trả lời của tôi. pi
suncoolsu

@suncoolsu - lưu ý rằng bản phân phối "beta-bernoulli" chỉ là một bản phân phối bernoulli khác nhưng thay thế . Đây là becase . Vì vậy, về cơ bản bằng cách trộn qua bạn đang áp dụng xấp xỉ nhị thức ở đây . piαα+β(1xi)B(α+xi,β+1xi)B(α,β)=αxiβ1xiα+βpip1=p2==pn
xác suất

2

Như đã được đề cập trong các câu trả lời khác, phân phối xác suất mà bạn mô tả là phân phối nhị phân Poisson. Một phương pháp hiệu quả để tính toán CDF được đưa ra ở Hong, Yili. Về tính toán hàm phân phối cho phân phối nhị thức Poisson .

Cách tiếp cận là tính toán hiệu quả DFT (biến đổi Fourier rời rạc) của hàm đặc trưng.

Hàm đặc trưng của phân phối nhị thức Poisson được cung cấp bởi ( ).ϕ(t)=jn[(1pj)+pjeit]i=1

Thuật toán là:

  1. Đặt , cho .zj(k)=1pj+pjcos(ωk)+ipjsin(ωk)ω=2πn+1
  2. Xác định , xác định .xk=exp{jnlog(zj(k))}x0=1
  3. Tính cho . Sử dụng đối xứng để lấy phần còn lại.xkk=1,,[n/2]x¯k=xn+1k
  4. Áp dụng FFT cho vectơ .1n+1<x0,x1,,xn>
  5. Lấy tổng số kết quả tích lũy để có được CDF.

Thuật toán có sẵn trong gói poibin R.

Cách tiếp cận này cho kết quả tốt hơn nhiều so với các công thức đệ quy vì chúng có xu hướng thiếu ổn định số.


3
Tôi chỉ có quyền truy cập vào bản tóm tắt của bài báo đó, nhưng có vẻ như nó thực hiện phương thức tôi đã sử dụng tại stats.stackexchange.com/questions/41247/ và thảo luận về cách nó thực hiện so sánh với các phương thức khác được đưa ra trong chủ đề này. Nếu bạn biết thêm về những gì bài báo đã hoàn thành, chúng tôi sẽ rất vui khi đọc một bản tóm tắt.
whuber

1

Tôi sẽ đề nghị áp dụng xấp xỉ Poisson. Một điều được biết đến (xem AD Barbour, L. Holst và S. Janson: Xấp xỉ Poisson) rằng tổng khoảng cách biến đổi giữa và rv có phân phối Poisson với tham số là nhỏ: Ngoài ra còn có tiếp giáp về phân kỳ thông tin (khoảng cách Kullback-Leibler, bạn có thể thấy P. Harremoёs: Nơi hội tụ để phân phối Poisson trong Thông tin phân kỳ trước khi in số 2, tháng 2 năm 2003, Sở Toán học, Đại học Copenhagen... Http: //www.harremoes.dk/Peter/poisprep.pdfYZipi

supA|P(YA)P(ZA)|min{1,1ipi}ipi2.
và các ấn phẩm khác của P.Harremoёs), khoảng cách bình phương (xem Borisov và Vorozheikin https://link.springer.com/article/10.1007%2Fs11202-008-0002-3 ) và một số khoảng cách khác.

Để biết độ chính xác của xấp xỉ cho các chức năng vô biên bạn có thể thấy Borisov và Ruzankin https://projecteuclid.org/euclid.aop/1039548369 . Ngoài ra, bài báo đó chứa một ràng buộc đơn giản cho xác suất: với tất cả , chúng ta có |Ef(Y)Ef(Z)|fA

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


1
+1 Cảm ơn bạn đã thông tin định lượng hữu ích về giới hạn gần đúng. Chào mừng đến với trang web của chúng tôi!
whuber
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.