You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何pbinom与sum(dbinom)两个表达式返回结果不一致?

问题原因解析

你遇到的结果差异,核心是对pbinom函数lower.tail=FALSE参数的理解偏差:

  • pbinom(z, N, theta, lower.tail = FALSE)返回的是**P(X > z)**的概率,也就是离散变量X严格大于z的上尾概率。
  • 而sum(dbinom(z:N, N, theta))计算的是P(X ≥ z),也就是X大于等于z的概率。

对应你的代码,z=3时:

  • pbinom(3, 45, 0.014, lower.tail=FALSE)实际算的是P(X>3),也就是X取4到45的概率和;
  • sum(dbinom(3:45, 45, 0.014))算的是X取3到45的概率和,比前者多了X=3这一项的概率dbinom(3,45,0.014)。

如果要让两者结果一致,你需要把pbinom的第一个参数改成z-1,也就是:

pbinom(z-1, N, theta, lower.tail = FALSE)

这样它就会返回P(X>2)=P(X≥3),和sum(dbinom(z:N, N, theta))的结果完全匹配。

拿你的参数验证:

  • dbinom(3,45,0.014)的值约为0.0176;
  • sum(dbinom(3:45,45,0.014)) ≈ 0.0203;
  • pbinom(3,45,0.014,lower.tail=FALSE) ≈ 0.0027,刚好是0.0203减去0.0176的结果。

内容的提问来源于stack exchange,提问作者user21475223

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:17:09