Estimación de n en el problema del colector de cupones

14

En una variación del problema del colector de cupones , no conoce el número de cupones y debe determinarlo en función de los datos. Me referiré a esto como el problema de las cookies de fortuna:

Dado un número desconocido de mensajes distintos de cookies de fortuna n , calcule n muestreando las cookies una a la vez y contando cuántas veces aparece cada fortuna. También determine la cantidad de muestras necesarias para obtener un intervalo de confianza deseado en esta estimación.

Básicamente, necesito un algoritmo que muestree los datos suficientes para alcanzar un intervalo de confianza dado, digamos n±5 con un 95% confianza. Para simplificar, podemos suponer que todas las fortunas aparecen con la misma probabilidad / frecuencia, pero esto no es cierto para un problema más general, y una solución a eso también es bienvenida.

Esto parece similar al problema del tanque alemán , pero en este caso, las cookies de fortuna no están etiquetadas secuencialmente y, por lo tanto, no tienen orden.

goweon
fuente
1
¿Sabemos que los mensajes son igualmente frecuentes?
Glen_b -Reinstale a Monica
pregunta editada: Sí
goweon
2
¿Puedes escribir la función de probabilidad?
Zen
2
Las personas que realizan estudios de vida silvestre capturan, etiquetan y liberan animales. Luego deducen el tamaño de la población en función de la frecuencia con la que recuperan animales ya marcados. Parece que su problema es matemáticamente equivalente al de ellos.
Emil Friedman

Respuestas:

6

Para el caso de igual probabilidad / frecuencia, este enfoque puede funcionar para usted.

