计算数组中 n 个事件的并集概率
Compute probability of union of n events from array
我有一个 PHP 数组,其中包含 N 个概率(N 个不同事件)。所以它看起来像:
$events = [0.85, 1, 0, 0.15, 0.49, 1, 1, 0, 0, 0.59, 0.93]
其中数组中的每个值都是事件发生的概率。我需要计算这些事件合并的概率。也就是说,我如何计算至少一个事件发生的概率?
要计算至少一个事件发生的概率,您必须计算没有事件发生的概率,这是每个事件的 (1 - p[event]
) 的乘积,然后从 1 中减去它。您可以使用此代码执行此操作:
$events = [0.85, 1, 0, 0.15, 0.49, 1, 1, 0, 0, 0.59, 0.93];
$prob = 1.0;
foreach ($events as $event) {
$prob *= (1.0 - $event);
}
echo "probability of at least one event is " . (1 - $prob) . "\n";
输出:
probability of at least one event is 1
请注意,由于您的某些事件发生的概率为 1(即它们肯定会发生),因此至少有一个事件发生的概率也是 1。
我有一个 PHP 数组,其中包含 N 个概率(N 个不同事件)。所以它看起来像:
$events = [0.85, 1, 0, 0.15, 0.49, 1, 1, 0, 0, 0.59, 0.93]
其中数组中的每个值都是事件发生的概率。我需要计算这些事件合并的概率。也就是说,我如何计算至少一个事件发生的概率?
要计算至少一个事件发生的概率,您必须计算没有事件发生的概率,这是每个事件的 (1 - p[event]
) 的乘积,然后从 1 中减去它。您可以使用此代码执行此操作:
$events = [0.85, 1, 0, 0.15, 0.49, 1, 1, 0, 0, 0.59, 0.93];
$prob = 1.0;
foreach ($events as $event) {
$prob *= (1.0 - $event);
}
echo "probability of at least one event is " . (1 - $prob) . "\n";
输出:
probability of at least one event is 1
请注意,由于您的某些事件发生的概率为 1(即它们肯定会发生),因此至少有一个事件发生的概率也是 1。