二项式分布计算
Binomial Distribution Calculation
我有 n 台服务器,我想知道我需要多少台服务器才能使至少 10 台服务器处于活动状态的概率为 0.99。服务器发生故障的概率等于 0.01.
到目前为止,我知道我至少需要 10 台服务器才能处于活动状态。所以概率是:
sum (from k = 10 to n) of (n choose k)*(0.99 ^ k)*(0.01^(n-k)) = 0.99
而且我必须对从 10 到 n 的每个 n 执行此操作。我想知道有没有更短的方法?就像如果我做了 9 台服务器失败的概率,我做了一个减去这个概率,就像这样:
1 - (n choose 9)*(0.01^9)*(0.99^(n-9)) = 0.99
这会给我正确答案吗?请帮助:)
更新,我用在线计算器求解了后一个方程(1 - 恰好 9 个失败的概率),我得到了可用于使至少 10 个服务器失败的概率的最大服务器数大于 0.99 的活动将是 380 个服务器,任何多于此将导致至少 10 个服务器处于活动状态的概率小于 0.99。
不过我不确定这是否正确。 :)
由于您希望在 n 次试验中至少成功 X=10 次,因此每次试验成功 p=0.99,
您可以考虑共轭并在 (P(X<=9|n=N,p=0.99) < 0.01).
中计算出 n
这部分你可以使用二项式 cdf
在你的情况下它变成了
现在我们要算出需要多少次试验n才能使上述cdf的评价小于0.01
例如,您可以使用 python 进行数字搜索:
from scipy.stats import binom
for n in range(1000):
p = binom.cdf(9, n, 0.99)
if p < 0.01:
print(n)
break
并且您会看到需要不超过 11 台服务器才能确保至少有 10 台服务器处于活动状态的概率为 0.99:-)
我有 n 台服务器,我想知道我需要多少台服务器才能使至少 10 台服务器处于活动状态的概率为 0.99。服务器发生故障的概率等于 0.01.
到目前为止,我知道我至少需要 10 台服务器才能处于活动状态。所以概率是:
sum (from k = 10 to n) of (n choose k)*(0.99 ^ k)*(0.01^(n-k)) = 0.99
而且我必须对从 10 到 n 的每个 n 执行此操作。我想知道有没有更短的方法?就像如果我做了 9 台服务器失败的概率,我做了一个减去这个概率,就像这样:
1 - (n choose 9)*(0.01^9)*(0.99^(n-9)) = 0.99
这会给我正确答案吗?请帮助:)
更新,我用在线计算器求解了后一个方程(1 - 恰好 9 个失败的概率),我得到了可用于使至少 10 个服务器失败的概率的最大服务器数大于 0.99 的活动将是 380 个服务器,任何多于此将导致至少 10 个服务器处于活动状态的概率小于 0.99。
不过我不确定这是否正确。 :)
由于您希望在 n 次试验中至少成功 X=10 次,因此每次试验成功 p=0.99, 您可以考虑共轭并在 (P(X<=9|n=N,p=0.99) < 0.01).
中计算出 n这部分你可以使用二项式 cdf
在你的情况下它变成了
现在我们要算出需要多少次试验n才能使上述cdf的评价小于0.01
例如,您可以使用 python 进行数字搜索:
from scipy.stats import binom
for n in range(1000):
p = binom.cdf(9, n, 0.99)
if p < 0.01:
print(n)
break
并且您会看到需要不超过 11 台服务器才能确保至少有 10 台服务器处于活动状态的概率为 0.99:-)