dnorm 和 dmvnorm 结果不匹配
dnorm and dmvnorm results not matching
我注意到从 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
对于dmvnorm
,您指定协方差;对于 dnorm
,您设置标准差。因此,如果您将 diag(2,2)
提供给前者,您希望将 sqrt(2)
提供给后者。
prod(dnorm(rep(1,2),0,sqrt(2)))
# [1] 0.04826618
我注意到从 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
对于dmvnorm
,您指定协方差;对于 dnorm
,您设置标准差。因此,如果您将 diag(2,2)
提供给前者,您希望将 sqrt(2)
提供给后者。
prod(dnorm(rep(1,2),0,sqrt(2)))
# [1] 0.04826618