Làm thế nào để tạo ra một số lượng không thành công của Bernoulli liên tiếp?


18

Được:

  1. Một đồng xu với chưa biết thiên vị p (Head).
  2. A thực sự tích cực a>0 .

Vấn đề:

Tạo một biến thiên Bernoulli ngẫu nhiên với độ lệch pa .

Có ai biết cách để làm điều này không? Chẳng hạn, khi a là số nguyên dương, thì người ta có thể lật đồng xu a lần và xem liệu tất cả các kết quả có phải là Đầu hay không: nếu sau đó chúng phát hành '0', nếu không thì phát hành '1'. Khó khăn nằm ở chỗ a không nhất thiết phải là số nguyên. Ngoài ra, nếu tôi biết xu hướng p , tôi có thể xây dựng một đồng tiền khác với độ lệch mong muốn.


2
@gung: Tôi nghĩ những gì muốn là một thuật toán để tạo ra một biến thể Bernoulli được cung cấp một đồng xu.
Neil G

1
Tôi nghĩ rằng Vấn đề ở đây là, khi a>1 bạn chỉ giữ một mức trung bình của 1 trong mỗi a người đứng đầu mà bật lên và khi a<1 , bạn lặp lại mỗi người đứng đầu trung bình 1/a lần.
Vĩ mô

3
@Macro, bạn có thể mở rộng ý tưởng không?
Pedro A. Ortega

1
Pedro thân mến, (+1) cho bài đăng của bạn, đó là loại câu hỏi khiến CV rất mạnh mẽ và kích thích, ít nhất là với tôi. Tôi có thể hỏi nguồn gốc của câu hỏi này là gì?
Đức hồng y

@cardinal: Cảm ơn một lần nữa cho câu trả lời của bạn! Vấn đề này là một phần của bộ lấy mẫu để giải quyết các vấn đề kiểm soát ngẫu nhiên mà tôi đang làm việc. Lý do tại sao p không xác định là vì nó sẽ yêu cầu biết hằng số chuẩn hóa (trong trường hợp này là hàm phân vùng khó chịu), nhưng chúng ta vẫn có thể lấy mẫu từ nó bằng cách sử dụng lấy mẫu từ chối. Btw, thật tuyệt khi trích dẫn bạn theo tên, không chỉ là liên kết đến CV ;-).
Pedro A. Ortega

Câu trả lời:


19

Chúng ta có thể giải quyết điều này thông qua một vài "thủ thuật" và một chút toán học.

Đây là thuật toán cơ bản:

  1. Tạo một biến ngẫu nhiên hình học với xác suất thành công p .
  2. Kết quả của biến ngẫu nhiên này xác định một giá trị đã biết cố định fn[0,1] .
  3. Tạo một biến ngẫu nhiên Ber(fn) bằng cách sử dụng các đồng xu công bằng được tạo từ các lần lật theo cặp của đồng tiền của chúng tôi Ber(p).
  4. Kết quả cuối cùng sẽ là Ber(pa) cho bất kỳ a(0,1) , đó là tất cả những gì chúng ta cần.

Để làm cho mọi thứ dễ tiêu hóa hơn, chúng tôi sẽ chia mọi thứ thành từng mảnh.

Mảnh 1 : Không mất tính tổng quát giả sử rằng 0<a<1 .

Nếu , thì chúng ta có thể viết p a = p n p b cho một số nguyên dương n và một số 0 b < 1 . Nhưng, đối với bất kỳ hai Bernoulli's độc lập nào, chúng ta có P ( X 1 = X 2 = 1 ) = p 1a1pa=pnpbn0b<1 Chúng ta có thể tạo ra một p n Bernoulli từ đồng xu của chúng tôi theo cách rõ ràng. Do đó, chúng ta chỉ cần quan tâm mình với tạo ra B e r ( p một ) khi một ( 0 , 1 ) .

P(X1=X2=1)=p1p2.
pnBer(pa)a(0,1)

Phần 2 : Biết cách tạo tùy ý từ các lần lật đồng xu công bằng.Ber(q)

