我注意到从dmvnorm(mvtnorm包)返回的值与dnorm(baseR)之间存在显着差异。哪一个是正确的结果,为什么?如果是独立的正态随机变量,我应该使用哪一个?
> mvtnorm::dmvnorm(rep(1,2),rep(0,2), diag(2,2))
[1] 0.04826618
> prod(dnorm(rep(1,2),0,2^2))
[1] 0.009344515
答案 0 :(得分:3)
对于dmvnorm
,您指定协方差;对于dnorm
,您设置标准偏差。因此,如果您向前者提供diag(2,2)
,则需要sqrt(2)
到后者。
prod(dnorm(rep(1,2),0,sqrt(2)))
# [1] 0.04826618