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

optim(Brent法)与optimize求解N>1000二项分布分位数结果错误问题

异常原因

  • optim()、optimize()以及你用到的Brent优化方法均为连续变量优化工具,而二项分布分位数的输入是整数,pbinom()返回的累积概率在相邻整数之间取值不变,你的目标函数会出现大范围平坦区间,优化器很容易在平坦区提前终止迭代,返回错误结果,当N增大到2000左右时,阶梯的间隔占比更小,这个问题会更加明显。
  • 调整min参数也无法解决问题,核心是优化工具和问题域不匹配,不是参数设置的问题。

正确实现方式

R内置了专门的二项分布分位数计算函数qbinom(),无需自行实现优化逻辑,直接调用即可得到准确结果,对应你的需求示例代码如下:

# 计算1-0.1=0.9对应的二项分布分位数
qbinom(p = 0.9, size = 2135, prob = 21/2135)

如果有特殊需求必须自行优化求解,可以选择支持整数域的优化方法,或者对目标函数做平滑处理适配连续优化工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:24:03