如果我希望有95%的机会出现少于1%的对象有故障,我需要多少个样本?


9

我需要确保我的XML网站地图的垃圾少于(链接断开)。URL的列表是成百上千的,即使出于所有原因我也可能不愿意一一测试所有URL,但我还是不愿意这样做:1%

1 - Saved bandwidth
2 - Faster traffic for real clients
3 - Less noise in visitor statistics (because my test would count as a visit)
5 - I could go on...

所以我认为随机取一个子集就足够了,问题是我不知道概率。

我可以使用一个简单的功能吗?

如果有帮助的话,我们可以假设有一个先验信息,可了解链路在运行过程中断裂的可能性。假设在每次运行中,给定链接的断开为。0.75%


您有几个网址?(关于有限人口的推论与关于无限人口的通常推论有些不同。)
Kodiologist

?? 显然数量有限
gurghet

不用说,但是哪个有限数?
Kodiologist

在数十万中,每天都有所不同
gurghet

您的站点地图发生了什么变化?您每天是否有完全不同的站点地图,还是添加或删除了某些URL?如果是后者,您是否可以跟踪已添加或删除的内容,从而只需要检查新内容?
Kodiologist

Answers:


4

因此,这取决于您对破损率的先验分布,但是:大约3600。

import scipy as sp

p = 0.0075
threshold = .01
confidence = .95

f = lambda n: sp.stats.beta(a=n*p, b=n*(1-p)).cdf(threshold) - confidence
print(sp.optimize.fsolve(f, 1000)[0])

>> 3627.45119614

这里的想法是将链接断裂作为Bernoulli试验进行建模,并将对断裂率的信念作为beta分布进行建模。Beta发行版与Bernoulli发行共轭,并且在运行试用版时更新Beta发行版的方法非常简单:

  • 如果失败,则将其添加到第一个参数α
  • 如果成功,则在第二个参数添加一个β

因此,如果我们从分布开始,看到失败的概率约为0.75%,那么在95%的分布质量低于0.01之前需要进行多少次试验?大约3600。Beta(0,0)


在贝叶斯分析中更有意义的情况之一,因为先验不仅是野蛮的猜测,更不是操纵意图的意图。但是,也许您可​​以对参数进行扫描,例如从0.5到0.9%,然后绘制相应的所需pn
David Ernst

1

对于失败几率的样本,失败数的方差为。因此,使用中心极限定理,以为标准法线, 现在我们希望以上等于95 %,其对应于。求解,我得到。np=0.0075np(1p)Z

P(failures<.01n)P(Z<n(.01p)np(1p))P(Z<n.02898)
Z=1.645n=3222n.02898=1.645n=3222
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.