【发布时间】:2019-09-17 12:37:08
【问题描述】:
我编写了一个蒙特卡洛程序来积分函数 f(x)。
我现在被要求计算百分比误差。
通过快速的文献搜索,我发现这可以用公式 %error = (sqrt(var[f(x)]/n))*100 给出,其中 n 是我使用的随机点数得出我的答案。
但是,当我运行我的集成代码时,我的百分比误差大于这个公式给出的百分比。
我有正确的公式吗?
任何帮助将不胜感激。谢谢x
【问题讨论】:
-
“我做错了什么吗?”我们怎么可能知道?请给minimal reproducible example。很难调试你看不到的代码。另外——您是在尝试估计错误,还是计算实际错误(这需要知道您尝试估计的真实值)?
-
嗨@John Coleman,我认为这不是我的代码的直接问题,而是我用来解决错误的数学问题。我不能发布我的整个代码,因为它是我课程的一部分,抱歉。
-
你给出的公式似乎是一个标准误差——用于估计误差。它不可能为您提供特定功能的确切错误。
-
但是 var[f(x)] 不是指一个特定的函数吗?即,我已经在我正在整合的范围内找到了我正在整合的函数的 var。
-
百分比误差类似于
(true_value - estimated_value)/true_value * 100,它需要知道真实值,在这种情况下它是一个积分。您给出的似乎是错误的估计器。
标签: python math percentage montecarlo