Быстрая интеграция с eCDF в R


10

У меня есть интегральное уравнение вида где - эмпирический cdf, а - функция , У меня есть сжатие отображения, и поэтому я пытаюсь решить интегральное уравнение с помощью последовательности теоремы Банаха о неподвижной точке.Р н г

T1(Икс)знак равно0Иксг(T1(Y)) dF^N(Y)
F^Nг

Однако в R это работает очень медленно, и я думаю, что это потому, что я интегрирую, используя функцию sum () для снова и снова.ИксF^N

Существует ли более быстрый способ интеграции с использованием эмпирического распределения с помощью такой функции, как integrate ()?


6
Хотя это действительно вопрос R, а не вопрос статистики (и, следовательно, он, вероятно, относится к stackoverflow) ... не могли бы вы опубликовать свой код? В R часто существует множество возможностей для получения значительных улучшений производительности во время выполнения, и без просмотра кода трудно сказать, какие из них могут применяться, если таковые имеются.
jbowman

Ответы:


14

F^N(T)знак равно1NΣязнак равно1Nя[Икся,)(T),
-г(T)dF^N(T)знак равно1NΣязнак равно1Nг(Икся),
integrate()R
x <- rnorm(10^6)
g <- function(t) exp(t) # say
mean(g(x))

должно быть супер быстро, потому что это векторизация.


пожалуйста, обратите внимание, я добавил связанный вопрос о том, почему интеграл функции по эмпирическому распределению является средним значением функции, оцененной в наблюдаемых точках. math.stackexchange.com/questions/2340290/…
texmex
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.