我写了一个monte carlo程序来计算ln(2)。我在1-2范围内生成随机x,在0-1范围内生成随机y。如果y <1 / x我将1添加到我的计数中。我对ln(2)的估计是count / n(即从上面得到的压裂)。我试图在我的估计中找到错误,这样一旦我的估计精确到2dp,我就可以结束程序。我不确定如何以有意义的方式计算标准偏差。帮助
答案 0 :(得分:1)
我相信您想要的答案与binomial random variance相关。
对于二项式变量,您将获得与曲线下的时间U
相关的许多计数,以及它在曲线上方的次数A
。设N = U + A
为样本总数。
U
的标准偏差的合理估计值为sigma = sqrt(U/N * A/N * N)
。这是因为U
是一个二项式随机变量,p
的最佳估计值,U/N
的最佳估计值,它在单次试验中处于曲线下的概率,由1-p
很好地估算。另请注意,A/N
很好地估算了U/N
。
但您估算的内容是ln(2)
,因此对sigma / N
估算值的标准偏差的合理估计值为sigma / N
。
这将为您提供合理的停止标准(当Promise.all([p1, p2])
.then(Function.apply.bind(//correct
function(x, y) {
alert(x + ", " + y); // expecting popup with "55, 44"
},
null))
);
);
足够小以满足您的需求时。)