在 R 中快速与 eCDF 集成

机器算法验证 r 数值积分
2022-03-02 12:07:39

我有一个形式的积分方程

T1(x)=0xg(T1(y)) dF^n(y)
在哪里F^n是经验 cdf 和g是一个函数。我有一个收缩映射,所以我试图通过使用 Banach 不动点定理序列来求解积分方程。

但是,这在 R 中运行非常缓慢,我认为这是因为我正在使用 sum() 函数进行集成xF^n一遍又一遍地。

有没有更快的方法来使用经验分布与诸如集成()之类的函数进行集成?

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

应该超级快,因为它是矢量化的。