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


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.