Có một cách tiêu chuẩn để làm điều này. Mở rộng trong việc mở rộng nhị phân của nó và sau đó sử dụng đồng tiền hợp lý của chúng tôi flips để "phù hợp" các chữ số của q . Trận đấu đầu tiên xác định xem chúng tôi tuyên bố thành công ("người đứng đầu") hay thất bại ("đuôi"). Nếu q n = 1 và lật đồng xu của chúng tôi là đầu, hãy khai báo các đầu, nếu q n = 0 và lật đồng xu của chúng tôi là đuôi, hãy khai báo đuôi. Nếu không, hãy xem xét các chữ số tiếp theo chống lại một đồng xu mới.q=0.q1q2q3qqn=1qn=0

Phần 3 : Biết cách tạo ra một đồng xu lật từ những người không công bằng với sự thiên vị không xác định.

Này được thực hiện, giả sử , bằng cách lật đồng xu theo cặp. Nếu chúng ta có H T , hãy khai báo một cái đầu; nếu chúng ta nhận được T H , hãy khai báo một đuôi và nếu không thì lặp lại thí nghiệm cho đến khi một trong hai kết quả đã nói ở trên xảy ra. Họ đều có thể xảy ra, vì vậy phải có xác suất 1 / 2 .p(0,1)HTTH1/2

Mảnh 4 : Một số toán học. (Taylor đến giải cứu.)

