我估计了一个5维正态Copula并用任意上界调用了pCopula函数。正如你所看到的结果有所不同,当同样的函数被调用几次:R:分布函数返回“随机”值
library(copula)
normal.cop = normalCopula(c(0.5517099 ,0.3519115, 0.5681927, 0.4931297, 0.3733265, 0.4956172, 0.3931483, 0.4177506, 0.4112307, 0.6423421), dim=5, dispstr = "un")
pCopula(c(0.4,0.5,0.3,0.2,0.9),normal.cop)
>0.07235714
pCopula(c(0.4,0.5,0.3,0.2,0.9),normal.cop)
>0.07233399
显然是在利用一些蒙特卡洛积分方法,因为相同的set.seed函数值的结果都是一样的:
set.seed(1)
pCopula(c(0.4,0.5,0.3,0.2,0.9),normal.cop)
>0.07234068
我在哪里可以更改该功能的默认设置?我需要非常可靠的结果,并且想要手动设置迭代次数,误差容限等。该函数没有任何参数来做到这一点。根据documentation不过,这些函数使用pmvnorm。 pmvnorm中没有随机组件,我可以在pmvnorm中设置迭代。有没有任何选项可以在pCoupla中做到这一点?
感谢您邀请非随机算法我通过电子邮件(我是'copula'的维护者)。 –