1%未満のオブジェクトが不良である可能性を95%にしたい場合、いくつのサンプルが必要ですか?


9

XMLサイトマップのゴミ(リンク切れ)が未満であることを確認する必要があります。URLのリストは数十万にのぼり、それらすべてを1つずつテストすることが可能であるとしても、多くの理由で、私はむしろそうではありません。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%


URLはいくつありますか?(有限母集団についての推論は、無限母集団についての通常の推論の場合とは多少異なります。)
Kodiologist

?? 明らかに有限数
gurghet

言うまでもありませんが、有限数はどれですか。
コディオロジスト2017

10万人を超える毎日は少し異なります
gurghet

それを変えているあなたのサイトマップに何が起こっていますか?毎日完全に異なるサイトマップがありますか、それともいくつかのURLが追加および削除されますか?後者の場合、追加または削除されたものを追跡して、新しいものだけをチェックする必要がありますか?
コディオロジスト2017

回答:


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

ここでの考え方は、リンクの破損をベルヌーイ試行としてモデル化し、破損率に関する信念をベータ分布としてモデル化することです。ベータ分布はベルヌーイ分布と共役であり、試行を実行するときにベータ分布を更新する方法は非常に簡単です。

  • 失敗した場合は、最初のパラメータ 1を追加しますα
  • 成功した場合は、2つ目のパラメーター 1を追加します。β

Beta(0,0)


pn

1

np=0.0075np(1p)Z

P(failures<.01n)P(Z<n(.01p)np(1p))P(Z<n.02898)
Z=1.645n.02898=1.645n=3222
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.