2016-12-15 66 views
2

我注意到從dmvnorm(mvtnorm包)返回到dnorm(baseR)的值之間的實質區別。哪一個是正確的結果,爲什麼?在獨立正態隨機變量的情況下,我應該使用哪一個?dnorm和dmvnorm結果不匹配

> 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 

回答

3

對於dmvnorm,指定協方差;對於dnorm,您設置了標準偏差。因此,如果您向前者輸入diag(2,2),則後者需要sqrt(2)

prod(dnorm(rep(1,2),0,sqrt(2))) 
# [1] 0.04826618 
+1

這是一個很好的答案。你願意在你的回答中用「你」代替「你」嗎?讓一個脾氣暴躁的老傢伙開心嗎? –

+0

@ R-Fever我明白了,這樣一個愚蠢的錯誤。 – SBL