gpt4 book ai didi

c++ - 蒙特卡洛误差

转载 作者:行者123 更新时间:2023-11-28 05:59:51 25 4
gpt4 key购买 nike

我编写了一个蒙特卡洛程序来计算 ln(2)。我生成 1-2 范围内的随机 x 和 0-1 范围内的随机 y。如果 y<1/x,我将计数加 1。我对 ln(2) 的估计是 count/n(即上面的 frac)。我试图找到我的估计中的错误,以便在我的估计准确到 2dp 后我可以结束程序。我不确定如何以有意义的方式计算标准偏差。帮忙?

最佳答案

我相信您想要的答案与 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) 的估计的标准偏差的合理估计将是 西格玛/N

这将为您提供一个合理的停止标准(当 sigma/N 足够小以满足您的需要时。)

关于c++ - 蒙特卡洛误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33486741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com