Integrazione rapida con eCDF in R


10

Ho un'equazione integrale della forma dove è il cdf empirico e è una funzione . Ho una mappatura della contrazione e quindi sto cercando di risolvere l'equazione integrale usando la sequenza del teorema del punto fisso di Banach.F n g

T1(X)=0Xg(T1(y)) dF^n(y)
F^ng

Tuttavia, questo funziona molto lentamente in R e penso che sia perché mi sto integrando usando la funzione sum () per ancora e ancora.XF^n

Esiste un modo più veloce per integrarsi usando la distribuzione empirica con una funzione come integra ()?


6
Sebbene questa sia davvero una domanda R piuttosto che una statistica (e quindi probabilmente appartiene a StackOverflow) ... potresti pubblicare il tuo codice? In R, ci sono spesso molteplici opportunità per ottenere grandi miglioramenti delle prestazioni di runtime e senza vedere il codice, è difficile dire quale, eventualmente, potrebbe essere applicato.
jbowman,

Risposte:


14

Definendo la funzione di distribuzione empirica ne consegue che Quindi, non è necessario utilizzare per risolvere questo problema. Questo tipo di codice- g ( t )

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

dovrebbe essere super veloce perché è vettoriale.


si noti che ho aggiunto una domanda correlata sul perché l'integrale di una funzione rispetto alla distribuzione empirica è la media della funzione valutata nei punti osservati. math.stackexchange.com/questions/2340290/…
texmex
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.