20 votos

Estimar el tamaño de la población a partir de la frecuencia de la muestra duplicados y único

No es un servicio web donde puedo solicitar información acerca de un elemento aleatorio. Para cada solicitud de cada elemento tiene la misma probabilidad de ser devuelto.

Puedo seguir solicitando elementos y registrar el número de duplicados y único. ¿Cómo puedo utilizar estos datos para estimar el número total de artículos?

12voto

Alan Puntos 7273

Esto es esencialmente una variante de la cupón del colector de problema.

Si hay $n$ artículos en total y se han tomado un tamaño de muestra $s$ con reemplazo, a continuación, la probabilidad de tener identificados $u$ artículos únicos $$ Pr(U=u|n,s) = \frac{S_2(s,u) n! }{ (n-u)! n^s }$$ donde $ S_2(s,u)$ da los números de Stirling del segundo tipo

Ahora todo lo que necesita es una distribución previa para $Pr(N=n)$, aplicar el teorema de Bayes, y obtener una distribución posterior para $N$.

4voto

Alan Puntos 7273

Ya he dar una sugerencia basada en los números de Stirling del segundo tipo Bayesiano y métodos.

Para aquellos que encuentran Stirling números demasiado grandes o Bayesiano métodos demasiado difícil, más rugosa método podría ser la utilización de

$$E[U|n,s] = n\left( 1- \left(1-\frac{1}{n}\right)^s\right)$$

$$var[U|n,s] = n\left(1-\frac{1}{n}\right)^s + n^2 \left(1-\frac{1}{n}\right)\left(1-\frac{2}{n}\right)^s - n^2\left(1-\frac{1}{n}\right)^{2s} $$

y volver a calcular utilizando métodos numéricos.

Por ejemplo, tomando GaBorgulya el ejemplo de con $s=300$ y se observa una $U = 265$, esto podría darnos una estimación de $\hat{n} \approx 1180$ de la población.

Si esa hubiera sido la población, a continuación, se nos habría dado una varianza para el $U$ de los cerca de 25, y un arbitrario de dos desviaciones estándar de cada lado de 265 sería de alrededor de 255 y 275 (como ya he dicho, este es un método rough). 255 nos habría dado una estimación de $n$ sobre 895, mientras 275 habría dado acerca de 1692. El ejemplo de la 1000 es cómodamente dentro de este intervalo.

3voto

pirho Puntos 1387

Usted puede utilizar el método de captura-recaptura, que también se implementa como la Rcapture paquete de R.


He aquí un ejemplo, codificado en R. supongamos que el servicio web tiene N=1000 elementos. Vamos a hacer n=300 solicitudes. Generar una muestra aleatoria donde, la numeración de los elementos de 1 a k, donde k es la cantidad de elementos diferentes que vimos.

N = 1000; population = 1:N # create a population of the integers from 1 to 1000
n = 300 # number of requests
set.seed(20110406)
observation = as.numeric(factor(sample(population, size=n,
  replace=TRUE))) # a random sample from the population, renumbered
table(observation) # a table useful to see, not discussed
k = length(unique(observation)) # number of unique items seen
(t = table(table(observation)))

El resultado de la simulación es

  1   2   3 
234  27   4 

por lo tanto, entre el 300 solicitudes hubo 4 artículos visto 3 veces, de 27 artículos visto dos veces, y 234 artículos visto sólo una vez.

Ahora estimación de N a partir de este ejemplo:

require(Rcapture)
X = data.frame(t)
X[,1]=as.numeric(X[,1])
desc=descriptive(X, dfreq=TRUE, dtype="nbcap", t=300)
desc # useful to see, not discussed
plot(desc) # useful to see, not discussed
cp=closedp.0(X, dfreq=TRUE, dtype="nbcap", t=300, trace=TRUE)
cp

El resultado:

Number of captured units: 265 

Abundance estimations and model fits:
                  abundance       stderr      deviance   df           AIC
M0**                  265.0          0.0  2.297787e+39  298  2.297787e+39
Mh Chao              1262.7        232.5  7.840000e-01    9  5.984840e+02
Mh Poisson2**         265.0          0.0  2.977883e+38  297  2.977883e+38
Mh Darroch**          553.9         37.1  7.299900e+01  297  9.469900e+01
Mh Gamma3.5**  5644623606.6  375581044.0  5.821861e+05  297  5.822078e+05

 ** : The M0 model did not converge
 ** : The Mh Poisson2 model did not converge
 ** : The Mh Darroch model did not converge
 ** : The Mh Gamma3.5 model did not converge
Note: 9 eta parameters has been set to zero in the Mh Chao model

Así, sólo el Mh Chao modelo convergente, estimó $\hat{N}$=1262.7.


EDIT: Para comprobar la fiabilidad del método anterior, me encontré con el código de arriba en 10000 generado muestras. El Mh Chao modelo convergente de todos los tiempo. Aquí está el resumen:

> round(quantile(Nhat, c(0, 0.025, 0.25, 0.50, 0.75, 0.975, 1)), 1)
    0%   2.5%    25%    50%    75%  97.5%   100% 
 657.2  794.6  941.1 1034.0 1144.8 1445.2 2162.0 
> mean(Nhat)
[1] 1055.855
> sd(Nhat)
[1] 166.8352

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X