为什么要使用蒙特卡罗方法?

时间:2010-05-26 22:45:00

标签: montecarlo

什么时候应该使用蒙特卡罗方法?

例如,为什么Joel决定使用蒙特卡罗方法Evidence Based Scheduling而不是有条不紊地处理过去一年的所有用户数据?

5 个答案:

答案 0 :(得分:17)

蒙特卡罗方法常用when the dimensionality of the problem is too high for traditional schemes。关于这一主题的伟大的介绍性论文是Persi Diaconis'The Markov Chain Monte Carlo Revolution

答案 1 :(得分:12)

假设您想估计一些兴趣量。在Joel的例子中,“发货日期”是您想要估算的。在大多数此类情况下,随机因素会影响我们的估算。

如果您有随机数量,通常需要知道其均值和标准差,以便您可以采取适当的措施。在简单的情况下,您可以将数量建模为标准分布(例如,正态分布),对于平均值和标准偏差存在分析公式。但是,存在许多不存在分析公式的情况。在这种情况下,我们采用模拟来代替均值和标准差的解析解。这个想法是:

步骤1:使用适当的分布生成影响感兴趣数量的因素

第2步:计算感兴趣的数量

多次重复步骤1和2,并计算您想知道的经验平均值和标准差。

以上是蒙特卡罗应用的典型应用。请参阅Jarrod提供的维基百科链接,了解几个此类应用程序和一些有趣的应用程序示例,其中没有固有的随机性(例如,pi的估计)。

答案 2 :(得分:3)

Wikipedia有一篇关于蒙特卡罗模拟方法的好文章。我曾经在一些场合使用蒙特卡罗 - 简而言之,当试图使用非常随机的样本集来投射结果时,MC方法倾向于给出准确的答案,并且有些人通常会使用直觉来尝试猜测趋势。不幸的是,尝试解释MC方法非常困难所以请查看文章。

答案 3 :(得分:2)

因为在安排编程任务时估计通常分布很广,所以统计处理它们更有意义。

如果我们采取一项承担100项任务的项目,估算中的错误将会消失,最终会得出一个分布,表明项目完成的可能性是一个范围。

它还避免了一些严重的问题,如任务缓冲和学生综合症,甚至进一步扭曲结果。

答案 4 :(得分:2)

有时检查所有选项简直是禁止的。