【问题标题】:C# Monte Carlo Simulation Package Needed需要 C# Monte Carlo 模拟包
【发布时间】:2011-02-14 08:09:29
【问题描述】:

我对 C# 比较陌生,并且正在使用 Monte Carlo Simulation 进行项目。基本上我的问题如下。

我有两个不确定的变量输入,A 和 B,它们将通过一个模型并给出一个输出 C。所以 C = f(A,B)。我知道 A 的概率分布(三角形)和 B 的概率分布(离散)。如何获得C的概率分布?

我现在所做的是,我可以根据 A 的三角分布以及 B 的离散分布生成随机数。每对随机生成的 A 和 B 给出一个结果 C。我已经运行了这个模型 1000 次,因此我可以得到 1000 个可能的 C 值。困难是得到每个 C 值的相应概率。显然它不是 1/ 1000 除非 C 是均匀分布的。有没有我可以使用的 Monte Carlo Simulation 包/库?

【问题讨论】:

  • 闻起来像一道作业题。无论如何,你不需要一个包,你需要一本关于统计和蒙特卡罗的书,因为你有数学问题。

标签: c# .net simulation histogram montecarlo


【解决方案1】:

将它们放在直方图中。

例如创建 1000 个 bin,每个 bin 对应一个小区间。然后运行模型 TotalN=1000000 次,计算每个区间有多少个值。

然后计算n[i]/TotalN/WidthOfBin得到该区间的近似概率密度。

【讨论】:

    【解决方案2】:

    要直观地理解问题中涉及的概念,请阅读 Sam Savage 的 The Flaw Of Averages。它提供了示例代码、演示项目和电子表格,展示了如何对上述问题进行建模。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2018-04-12
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      相关资源
      最近更新 更多