Python中的蒙特卡洛模拟

时间:2019-01-05 07:36:20

标签: python montecarlo

我刚刚为蒙特卡洛模拟编写了一个简单的代码:

def loss(r, loc, arg, scale, lam):
    X = []
    for x in range(27000): 
        if(r < poisson.cdf(x, lam)):  
            out = 0
        else:
            out = lognorm.rvs(s=arg,loc=loc, scale=scale)
        X.append(out)
    return np.sum(X)  

losses = []
for _ in range(2000):
    r = np.random.random()
    losses.append(loss(r, loc, arg, scale, lam))
E = np.sum(losses)/len(losses)
print(E)

plt.hist(losses, bins='auto')

但是现在,总和仅由对数正态分布的随机变量组成-是否有可能进行合并,例如2个蒙特卡洛模拟(1个对数正态和1个伽马)并将其绘制在一张直方图中?

在此先感谢并致以问候

1 个答案:

答案 0 :(得分:0)

检查允许您同时作为线程运行函数的线程模块: https://www.tutorialspoint.com/python/python_multithreading.htm

要显示多个图,可以使用matplotlib的子图功能: https://matplotlib.org/gallery/subplots_axes_and_figures/subplot.html