Sea el tamaño total de la muestra, N sea ​​el número de elementos diferentes observados, N 1 sea ​​el número de elementos vistos exactamente una vez, N 2 sea ​​el número de elementos vistos exactamente dos veces, A = N 1 ( 1 - N 1KNN1N2y Q =N1A=N1(1-norte1K)+2norte2,Q^=norte1K.

Luego, un intervalo de confianza aproximado del 95% en el tamaño total de la población viene dado pornorte

norte^Lowmir=11Q^+1.96AK

n^Upper=11Q^1.96AK

Al implementar, es posible que deba ajustarlos según sus datos.

El método se debe a Good and Turing. Una referencia con el intervalo de confianza es Esty, Warren W. (1983), "Una ley de límite normal para un estimador no paramétrico de la cobertura de una muestra aleatoria" , Ann. Estadístico. , Volumen 11, Número 3, 905-912.

Para el problema más general, Bunge ha producido software libre que produce varias estimaciones. Busque con su nombre y la palabra CatchAll .

Soakley
fuente
1
Me tomé la libertad de agregar la referencia de Esty. Por favor verifique que sea lo que quiso decir
Glen_b -Reinstate Monica
¿Es posible @soakley obtener límites (probablemente límites menos precisos) si solo conoce (tamaño de muestra) y N (número de elementos únicos vistos)? es decir, no tenemos información sobre N 1 y N 2 . KNN1N2
Basj
No sé de una manera de hacerlo con sólo y N . KN.
soakley
2

No sé si puede ayudar, pero es el problema de tomar bolas diferentes durante n pruebas en una urna con m bolas etiquetadas de manera diferente con reemplazo. De acuerdo con esta página (en francés) si X n si la variable aleatoria cuenta el número de bolas diferentes, la función de probabilidad viene dada por: P ( X n = k ) = ( mknmXnP(Xn=k)=(mk)i=0k(1)ki(ki)(im)n

Entonces puede usar un estimador de máxima verosimilitud.

Aquí se da otra fórmula con prueba para resolver el problema de ocupación .

Sylvain
fuente
2

Función de probabilidad y probabilidad

En una respuesta a una pregunta sobre el problema del cumpleaños inverso, Cody Maughan ha dado una solución para una función de probabilidad.

La función de probabilidad para el número de tipos de fortune cooky m cuando dibujamos k diferentes cookies de fortuna en n sorteos (donde cada tipo de cookie de fortuna tiene la misma probabilidad de aparecer en un sorteo) se puede expresar como:

L(m|k,n)=mnm!(mk)!P(k|m,n)=mnm!(mk)!S(n,k)Stirling number of the 2nd kind=mnm!(mk)!1k!i=0k(1)i(ki)(ki)n=(mk)i=0k(1)i(ki)(kim)n

For a derivation of the probability on the right hand side see the the occupancy problem. This has been described before on this website by Ben. The expression is similar to the one in the answer by Sylvain.

Maximum likelihood estimate

We can compute first order and second order approximations of the maximum of the likelihood function at

m1(n2)nk

m2(n2)+(n2)24(nk)(n3)2(nk)

Likelihood interval

(note, this is not the same as a confidence interval see: The basic logic of constructing a confidence interval)

This remains an open problem for me. I am not sure yet how to deal with the expression mnm!(mk)! (of course one can compute all values and select the boundaries based on that, but it would be more nice to have some explicit exact formula or estimate). I can not seem to relate it to any other distribution which would greatly help to evaluate it. But I feel like a nice (simple) expression could be possible from this likelihood interval approach.

Confidence interval

For the confidence interval we can use a normal approximation. In Ben's answer the following mean and variance are given:

E[K]=m(1(11m)n)
V[K]=m((m1)(12m)n+(11m)nm(11m)2n)

Say for a given sample n=200 and observed unique cookies k the 95% boundaries E[K]±1.96V[K] look like:

confidence interval boundaries

In the image above the curves for the interval have been drawn by expressing the lines as a function of the population size m and sample size n (so the x-axis is the dependent variable in drawing these curves).

The difficulty is to inverse this and obtain the interval values for a given observed value k. It can be done computationally, but possibly there might be some more direct function.

In the image I have also added Clopper Pearson confidence intervals based on a direct computation of the cumulative distribution based on all the probabilities P(k|m,n) (I did this in R where I needed to use the Strlng2 function from the CryptRndTest package which is an asymptotic approximation of the logarithm of the Stirling number of the second kind). You can see that the boundaries coincide reasonably well, so the normal approximation is performing well in this case.

# function to compute Probability
library("CryptRndTest")
P5 <- function(m,n,k) {
  exp(-n*log(m)+lfactorial(m)-lfactorial(m-k)+Strlng2(n,k))
}
P5 <- Vectorize(P5)

# function for expected value 
m4 <- function(m,n) {
  m*(1-(1-1/m)^n)
}

# function for variance
v4 <- function(m,n) {
  m*((m-1)*(1-2/m)^n+(1-1/m)^n-m*(1-1/m)^(2*n))
}


# compute 95% boundaries based on Pearson Clopper intervals
# first a distribution is computed
# then the 2.5% and 97.5% boundaries of the cumulative values are located
simDist <- function(m,n,p=0.05) {
  k <- 1:min(n,m)
  dist <- P5(m,n,k)
  dist[is.na(dist)] <- 0
  dist[dist == Inf] <- 0
  c(max(which(cumsum(dist)<p/2))+1,
       min(which(cumsum(dist)>1-p/2))-1)
}


# some values for the example
n <- 200
m <- 1:5000
k <- 1:n

# compute the Pearon Clopper intervals
res <- sapply(m, FUN = function(x) {simDist(x,n)})


# plot the maximum likelihood estimate
plot(m4(m,n),m,
     log="", ylab="estimated population size m", xlab = "observed uniques k",
     xlim =c(1,200),ylim =c(1,5000),
     pch=21,col=1,bg=1,cex=0.7, type = "l", yaxt = "n")
axis(2, at = c(0,2500,5000))

# add lines for confidence intervals based on normal approximation
lines(m4(m,n)+1.96*sqrt(v4(m,n)),m, lty=2)
lines(m4(m,n)-1.96*sqrt(v4(m,n)),m, lty=2)
# add lines for conficence intervals based on Clopper Pearson
lines(res[1,],m,col=3,lty=2)
lines(res[2,],m,col=3,lty=2)

# add legend
legend(0,5100,
       c("MLE","95% interval\n(Normal Approximation)\n","95% interval\n(Clopper-Pearson)\n")
       , lty=c(1,2,2), col=c(1,1,3),cex=0.7,
       box.col = rgb(0,0,0,0))
Sextus Empiricus
fuente
For the case of unequal probabilities. You can approximate the number of cookies of a particular type as independent Binomial/Poisson distributed variables and describe whether they are filled or not as Bernouilli variables. Then add together the variance and means for those variables. I guess that this is also how Ben derived/approximated the expectation value and variance. ----- A problem is how you describe these different probabilities. You can not do this explicitly since you do not know the number of cookies.
Sextus Empiricus