Якщо я хочу мати 95% шансів на те, що менше 1% об'єктів несправні, скільки зразків мені потрібно?


9

Мені потрібно переконатися, що моя карта XML містить менше ніж 1%сміття (розірвані ланки). Список 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...

Тому я думаю, що вибір випадкового підмножини буде достатнім, проблема полягає в тому, що я не знаю ймовірностей.

Чи є проста функція, яку я можу використовувати?

Якщо це допомагає, ми можемо припустити наявність апріорної інформації про ймовірність того, що посилання буде розірвано через прогони. Скажімо, що через пробіжки є a0.75% будь-яке посилання буде розірвано.


Скільки у вас URL-адрес? (Висновок про кінцеву сукупність дещо відрізняється від звичайного випадку умовиводу про нескінченну популяцію.)
Кодіолог

?? кінцеве число очевидно
гургет

Це само собою зрозуміло, але яке кінцеве число?
Кодіолог

у сотнях тисяч, кожен день дещо інший
гургет

Що відбувається з картою вашого веб-сайту, яка його змінює? Чи є у вас зовсім інша карта сайту кожен день, або деякі URL-адреси додаються та видаляються? Якщо останні, чи можете ви відстежувати, які додані чи вилучені, так що вам потрібно лише перевірити нові?
Кодіолог

Відповіді:


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(0,0)розповсюдження та бачити невдачі приблизно в 75% часу, скільки випробувань пройде, перш ніж 95% маси розподілу буде нижче 0,01? Близько 3600.


Один із тих випадків, коли баєсовський аналіз має більше сенсу, оскільки попередній - це не просто здогад дикої дупи або ще гірший намір маніпулювати. Але, можливо, ви могли б виконати розгортку надp параметр скажіть від 0,5 до 0,9% і побудуйте відповідне необхідне n
Девід Ернст

1

Для n зразки с p=0.0075 шанс виходу з ладу, відмінність за кількістю відмов є np(1p). Отже, використовуючи центральну граничну теорему, сZ стандартний нормальний,

П(невдачі<.01н)П(Z<н(.01-p)нp(1-p))П(Z<н.02898)
Тепер ми хочемо, щоб вищезазначене було рівним 95%, що відповідає Z=1.645. Рішення длян.02898=1.645, Я отримав н=3222.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.