Python:解决复杂的场景分析

时间:2017-11-24 03:17:42

标签: python

我有兴趣了解是否已发布某些类型的代码或软件包可以帮助我解决以下问题:

事件发生30次。

每个事件都可以返回6个不同的值(0,1,2,3,4,5),每个值都有自己独特的概率。

我想估计总值的概率 - 在所有情景模拟之后 - 高于X(例如24)。

我遇到的问题是我不能 - 在给定的事件中,值为3乘以值3 * 3的概率,并将其与先前获得的值一起添加。相反,我需要模拟可能的每一个变化。

有没有相对简单的解决方案来解决这个问题?

1 个答案:

答案 0 :(得分:0)

首先,您所描述的不是情景分析。也就是说,Python可用于估计分析解决方案可能很难或无法找到的复杂概率。

假设一个事件发生了30次,结果为[0,1,2,3,4,5],并且每个结果都有一个概率由列表给出(例如)p = [.1,.2,.2,.3,.1,.1],您可以近似概率所有30个事件都大于X

import numpy as np

X = 80

np.mean([sum(np.random.choice(a=[0,1,2,3,4,5], size= 30,p=[.1,.2,.2,.3,.1,.1])) > X for i in range(10000)])