我正在编写一个包含概率列表的Python程序。每个概率代表一个事件的灾难性结果:
# doing six different events, the array is the risk of each having a bad outcome:
list = [0.2, 0.1, 0.4, 0.3, 0.2, 0.4]
每个事件都可以发生一次或多次。他们的订单无关紧要。不止一个事件可能具有相同的概率。我如何计算一个或多个这些事件发生的可能性?
我很抱歉这是一个基本问题。自从我有这样的事情以来已经很多年了,当我搜索这个时,术语很难。汗学院似乎也没有提供答案。如果答案很简单,只要告诉我搜索什么就足够了。提前致谢! (:
答案 0 :(得分:5)
看待这个问题的一个好方法是考虑相反的问题:这些事件的 none 发生的概率是多少?也就是说,
的概率是多少事件1未发生且事件2未发生等等。
这只是产品
(1 - p1)*(1 - p2)* .....
对于导致概率p_none的每个概率。然后采取相反的方式:
(1 - p_none)
并且您有一个或多个事件发生的可能性。
答案 1 :(得分:2)
基本上你想要1 - (没有发生事件的机会)很容易。从1开始,然后通过列表乘以1 - 数字:
伪码:
result = 1
foreach item in list
result = result * (1 - item)
end foreach
return 1 - result
答案 2 :(得分:1)
如果列出的概率都是事件i发生1次或更多次的概率,那么这应该有效:
问题1或更多发生== 1.0 - 概率没有发生
概率没有发生=每次事件我没有发生概率的产物
概率事件我没有发生= 1.0 - 概率事件我发生
当然,这假设每个事件类别都是独立的。
所以在你的情况下,prob = 1.0 - (1.0-0.2)(1.0-0.1)(1.0-0.4)(1.0-0.3)(1.0-0.2) *(1.0-0.4)