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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.