Il existe un service Web où je peux demander des informations sur un élément aléatoire. Pour chaque demande, chaque article a une chance égale d'être retourné.
Je peux continuer à demander des articles et enregistrer le nombre de doublons et uniques. Comment puis-je utiliser ces données pour estimer le nombre total d'articles?
Réponses:
Il s'agit essentiellement d'une variante du problème du collecteur de coupons.
S'il y a éléments au total et que vous avez pris une taille d'échantillon s avec remplacement, la probabilité d'avoir identifié u éléments uniques est P r ( U = u | n , s ) = S 2 ( s , u ) n !n s u
oùS2(s,u)donne desnombres de Stirling du second type
Maintenant , tout ce dont vous avez besoin est une distribution préalable , appliquer le théorème de Bayes, et obtenir une distribution postérieure pour N .Pr(N=n) N
la source
J'ai déjà donné une suggestion basée sur les nombres de Stirling du deuxième type et les méthodes bayésiennes.
Pour ceux qui trouvent les nombres de Stirling trop grands ou les méthodes bayésiennes trop difficiles, une méthode plus grossière pourrait être d'utiliser
et recalculer en utilisant des méthodes numériques.
Par exemple, en prenant l'exemple de GaBorgulya avec et un observé U = 265 , cela pourrait nous donner une estimation de n ≈ 1180 pour la population.s=300 U=265 n^≈1180
Si cela avait été la population, cela nous aurait donné une variance pour d'environ 25, et deux écarts types arbitraires de chaque côté de 265 seraient d'environ 255 et 275 (comme je l'ai dit, c'est une méthode approximative). 255 nous aurait donné une estimation pour n environ 895, tandis que 275 aurait donné environ 1692. L'exemple 1000 est confortablement dans cet intervalle.U n
la source
Vous pouvez utiliser la méthode de capture-recapture , également mis en œuvre comme le paquet Rcapture R .
Voici un exemple, codé en R. Supposons que le service Web a N = 1000 éléments. Nous ferons n = 300 demandes. Générez un échantillon aléatoire où, en numérotant les éléments de 1 à k, où k est le nombre d'éléments différents que nous avons vus.
Le résultat de la simulation est
ainsi, parmi les 300 demandes, 4 éléments ont été vus 3 fois, 27 éléments vus deux fois et 234 éléments vus une seule fois.
Maintenant, estimez N à partir de cet échantillon:
Le résultat:
Ainsi , seul le modèle Mh Chao a convergé, on estime N = 1262,7.N^
EDIT: Pour vérifier la fiabilité de la méthode ci-dessus, j'ai exécuté le code ci-dessus sur 10000 échantillons générés. Le modèle Mh Chao convergeait à chaque fois. Voici le résumé:
la source