pmvnorm正在返回一个负数

pmvnorm正在返回一个负数,r,R,我正在使用pmvnorm计算R中的多元正态CDF 但我在计算中得到了一个负数 概率不能是负的。有人能帮我找到解决办法吗 代码在这里 library(mvtnorm) pmvnorm(lower = rep(-Inf, 2), upper = c(-5, -18), mean = c(0,0), sigma = matrix(c(1, -0.5, -0.5, 1), nrow = 2, ncol = 2)) 输出是 [1

我正在使用pmvnorm计算R中的多元正态CDF 但我在计算中得到了一个负数 概率不能是负的。有人能帮我找到解决办法吗

代码在这里

library(mvtnorm)
pmvnorm(lower = rep(-Inf, 2), upper = c(-5, -18),
    mean = c(0,0), sigma = matrix(c(1, -0.5, -0.5, 1),
                                  nrow = 2, ncol = 2))
输出是

[1] -2.507297e-84
attr(,"error")
[1] 1e-15
attr(,"msg")
[1] "Normal Completion"

这是一个数字问题。您可以将其视为零,或者将
算法
参数指定为更精确/更不精确

玩弄弄弄弄得我这样:

library("mvtnorm")
pmvnorm(lower = rep(-Inf, 2), upper = c(-5, -18),
        mean = c(0,0), sigma = matrix(c(1, -0.5, -0.5, 1), ncol = 2),
        algorithm = Miwa(steps = 1280))
##[1] 8.447235e-132
##attr(,"error")
##[1] NA
##attr(,"msg")
##[1] "Normal Completion"
有关更多信息,请参阅
?pmvnorm
文档。
因此,你可以调整使用的算法,或者按照Ben在评论中的建议去做。

这几乎是否定的,这是一个数字零。解决方案:
结果谢谢。我将研究文档。我不太懂浮点运算。