13 votos

Estimar el tamaño de una población que está siendo muestreado por el número de repetir las observaciones

Decir que tengo una población de 50 millones de cosas, y me tome 10 millones de muestras (con reemplazo)... El primer gráfico es que se me ha adjunto muestra cómo muchas veces me muestra la misma "cosa", que es relativamente poco frecuente a medida que la población es más grande que mi muestra.

Sin embargo, si mi población es de sólo 10 millones de cosas, y me tome 10 millones de muestras, como el segundo gráfico muestra que más a menudo muestra la misma cosa repetidas veces.

Mi pregunta es - desde mi tabla de frecuencia de las observaciones (datos en los gráficos de barras) es posible obtener una estimación de la población original de tamaño cuando se trata de un desconocido? Y sería grande si usted podría ofrecer un puntero a cómo ir sobre esto en R.

alt text

10voto

palmsey Puntos 3799

¿Cómo es la Garvan?

El problema es que no sabemos cuántos cero que cuenta son observados. Tenemos la estimación de esta. Un clásico procedimiento estadístico para este tipo de situaciones es la Expectación-Maximización del algoritmo.

Un ejemplo sencillo:

Supongamos que sacamos de un desconocido de la población (de 1.000.000) con una distribución de poisson constante de 0.2.

counts <- rpois(1000000, 0.2)
table(counts)

     0      1      2      3      4      5
818501 164042  16281   1111     62      3

Pero no podemos observar el cero de la cuenta. En su lugar podemos observar este:

table <- c("0"=0, table(counts)[2:6])

table

     0      1      2      3      4      5
     0 164042  16281   1111     62      3

Posibles frecuencias observadas

k <- c("0"=0, "1"=1, "2"=2, "3"=3, "4"=4, "5"=5)

Iniciar la media de la distribución de Poisson - acaba de tomar una conjetura (que sabemos que es de 0.2 aquí).

lambda <- 1 
  1. Expectativa Distribución De Poisson

    P_k <- lambda^k*exp(-lambda)/factorial(k)
    P_k
                  0           1           2           3           4           5
    0.367879441 0.367879441 0.183939721 0.061313240 0.015328310 0.003065662  
    n0 <- sum(table[2:6])/(1 - P_k[1]) - sum(table[2:6])
    
    
    n0
           0
    105628.2     
    table[1] <-  105628.2
    
  2. Maximización

    lambda_MLE <- (1/sum(table))*(sum(table*k))        
    lambda_MLE        
    [1] 0.697252        
    lambda <- lambda_MLE
    
  3. Segunda iteración

    P_k <- lambda^k*exp(-lambda)/factorial(k)        
    n0 <- sum(table[2:6])/(1 - P_k[1]) - sum(table[2:6])       
    table[1] <-  n0 
    lambda <- (1/sum(table))*(sum(table*k))
    
    
    

Ahora iterar hasta que la convergencia:



[1,]   361517.1  0.5537774

Nuestra estimación de la población es 1003774 y nuestra tasa de poisson se estima en 0.1994473 - esta es la estimación de la proporción de la población muestreada. El principal problema que se tiene en los típicos problemas biológicos que se trata es suposición de que la tasa de poisson es una constante.

Lo siento por el largo aliento post - esta wiki no es realmente adecuado para R código.

8voto

Berek Bryan Puntos 349

Esto suena como una forma de "marcar y recapturar" también conocida como la "captura-recaptura", una técnica bien conocida en la ecología (y algunos otros campos, tales como la epidemiología). No es mi área, pero el artículo de la Wikipedia en marca y recaptura parece razonable, aunque su situación no es la que el Lincoln–Petersen método explicado no se aplica.

Creo que shabbychef de uno es el camino correcto para su situación, pero utilizando la distribución de Poisson a la aproximación de la binomial probablemente iba a hacer las cosas un poco más sencillas y debe ser una muy buena aproximación si el tamaño de la población es muy grande, como en sus ejemplos. Creo que conseguir una expresión explícita para la máxima probabilidad de la estimación del tamaño de la población entonces debe ser bastante sencillo (ver, por ejemplo, la Wikipedia de nuevo), aunque no tengo tiempo para trabajar los detalles ahora mismo.

5voto

Akira Puntos 1061

Se puede estimar a través de una distribución binomial. Si hay $n$ sorteos, con reemplazo, de $k$ objetos (con $k$ desconocido), la probabilidad de que un objeto se dibuja una vez en un único sorteo es $P = \frac{1}{k}$. Piense en esto como un coinflip ahora. La probabilidad de que exactamente $m$ cabezas (es decir, $m$ duplicados) de $n$ ensayos es ${n \choose m} P^m (1-P)^{n-m}$. Multiplica esto por $n$ para obtener el número esperado de veces que se observa en el gráfico). Para un gran $n$ puede ser un poco peludo regresar $k$ a partir de los datos, pero para los pequeños $m$, probablemente pueda hacer bien asumiendo el $(1-P)$ plazo es igual a $1$.

edit: una posible forma de solucionar los problemas numéricos es mirar las proporciones de la cuenta. Es decir, si $P_m$ es la probabilidad de sacar $m$ jefes, entonces, $P_{m} / P_{m+1}$ es igual a $(k-1)\frac{m+1}{n-m}$. A continuación, mira las proporciones de cargos de los duplicados de los datos para obtener múltiples estimaciones de $k$, luego tomar la mediana o la media.

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