首页 > 解决方案 > optim() 没有给出正确的最小值

问题描述

我正在optim尝试在二项式检验中找到关键区域,但是在一定的样本量之后,它无法收敛到正确的值。

似乎该功能表现良好,因此不确定为什么此时它停止工作。

N <- 116

optim(1, function(x) abs(1 - pbinom(x, N, 0.1) - 0.05), method = "Brent", lower = 1, upper = N)

上述optim功能适用于N < 116.

标签: r

解决方案


您可能应该使用内置qbinom函数,该函数计算二项分布的分位数(逆 CDF)函数的指定值:它适用于任何合理的 N 值。

N <- 116
qbinom(0.95, size = N, prob = 0.1)

从优化的角度来看,该函数表现不佳:正如这里所解释的,它是分段常数。


推荐阅读