Integre con eCDF rápidamente en R

10

Tengo una ecuación integral de la forma de donde F n es la cdf empírica y g es una función. Tengo un mapeo de contracción y por eso estoy tratando de resolver la ecuación integral utilizando la secuencia del teorema del punto fijo de Banach.

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

Sin embargo, esta se ejecuta muy lentamente en I y estoy pensando que es porque estoy integrando el uso de la función suma () para una y otra vez.xF^n

¿Hay una forma más rápida de integrar usando la distribución empírica con una función como integrar ()?

Novato
fuente
66
Aunque esta es realmente una pregunta R en lugar de una pregunta de estadísticas (y, por lo tanto, probablemente pertenece a stackoverflow) ... ¿podría publicar su código? En R, a menudo hay múltiples oportunidades para obtener grandes mejoras en el rendimiento del tiempo de ejecución, y sin ver el código, es difícil saber cuál, si corresponde, podría aplicarse.
jbowman

Respuestas:

14

Definición de la función de distribución empírica F n ( t ) = 1

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

debería ser súper rápido porque está vectorizado.

zen
fuente
tenga en cuenta que he agregado una pregunta relacionada sobre por qué la integral de una función con respecto a la distribución empírica es el promedio de la función evaluada en los puntos observados. math.stackexchange.com/questions/2340290/…
texmex