我无法信任 R 进行数值积分的能力。以下代码:
integrand = function(xval) {dnorm(x=xval,mean=0,sd=1)}
integrate(integrand,-Inf,Inf)
正确产生 1 的输出,绝对误差 < 9.4e-05。
但是,如果我只是将分布移动一个常数,
integrand2 = function(xval) {dnorm(x=xval,mean=370,sd=1)}
integrate(integrand2,-Inf,Inf)
它没有成功整合概率分布(即积分应该是一)。我得到 4.360019e-15 的答案,绝对误差 < 7.1e-15。
我知道数值积分程序很难找到分布的驼峰,但是我如何判断 R 的输出是否可靠?