Bằng cách mở rộng quanh p 0 = 1 , định lý của Taylor khẳng định rằng p a = 1 - a ( 1 - p ) - a ( 1 - a )h(p)=pap0=1 Lưu ý rằng vì 0 < a < 1 , mỗi số hạng sau số đầu tiên làâmnên chúng ta có p a = 1 - n = 1 b n ( 1 - p

pa=1a(1p)a(1a)2!(1p)2a(1a)(2a)3!(1p)3.
0<a<1 Nơi 0 b n1 được biết đếnmột tiên nghiệm. Do đó 1 - p a = n = 1 b n ( 1 - p ) n = n = 1 b n P ( G n ) = n = 1 f n P ( G = n ) = E
pa=1n=1bn(1p)n,
0bn1 trong đó G G e o m ( p ) , f 0 = 0 f n = n k = 1 b k với n 1 .
1pa=n=1bn(1p)n=n=1bnP(Gn)=n=1fnP(G=n)=Ef(G),
GGeom(p)f0=0fn=k=1nbkn1

Và, chúng tôi đã biết cách sử dụng đồng tiền của mình để tạo biến ngẫu nhiên Hình học với xác suất thành công .p

Mảnh 5 : Một trò lừa Monte Carlo.

Đặt là biến ngẫu nhiên rời rạc lấy các giá trị trong [ 0 , 1 ] với P ( X = x n ) = p n . Đặt U X B e r ( X ) . Sau đó, P ( U = 1 ) = Σ n x n p n .X[0,1]P(X=xn)=pnUXBer(X)

P(U=1)=nxnpn.

Nhưng, lấy x n = f n , bây giờ chúng ta thấy cách tạo biến ngẫu nhiên B e r ( 1 - p a ) và điều này tương đương với việc tạo ra B e r ( p a ) một.pn=p(1p)nxn=fnBer(1pa)Ber(pa)


Làm thế nào tôi có thể trích dẫn bạn (hoặc giải pháp của bạn)?
Pedro A. Ortega

2
@Pedro: Tôi cho rằng bạn có thể nhấp vào liên kết "chia sẻ" ở cuối câu trả lời này. Nó phải là một liên kết ổn định. Math.SE có một cơ chế trích dẫn , dường như không được kích hoạt trên trang web này, nhưng bạn có thể điều chỉnh nó.
Đức hồng y

1
Bây giờ, đây là một câu trả lời tuyệt vời!
Zen

1
Tôi đã viết nó lên trong diễn đàn thảo luận chung của lớp Coursera về Phân tích kết hợp vì đây là một cách sử dụng tốt các chuỗi sức mạnh liên quan đến một số tài liệu được đề cập ở đó. class.coursera.org/introACpartI-001/forum/thread?thread_id=108
Douglas Zare

@Doumund: Cảm ơn! Có một phiên bản có thể xem công khai của chủ đề đó hay tôi sẽ cần phải đăng ký khóa học để xem nó? Pedro và tôi đã thảo luận (qua email) những con đường có thể để đưa phương pháp này vào một số nghiên cứu của anh ấy.
Đức hồng y

6

Là câu trả lời sau đây ngớ ngẩn?

Nếu là độc lập B e r ( p )Y n có phân phối B e r ( ( Σ n i = 1 X i / n ) một ) , sau đó Y n sẽ được xấp xỉ phân phối như B e r ( p một ) , khi n X1,,XnBer(p)YnBer((i=1nXi/n)a)YnBer(pa)n .

Do đó, nếu bạn không biết , nhưng bạn có thể ném đồng xu này rất nhiều lần, có thể lấy mẫu (xấp xỉ) từ B e r ( p a )pBer(pa) biến ngẫu nhiên .

RMã ví dụ :

n <- 1000000
p <- 1/3 # works for any 0 <= p <= 1
a <- 4
x <- rbinom(n, 1, p)
y <- rbinom(n, 1, mean(x)^a)
cat("p^a =", p^a, "\n")
cat("est =", mean(y))

Các kết quả:

p^a = 0.01234568 
est = 0.012291 

2
Tôi thích câu trả lời này nhưng tôi nghi ngờ nó bỏ lỡ điểm của câu hỏi, điều mà tôi hiểu là yêu cầu một thuật toán tạo ra từ phân phối được yêu cầu mà không biết (hoặc thông tin thực nghiệm về p ). Tuy nhiên, vấn đề đặt ra là bạn có thể tạo B e r n o u l l i ( p ) biến ngẫu nhiên, vì vậy đây là một câu trả lời hoàn toàn hợp lý và hoàn toàn không ngớ ngẩn! +1ppBernoulli(p)
Macro

1
+1: Tôi thích nó. Tôi giả sử bạn có nghĩa là được phân phối? Yn
Neil G

Tốt hơn nhiều! Tks, @Neil G!
Zen

1
Điều này thật dễ thương (+1), nhưng chúng ta có thể thực hiện chính xác với số lần lật gần như chắc chắn (và trung bình, con số đó sẽ tương đối nhỏ).
Đức hồng y

5

Tôi đã đăng bài giải thích sau đây về câu hỏi này và câu trả lời của hồng y lên diễn đàn thảo luận chung của lớp Kết hợp phân tích hiện tại trên Coursera, "Ứng dụng chuỗi sức mạnh để xây dựng một biến ngẫu nhiên." Tôi đang đăng một bản sao ở đây dưới dạng wiki cộng đồng để làm cho nó công khai và có sẵn lâu dài hơn.


Có một câu hỏi và câu trả lời thú vị trên stat.stackexchange.com liên quan đến chuỗi quyền lực: "Làm thế nào để tạo ra số lượng không thành công của Bernoulli liên tiếp?"Tôi sẽ diễn giải câu hỏi và câu trả lời của hồng y.

pαpα ?

ααα1/20<α<1p3.5p3p0.5

p[0,1]. To do this, we can construct a stream of fair bits by repeatedly flipping the coin twice, reading HT as 1 and TH as 0, and ignoring HH and TT. We compare this stream with the binary expansion of p=0.a1a2a3...2. The event that the first disagreement is where ai=1 has probability p. We don't know pα, so we can't use this directly, but it will be a useful tool.

The main idea is that we would like to use the power series for pα=(1q)α=1αqα(1α)2q2α(1α)(2α)3!q3... where p=1q. We can construct events whose probabilities are qn by flipping the coin n times and seeing if they are all tails, and we can produce an event with probability pqn by comparing the binary digits of p with a fair bit stream as above and checking whether n tosses are all tails.

Construct a geometric random variable G with parameter p. This is the number of tails before the first head in an infinite sequence of coin tosses. P(G=n)=(1p)np=qnp. (Some people use a definition which differs by 1.)

Given a sequence t0,t1,t2,..., we can produce tG: Flip the coin until the first head, and if there are G tails before the first head, take the element of the sequence of index G. If each tn[0,1], we can compare tG with a uniform random variable in [0,1] (constructed as above) to get an event with probability E[tG]=ntnP(G=n)=ntnqnp.

This is almost what we need. We would like to eliminate that p to use the power series for pα in q.

1=p+qp+q2p+q3p+...

qn=qnp+qn+1p+qn+2p+...

nsnqn=nsn(qnp+qn+1p+qn+2p+...)=n(s0+s1+...+sn)qnp

Consider 1pα=αq+α(1α)2q2+.... Let tn be the sum of the coefficients of q through qn. Then 1pα=ntnqnp. Each tn[0,1] since the coefficients are positive and sum to 10α=1, so we can construct an event with probability 1pα by comparing a fair bit stream with the binary expansion of tG. The complement has probability pα as required.


Again, the argument is due to cardinal.


1
(+1) Thanks for going to the trouble to post this. The differences in exposition, while relatively slight, help make the approach more clear.
cardinal

4

The very complete answer by cardinal and subsequent contributions inspired the following remark/variant.

Let PZ stand "Probability of Zero" and q:=1p. If Xn is an iid Bernoulli sequence with PZ q, then Mn:=max(X1,X2,,Xn) is a Bernoulli r.v. with PZ qn. Now making n random i.e., replacing it by an integer rv N1 leads to Bernoulli rv MN with

Pr{MN=0}=n=1Pr{MN=0|N=n}Pr{N=n}=n=1Pr{N=n}qn.
So if 0<a<1 and if we take Pr{N=n}=bn from cardinal's answer, we find Pr{MN=0}=1pa and 1MN is Ber(pa) as wanted. This is indeed possible since the coefficients bn satisfy bn0 and they sum to 1.

The discrete distribution of N depends only on a with 0<a<1, recall

Pr{N=n}=ank=1n1(1a/k)(n1).
It has interesting features. It turns out to have an infinite expectation and an heavy tail behaviour nbnc/na with c=1/Γ(a)>0.

Though MN is the maximum of N rvs, its determination needs a number of Xk which is N since the result is known as soon as one Xk is 1. The number of computed Xk is geometrically distributed.


A related idea would be to make the rvs Xk dependent with extremal index θ (0<θ<1), meaning that Mn has PZ qnθ rather than qn. Taking nθ=a would do the job for any a>0. Given a sequence of iid rv.s Xn following a standard Frechet, there are known methods to generate a dependent sequence Xn with standard Frechet margin and the prescribed extremal index θ. However, what happens if we replace standard Frechet'' by Bernoulli''?
Yves

(+1) Very nice, @Yves. A few remarks: (1) The first part can be viewed as the complement of the approach I've taken. In fact, when I first got the series in bnqn, while I immediately saw the connection to the geometric, I first tried something more direct and didn't come up with a natural way to do it. Your answer solves that problem. (2) Your approach can also be implemented using only a Ber(p) coin. In particular, N can be generated by descending down a full binary tree based on fair coin flips, where the left nodes are leaves and the decision is made by (...)
cardinal

(...) comparing the number in (0,1) constructed from the (partial) sequence of coin flips to the partial sums fn=i=1nbi. The termination depth gives N. (3) I believe that nbncn(1+a), which will change your conclusion regarding the finiteness of the mean. (4) In both your approach and mine, it seems we cannot escape computing fn=i=1nbi, even if we allow for uniform random variates in addition to our Ber(p) coin for the purposes of sampling. Finding a way to avoid that would seem to be the most obvious way to improve efficiency.
cardinal

1
Thank you @cardinal. I agree with all your comments except perhaps (3). I actually made an error since c is 1/Γ(a) (edited), but the exponent of n seems the right one. I used the representation of Γ(z) as found e.g. on Wikipedia page on infinite product and took z:=a which gives an equivalent for the product k=1n1. I would be more confident if you could check this.
Yves

Dear @Yves, (+1) You are correct about the constant and about (3). My apologies. Somehow, when I went to transcribe things to paper, I ended up focusing on the asymptotics of bn instead of nbn. :-)
cardinal
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.