Tích hợp với eCDF nhanh chóng trong R


10

Tôi có một phương trình tích phân có dạng trong đó là cdf theo kinh nghiệm và là một hàm . Tôi có một ánh xạ co và vì vậy tôi đang cố gắng giải phương trình tích phân bằng cách sử dụng chuỗi định lý Banach Fixed Point.

T1(x)=0xg(T1(y)) dF^n(y)
F^ng

Tuy nhiên, điều này chạy rất chậm trong R và tôi nghĩ đó là do tôi đang tích hợp sử dụng hàm sum () cho nhiều lần.xF^n

Có cách nào nhanh hơn để tích hợp bằng cách sử dụng phân phối theo kinh nghiệm với một hàm như tích hợp () không?


6
Mặc dù đây thực sự là một câu hỏi R chứ không phải là một câu hỏi thống kê (và do đó có lẽ thuộc về stackoverflow) ... bạn có thể đăng mã của mình không? Trong R, thường có nhiều cơ hội để có được những cải tiến hiệu suất thời gian chạy tuyệt vời và không nhìn thấy mã, thật khó để biết được, nếu có, có thể áp dụng.
jbowman

Câu trả lời:


14

Xác định hàm phân phối theo kinh nghiệm nó tuân theo điều đó Do đó, bạn không cần sử dụng để giải quyết vấn đề này. Loại mã này

F^n(t)=1ni=1nI[xi,)(t),
g(t)dF^n(t)=1ni=1ng(xi).
integrate()R
x <- rnorm(10^6)
g <- function(t) exp(t) # say
mean(g(x))

nên siêu nhanh vì nó được vector hóa.


xin lưu ý, tôi đã thêm một câu hỏi liên quan về lý do tại sao tích phân của hàm đối với phân bố theo kinh nghiệm, là trung bình của hàm được đánh giá tại các điểm quan sát. math.stackexchange.com/questions/2340290/ Mạnh
texmex
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.