我对C#很陌生,并使用蒙特卡罗模拟进行项目。基本上我的问题如下。
我有两个不确定的变量输入A和B,它们将通过模型并给出输出C.所以C = f(A,B)。我知道A的概率分布(三角形)和B的概率分布(离散)。我怎样才能得到C的概率分布?
我现在所做的是我可以根据A的三角分布以及B的离散分布生成随机数。每对随机生成的A和B给出结果C.我运行该模型1000次,因此我可以得到1000个可能的C值。难度是得到每个C值的相应概率。显然它不是1 /除非C均匀分布,否则为1000。我可以使用任何蒙特卡罗模拟软件包/库吗?
答案 0 :(得分:2)
将它们放入直方图中。
例如,创建1000个箱,每个箱对应一个小间隔。然后运行模型TotalN = 1000000次并计算每个间隔中落下的值。
然后计算n[i]/TotalN/WidthOfBin
以获得该区间内的近似概率密度。
答案 1 :(得分:0)
要直观地理解问题中涵盖的概念,请阅读Sam Savage的The Flaw Of Averages。它提供了示例代码,演示项目和电子表格,展示了如何对上述问题进行建模。