gpt4 book ai didi

r - 为什么 "dnorm"不是总计为 1 的概率?

转载 作者:行者123 更新时间:2023-12-01 11:15:17 24 4
gpt4 key购买 nike

这可能是关于 R 中“dnorm”函数的一些基本/基本问题。假设我通过 z 变换创建了一些 z 分数,并尝试从“dnorm”中求和。

 data=c(232323,4444,22,2220929,22323,13)
z=(data-mean(data))/sd(data)
result=dnorm(z,0,1)
sum(result)
[1] 1.879131

如上,'dnorm' 的和既不是 1 也不是 0。

然后假设我在 z 变换中使用零均值和一个标准差。

 data=c(232323,4444,22,2220929,22323,13)
z=(data-0)/1
result=dnorm(z,0,1)
sum(result)
[1] 7.998828e-38

我仍然没有得到 0 或 1。

如果我的目的是获得等于 1 的概率之和,因为我需要进一步使用它,您建议使用“dnorm”或什至使用其他 PDF 函数的什么方法?

最佳答案

dnorm 返回在正态概率密度 函数中评估的值。它返回概率。您认为在密度函数中评估的转换数据之和应等于 1 或 0 的原因是什么?您正在创建一个随机变量,没有理由让它恰好等于零或一。

整合 dnorm 产生一个概率。在随机变量的整个支持上集成 dnorm 产生一个概率:

integrate(dnorm, -Inf, Inf)
#1 with absolute error < 9.4e-05

事实上,对于所有 xintegrate(dnorm, -Inf, x) 在概念上等于 pnorm(x)

编辑:根据您的评论。

这同样适用于其他连续概率分布(PDF):

integrate(dexp, 0, Inf, rate = 57)
1 with absolute error < 1.3e-05

请注意,?integrate 中的 ... 参数被传递给被积函数。

还记得泊松分布是一个离散概率分布,因此(在传统意义上)对其进行积分是没有意义的。离散概率分布具有概率质量函数 (PMF) 而不是实际返回概率的 PDF。在那种情况下,它应该总和为一。

考虑:

dpois(0.5, lambda = 2)
#[1] 0
#Warning message:
#In dpois(0.5, lambda = 2) : non-integer x = 0.500000

从 0 到“非常”大的数字(即超过泊松分布的支持)求和:

sum(dpois(0:1000000, lambda = 2)) 
#[1] 1

关于r - 为什么 "dnorm"不是总计为 1 的概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52576665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com