我有以下等价的积分,涉及标准正态分布的pdf和cdf,分别用$\phi(x)$和$\Phi(x)$表示。对于背景,积分表示三个观测值的样本范围的概率分布,这三个观测值独立且同分布为标准正态。
我使用R
中的pracma
包编写了第一个二重积分和最后一个单积分:
library(pracma)
t = 0.2
single_int <- function(x) 3*dnorm(x)*(pnorm(x+t)-pnorm(x))^2
I1 = integral(single_int,-999,999)
double_int <- function(x,y) 6*dnorm(x)*dnorm(x+y)*(pnorm(x+y)-pnorm(x))
I2 = integral2(double_int,-999,999,-999,t)$Q
输出为:
> I1
[1] 0.01096555
> I2
[1] 0
当基础积分相同时,为什么会有不同的结果?
1条答案
按热度按时间dgiusagp1#
你的积分对你用来代替无穷大的边界的选择是敏感的。在
integral
中,可以使用-Inf
和Inf
。在integral2
中,你不能。我会使用cubature包代替。当一个积分边界是无限的,它会自动执行变量的变化,以下降到一个有限的边界。