Preciso garantir que meu sitemap XML tenha menos de lixo (links quebrados). A lista de URLs está na casa dos centenas de milhares e, mesmo que fosse possível testá-los todos 1 por 1, prefiro não, por vários motivos:
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...
Então eu acho que pegar um subconjunto aleatório seria suficiente, o problema é que não conheço probabilidades.
Existe uma função simples que eu possa usar?
Se isso ajudar, podemos supor ter uma informação a priori sobre a probabilidade de um link ser quebrado entre as execuções. Digamos que, entre as execuções, haja para que qualquer link seja quebrado.
Respostas:
Portanto, depende da distribuição de sua crença anterior sobre a taxa de quebra, mas: cerca de 3600.
A idéia aqui é modelar quebras de link como um teste de Bernoulli e modelar suas crenças sobre a taxa de quebra como a distribuição beta. A distribuição beta é conjugada à distribuição de Bernoulli , e a maneira de atualizar uma distribuição beta quando você executa uma avaliação é bastante simples:
Portanto, se começamos com uma distribuição e vemos falhas cerca de 0,75% do tempo, quantas tentativas serão necessárias antes de 95% da massa da distribuição ficar abaixo de 0,01? Cerca de 3600.Beta ( 0 , 0 )
fonte
Para amostras com chance de falha, a variação para o número de falhas é . Portanto, usando o teorema do limite central, com normal normal, Agora agora queremos que o acima seja igual a 95 %, que corresponde a . Resolvendo para , recebo .n p = 0,0075 n p ( 1 - p ) Z
fonte