Eri*_*ric 3 r normal-distribution probability-density probability-distribution
这可能是关于 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
Run Code Online (Sandbox Code Playgroud)
如上所述,“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
Run Code Online (Sandbox Code Playgroud)
我仍然没有得到 0 或 1 的总和。
如果我的目的是使概率总和等于 1,因为我将需要进一步使用,您建议使用“dnorm”甚至使用其他 PDF 函数的方法是什么?
dnorm返回在正态概率密度函数中评估的值。它并没有返回概率。您认为在密度函数中评估的转换数据的总和应等于 1 或 0 的理由是什么?您正在创建一个随机变量,没有理由它应该完全等于零或一。
积分dnorm产生概率。dnorm对随机变量的整个支持度进行积分产生概率为 1:
integrate(dnorm, -Inf, Inf)
#1 with absolute error < 9.4e-05
Run Code Online (Sandbox Code Playgroud)
事实上,在integrate(dnorm, -Inf, x)概念上pnorm(x)对所有人都相等x。
编辑:根据您的评论。
这同样适用于其他连续概率分布 (PDF):
integrate(dexp, 0, Inf, rate = 57)
1 with absolute error < 1.3e-05
Run Code Online (Sandbox Code Playgroud)
请注意,...参数 from?integrate被传递给被积函数。
还记得泊松分布,比如说,是一个离散的概率分布,因此对其进行整合(在传统意义上)是没有意义的。离散概率分布具有概率质量函数 (PMF) 而不是实际返回概率的 PDF。在这种情况下,它的总和应为 1。
考虑:
dpois(0.5, lambda = 2)
#[1] 0
#Warning message:
#In dpois(0.5, lambda = 2) : non-integer x = 0.500000
Run Code Online (Sandbox Code Playgroud)
从 0 到“非常”大的数字求和(即超过泊松分布的支持):
sum(dpois(0:1000000, lambda = 2))
#[1] 1
Run Code Online (Sandbox Code Playgroud)