-1
使用標準化值對非標準化值在R
計算正態分佈密度,當我跑成令人困惑的情況之間不同的R dnorm結果:標準化和非標準化的值
ds <- function(x, mu, var) {dnorm(x, mean = mu, sd = sqrt(var))}
ds1 <- function(x, mu, var) {dnorm((x-mu)/sqrt(var), mean = 0, sd = 1)}
這兩個應該給予相同的結果。然而,他們不這樣做:
> ds(0, 1, 2)
[1] 0.2196956
> ds1(0, 1, 2)
[1] 0.3106966
看來,這可能是因爲造成這兩個sqrt
和dnorm
數值的差異,因爲如果我設置var = 1
,那麼結果是相同的:
> ds(0, 1, 1)
[1] 0.2419707
> ds1(0, 1, 1)
[1] 0.2419707
> ds1(0, 1, 1.001)
[1] 0.2420916
> ds(0, 1, 1.001)
[1] 0.2419707
任何人都可以指出這是什麼原因?
他們不應該是一樣的。聲明結束。說真的,這是對密度和概率的誤解,而不是一個編程問題,所以它不屬於這裏。 (但的確如此 - 它們不應該是相同的) – Dason
我想你可能會混淆'dnorm'和'pnorm'。如果在示例中將前者替換爲後者,則兩個函數都會返回相同的值。 – MrFlick