我有一个名为strVara
的R函数,当我的代码中的Likelihood
为observations
时,该函数效果很好。但是,我无法理解为什么seq(1, 30)
开始提供所有 ZEROS 。我很欣赏有关如何克服这个问题的想法?
这是我的R代码:
observations = seq(1, 50)
答案 0 :(得分:3)
这只是数字错误。
观察dnorm(50, sd = 2)
已接近.Machine$double.xmin
:
dnorm(60, sd = 2)
# [1] 7.368231e-197
.Machine$double.xmin
# [1] 2.225074e-308
所以当你prod
一堆这些时,他们会(数字地)成为0:
prod(dnorm(58:60, sd = 2))
# [1] 0
见here。如果你试图绘制一个正常的可能性,那么与平均值相差超过3个标准差就没有意义。