i ran confusing situation when calculating normal distribution density in r
using standardized value vs. unstandardized value:
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)}
these 2 should give identical results. however, don't:
> ds(0, 1, 2) [1] 0.2196956 > ds1(0, 1, 2) [1] 0.3106966
it appears might because of numerical differences caused both sqrt
, dnorm
, because if set var = 1
, result identical:
> 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
could point out reason this?
in ds1
, have forgotten 1/sqrt(var)
term:
ds1 <- function(x, mu, var) {dnorm((x-mu)/sqrt(var), mean = 0, sd = 1)/sqrt(var)} > ds(1,2,3) [1] 0.1949697 > ds1(1,2,3) [1] 0.1949697
Comments
Post a Comment