Integre-se rapidamente ao eCDF no R

10

Eu tenho uma equação integral da forma onde é o cdf empírico é uma função . Eu tenho um mapeamento de contração e, portanto, estou tentando resolver a equação integral usando a sequência do teorema de Banach Fixed Point.

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

No entanto, isso é executado muito lentamente no R e estou pensando que é porque estou integrando usando a função sum () para repetidamente.xF^n

Existe uma maneira mais rápida de integrar usando a distribuição empírica com uma função como integrar ()?

Novato
fonte
6
Embora essa seja realmente uma pergunta R e não uma estatística (e, portanto, provavelmente pertença ao stackoverflow) ... você poderia postar seu código? No R, muitas vezes existem várias oportunidades para obter grandes melhorias no desempenho do tempo de execução e, sem ver o código, é difícil dizer qual, se houver, pode se aplicar.
jbowman

Respostas:

14

Definindo a função de distribuição empírica segue-se que Portanto, você não precisa usar para resolver esse problema. Esse tipo de código

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

deve ser super rápido porque é vetorizado.

zen
fonte
observe, eu adicionei uma pergunta relacionada a respeito de por que a integral de uma função em relação à distribuição empírica é a média da função avaliada nos pontos observados. math.stackexchange.com/questions/2340290/…
texmex