Integrasikan dengan eCDF dengan cepat di R

10

Saya memiliki persamaan integral dari bentuk mana adalah cdf empiris dan adalah fungsi . Saya memiliki pemetaan kontraksi dan jadi saya mencoba untuk menyelesaikan persamaan integral dengan menggunakan urutan teorema Fixed Point Banach.F n g

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

Namun, ini berjalan sangat lambat di R dan saya pikir itu karena saya mengintegrasikan menggunakan fungsi sum () untuk berulang kali.xF^n

Apakah ada cara yang lebih cepat untuk berintegrasi menggunakan distribusi empiris dengan fungsi seperti integrasikan ()?

Pemula
sumber
6
Meskipun ini benar-benar sebuah pertanyaan R daripada pertanyaan statistik (dan karena itu mungkin milik stackoverflow) ... bisakah Anda memposting kode Anda? Dalam R, sering ada beberapa peluang untuk mendapatkan peningkatan kinerja runtime yang hebat, dan tanpa melihat kode, sulit untuk mengatakan mana, jika ada, yang mungkin berlaku.
jbowman

Jawaban:

14

Mendefinisikan fungsi distribusi empiris karena itu Karenanya, Anda tidak perlu menggunakan untuk menyelesaikan masalah ini. Kode semacam ini- g ( t )

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))

harus sangat cepat karena itu vektor.

Zen
sumber
harap dicatat, saya telah menambahkan pertanyaan terkait mengapa integral fungsi sehubungan dengan distribusi empiris, adalah rata-rata fungsi yang dievaluasi pada titik yang diamati. math.stackexchange.com/questions/2340290/…
texmex