在R中积分一个和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中积分一个和相关的知识,希望对你有一定的参考价值。

我正在尝试计算估算器的MISE,为此我需要做以下积分:

(fp(x) - f(x))^2 where f(x) is exp(-x) and fp(x) is : sum_{i}^n { (1/n)*((K((x - X[i])/h))/h) }

这里的问题是X是一个矩阵,我不知道如何整合这个总和。我试过这个:

  Kgauss <- function(u) dnorm(u)  #Gaussian kernel  
  func = function(x, n, h, X){ ((1/n) * sum(Kgauss((x-X[0:n])/h)/h) - exp(-x))^2 } # h, n are constants
  vfunc = Vectorize(func)
  integrate(vfunc, n = 3, K = Kgauss, h = 0.25, X = rexp(3), lower = 0,  Inf)

但遗憾的是它没有成功。这里最大的问题是fp(x),它由多个函数的总和组成。我希望你能帮我这个,我已经挣扎了一段时间了。

基本上我想做:积分((K(X1)+ ... + K(Xn) - exp(-x))²)

答案

您可以在func之外定义n,h和K,然后将x作为唯一参数:

n = 3;  h = 0.25; X = rexp(3)
func = function(x){ ((1/n) * sum(dnorm((x-X[0:n])/h)/h) - exp(-x))^2 } 
vfunc = function(x) { sapply(x, func)}
integrate(vfunc,  lower = 0, Inf)
# 0.2070893 with absolute error < 1.7e-05

(我不确定你是否需要对func进行矢量化。它已经使用矢量化函数构建。)

以上是关于在R中积分一个和的主要内容,如果未能解决你的问题,请参考以下文章

R中包含乘积项的函数的积分

如何将 r ggplot 图存储为 html 代码片段

sql [SQL查询片段]用于在命令行或通过R和其他工具使用SQL的快速代码段#tags:sql,R,text processing,命令li

R - 从 g(x,y)dy 的积分创建函数 f(x)

如何识别哪个活动调用片段

r R有用的代码片段