Lấy mẫu hiệu quả phân phối Beta ngưỡng


10

Làm thế nào tôi nên lấy mẫu hiệu quả từ phân phối sau?

xB(α,β), x>k

Nếu không quá lớn thì lấy mẫu từ chối có thể là cách tiếp cận tốt nhất, nhưng tôi không chắc chắn cách tiến hành khi k lớn. Có lẽ có một số xấp xỉ tiệm cận có thể được áp dụng?kk


1
Nó không rõ ràng rõ ràng những gì bạn có ý định đó bằng " ". Bạn có nghĩa là một cắt ngắn phân phối phiên bản beta (cắt ngắn ở bên trái tại k )? xB(α,β), x>kk
Glen_b -Reinstate Monica

@Glen_b chính xác.
user1502040

5
Đối với cả hai tham số hình dạng lớn hơn 1, phân phối beta là log-lõm, do đó, phong bì theo cấp số nhân có thể được sử dụng để lấy mẫu từ chối. Để tạo ra các biến thể beta không được cắt xén, bạn đã lấy mẫu từ các phân phối hàm mũ bị cắt ngắn (rất dễ thực hiện), điều này rất đơn giản để điều chỉnh phương pháp này.
Scortchi - Tái lập Monica

Câu trả lời:


14

Cách đơn giản nhất và cách chung nhất, áp dụng cho bất kỳ phân phối bị cắt cụt nào (nó cũng có thể được khái quát hóa để cắt ngắn ở cả hai bên), là sử dụng lấy mẫu biến đổi nghịch đảo . Nếu là phân phối lãi tích lũy, thì đặt p 0 = F ( k ) và lấyFp0=F(k)

UU(p0,1)X=F1(U)

Trong đó là một mẫu từ F cắt ngắn ở k . Chức năng quantile F - 1 sẽ lập bản đồ xác suất để mẫu từ F . Vì chúng tôi chỉ lấy các giá trị của U từ "khu vực" khớp với các giá trị phân phối beta từ khu vực không bị cắt cụt, nên bạn sẽ chỉ lấy mẫu các giá trị đó.XFkF1FU

Phương pháp này được minh họa trên hình ảnh bên dưới, nơi vùng bị cắt được đánh dấu bằng một hình chữ nhật màu xám, các điểm màu đỏ được vẽ từ phân phối và sau đó chuyển thành mẫu B ( 2 , 8 ) .U(p0,1)B(2,8)

Lấy mẫu biến đổi nghịch đảo từ phân phối cắt ngắn


5
(+1) Đáng lưu ý rằng hàm lượng tử không dễ dàng được đánh giá.
Scortchi - Tái lập Monica

1
@Scortchi Nếu a hoặc b là 1 hoặc ít nhất là một số nguyên, có một hình thức không quá tệ (xem wikipedia ). Và trong Python có scipy.special.betaincnghịch đảo và trong R có pbeta.
Graodes

3
@Graodes: Nói chung, tôi nên nói "giá rẻ" - tốt hơn hết là tránh Newton-Raphson hoặc các giải pháp lặp khác nếu có thể. (BTW là qbetacho hàm lượng tử trong R.)
Scortchi - Tái lập Monica

1
@Scortchi bạn đúng, nhưng trong hầu hết các trường hợp, đối với máy tính hiện đại thì đây không phải là vấn đề lớn. Tôi cũng đề xuất cách tiếp cận này vì nó có sẵn trực tiếp trong hầu hết các phần mềm và có thể được khái quát hóa cho bất kỳ phân phối bị cắt cụt nào , chỉ khi một người có quyền truy cập vào hàm lượng tử.
Tim

1
kk

8

k

αβk1<k2

f(x)=x(α1)(1x)(β1)B(k2,α,β)B(k1,α,β)

xLxUα,β>1

g(x)=cλeλ(xxL)

λ

λ=a1xb11x
c
c=f(x)λeλ(xxL)

nhập mô tả hình ảnh ở đây

A=c(1eλ(xUxL))
xλc

Q(x)=xa(1x)b(a+b2)xa+1[exp((b1)(xxL)1x+xL(a1)x(a1))exp((b1)(xxU)1x+xU(a1)x(a1))]

dQdxxdQdx=0

k1k2Ulog(1U)λλ

nhập mô tả hình ảnh ở đây

Cái hay của phương pháp này là tất cả những công việc khó khăn đều được thiết lập. Khi chức năng phong bì được xác định, hằng số chuẩn hóa cho mật độ beta bị cắt đã được tính toán, tất cả những gì còn lại là tạo ra các biến thiên ngẫu nhiên thống nhất, và thực hiện trên chúng một vài thao tác đơn giản, nhật ký và quyền hạn, và so sánh. Thắt chặt chức năng phong bì, với các đường ngang hoặc nhiều đường cong theo cấp số nhân, dĩ nhiên, có thể làm giảm số lượng từ chối.


1
+1 Ý tưởng hay. Bởi vì Beta gần như bình thường đối với các giá trị từ khiêm tốn đến lớn của các tham số của nó, tùy thuộc vào mức độ gần nhau, sử dụng đường bao Gaussian có thể hiệu quả hơn một chút.
whuber

α<1β<1

1
αβ

@whuber: (1) Cách tiếp cận tôi đã thực hiện ở đây để xây dựng phong bì sẽ không hiệu quả vì mật độ không phải là log-lõm. (2) (a) Tôi có nghĩa là chắc chắn các hàm đại số + log & powers, trig. các chức năng nếu tôi đã được hỏi, và có lẽ cả các chức năng gamma - Tôi thú nhận rằng tôi đã không có một khái niệm chính xác. (b) Điểm thực hiện - đánh giá chức năng nhanh chóng không giới hạn ở những người có dạng đóng.
Scortchi - Tái lập Monica

1
α<1β<1
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.