Làm thế nào để phương pháp biến đổi nghịch đảo làm việc?


21

Phương pháp đảo ngược hoạt động như thế nào?
Nói rằng tôi có một mẫu ngẫu nhiên X1,X2,...,Xn với mật độ f(x;θ)=1θx(1θ)θ trên
0<x<1và do đó với lũyFX(x)=x1/θtrên(0,1). Sau đó, bằng phương pháp đảo ngược tôi nhận được sự phân bố củaXFX1(u)=uθ.

Vì vậy, hiện uθ có sự phân bố của X ? Đây có phải là cách phương pháp đảo ngược hoạt động?

u<-runif(n)
x<-u^(theta)

3
Xem chủ đề của chúng tôi về biến đổi tích phân xác suất .
whuber

1
Có, mặc dù nó thường được gọi là "biến đổi tích phân xác suất." Hãy thử lấy hàm phân phối của để xem tại sao nó hoạt động. F1(U)
DSaxton

Câu trả lời:


20

Phương pháp này rất đơn giản, vì vậy tôi sẽ mô tả nó bằng những từ đơn giản. Đầu tiên, lấy hàm phân phối tích lũy của một số phân phối mà bạn muốn lấy mẫu từ đó. Hàm lấy làm giá trị đầu vào x và cho bạn biết xác suất lấy được là bao nhiêuFXx . Vì thếXx

FX(x)=Pr(Xx)=p

nghịch đảo của hàm chức năng như vậy, sẽ lấy p làm đầu vào và trả về x . Chú ý rằng p 's được phân bố đều - điều này có thể được sử dụng để lấy mẫu từ bất kỳ F X nếu bạn biết F - 1 X . Phương pháp này được gọi là lấy mẫu biến đổi nghịch đảo . Ý tưởng rất đơn giản: thật dễ dàng để lấy mẫu các giá trị thống nhất từ U ( 0 , 1 ) , vì vậy nếu bạn muốn lấy mẫu từ một số U ( 0 , 1 )FX1pxpFXFX1U(0,1) , chỉ cần mang giá trị u ~FXuU(0,1) và chuyển qua F - 1 X để thu được x 'suFX1x

FX1(u)=x

hoặc trong R (để phân phối bình thường)

U <- runif(1e6)
X <- qnorm(U)

Nhìn chung, để hình dung nó nhìn vào CDF bên dưới, chúng tôi nghĩ đến các bản phân phối về mặt xem xét -axis cho xác suất của các giá trị từ x -axis. Với phương pháp lấy mẫu này, chúng tôi làm ngược lại và bắt đầu với "xác suất" và sử dụng chúng để chọn các giá trị có liên quan đến chúng. Với các phân phối rời rạc, bạn coi U là một dòng từ 0 đến 1 và gán các giá trị dựa trên vị trí một điểm u nằm trên dòng này (ví dụ 0 nếu 0 u < 0,5 hoặc 1 nếu 0,5 u e r n o uyxU01u00u<0.51 để lấy mẫu từ B0.5u1 ).Bernoulli(0.5)

enter image description here

Thật không may, điều này không phải lúc nào cũng có thể vì không phải mọi hàm đều có nghịch đảo của nó, ví dụ: bạn không thể sử dụng phương thức này với các phân phối bivariate. Nó cũng không phải là phương pháp hiệu quả nhất trong mọi tình huống, trong nhiều trường hợp thuật toán tốt hơn tồn tại.

Bạn cũng hỏi phân phối của . Vì F - 1 X là nghịch đảo của F X , nên F X ( F - 1 X ( u ) ) = uF - 1 X ( F X ( x ) ) = x , do đó, các giá trị thu được bằng phương pháp đó có sự phân bố tương tự như X . Bạn có thể kiểm tra điều này bằng một mô phỏng đơn giảnFX1(u)FX1FXFX(FX1(u))=uFX1(FX(x))=xX

U <- runif(1e6)
all.equal(pnorm(qnorm(U)), U)

Câu trả lời tốt. Phương pháp này hoạt động khi bạn có các bản phân phối như hàm mũ, Cauchy, Hình học, Pareto, Logistic, Extreme Value Weibull , v.v. Ví dụ: bạn không thể tìm thấy biểu mẫu đóng cho phân phối bình thường . Do đó, bạn sẽ không thể sử dụng phương pháp này. Bạn có thể thử các phương pháp khác như Phương pháp từ chối .
Abbas Salimi

2
Bạn có thể sử dụng phương pháp biến đổi nghịch đảo với phân phối chuẩn. Có rất nhiều triển khai cho CDF nghịch đảo thông thường . Ví dụ: bạn có thể viết CDF nghịch đảo bình thường bằng cách sử dụng hàm lỗi bổ sung . Một ví dụ thực hiện erfc là ở đây . Đừng tự viết mã erfc; sử dụng thư viện Không tồn tại công thức dạng đóng không có nghĩa là bạn không thể sử dụng các xấp xỉ số chất lượng cao.
Matthew Gunn

2

Vâng, có sự phân bố của X .UθX

Hai điểm bổ sung về trực giác đằng sau phương pháp biến đổi nghịch đảo có thể hữu ích

(1) Để hiểu thực sự có nghĩa là gì, vui lòng tham khảo biểu đồ trong câu trả lời của Tim đểF1 giúp tôi hiểu hàm lượng tử (CDF nghịch đảo)

(2) [Xin vui lòng, chỉ cần bỏ qua những điều sau đây, nếu nó mang lại nhiều nhầm lẫn thay vì rõ ràng]

XF

F(X)Unif(0,1)

XXF(X)

XX1/θUnif(0,1). Let call this random variable U. So

U=X1/θ
Coming back to your question, you have the opposite task: to generate X out of U. So, indeed
X=Uθ

PS. Alternative names for the method are probability integral transform, inverse transform sampling, the quantile transformation, and, in some sources, "the fundamental theorem of simulation".

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.