Resolver analíticamente el muestreo con o sin reemplazo después de Poisson / binomio negativo

8

Version corta

Estoy tratando de resolver / aproximar analíticamente la probabilidad compuesta que resulta de los sorteos independientes de Poisson y el muestreo adicional con o sin reemplazo (realmente no me importa cuál). Quiero usar la probabilidad con MCMC (Stan), por lo que necesito la solución solo hasta un término constante. En última instancia, quiero modelar un proceso donde los sorteos iniciales son de neg. distribución binomial, pero creo que podré llegar allí con una solución para el caso de Poisson.

Es muy posible que la solución no sea factible (no entiendo las matemáticas lo suficiente como para saber si se trata de un problema simple o muy difícil). Por lo tanto, también me interesan las aproximaciones, los resultados negativos o la intuición de por qué el problema es probablemente insoluble (por ejemplo, en comparación con un problema difícil conocido). Los enlaces a documentos / teoremas / trucos útiles que me ayudarán a avanzar son buenas respuestas, incluso si su conexión con el problema en cuestión no está completamente resuelta.

Declaración formal

Más formalmente, primero se dibuja de forma independiente y luego muestro elementos al azar de todos los para obtener . Es decir, dibujo bolas de colores de una urna donde la cantidad de bolas de color se extrae de . Aquí, se supone conocido y fijo y condicionamos . Técnicamente, el muestreo se realiza sin reemplazo, pero asumir que el muestreo con reemplazo no debería ser un gran problema.Y=(y1,...,ynorte),ynortePAGSoyos(λnorte)kYZ=(z1,...,znorte)knortePAGSoyos(λnorte)knorteynortek

He intentado dos enfoques para resolver el muestreo sin reemplazo (ya que este parecía ser el caso más fácil debido a la cancelación de algunos términos), pero me quedé atascado con ambos. La probabilidad al tomar muestras sin reemplazo es:

PAGS(Z=(z1,...,znorte)El |Λ=(λ1,...,λnorte))=Y;norte:ynorteznorte(norte=1norte(ynorteznorte)(norte=1norteynortek)norte=1nortePAGSoyossonorte(ynorteEl |λnorte))PAGS(norteynortekEl |Λ)

EDITAR: La sección "soluciones intentadas se eliminó porque la solución en la respuesta no se basa en ellas (y es mucho mejor)

Martin Modrák
fuente

Respuestas:

3

El caso sin reemplazo

Si tiene variables distribuidas independientes de Poissonnorte

YyoPois(λyo)

y condición en

j=yonorteYj=K

entonces

{Yyo}Multinom(K,(λyoj=1norteλj))

Por lo tanto, puede llenar su urna con veces bolas de colores , como dibujar primero el valor para el total (que es el límite distribuido de Poisson por la condición ) y luego llenar la urna con bolas de acuerdo con la distribución multinomial.norteYyoKKkK

Este llenado de la urna con bolas, de acuerdo con una distribución multinomial, es equivalente a dibujar para cada bola independientemente el color de la distribución categórica. Luego puede considerar las primeras bolas que se han agregado a la urna como la definición de la muestra aleatoria (cuando esta muestra se extrae sin reemplazo) y la distribución para esto es solo otro vector distribuido multinomial: Kk{Zyo}

{Zyo}Multinom(k,(λyoj=1norteλj))

simulación

##### simulating sample process for 3 variables #######


# settings
set.seed(1)
k = 10
lambda = c(4, 4, 4)
trials = 1000000

# observed counts table
Ocounts = array(0, dim = c(k+1, k+1, k+1))

for (i in c(1:trials)) {
  # draw poisson with limit sum(n) >= k
  repeat {
    Y = rpois(3,lambda)
    if (sum(Y) >= k) {break}
  }
  # setup urn
  urn <- c(rep(1, Y[1]), rep(2, Y[2]), rep(3, Y[3]))
  # draw from urn
  s <- sample(urn, k, replace=0)
  Z = c(sum(s==1),sum(s==2),sum(s==3))
  Ocounts[Z[1]+1, Z[2]+1, Z[3]+1] = Ocounts[Z[1]+1, Z[2]+1, Z[3]+1] + 1
}



# comparison
observed = rep(0, 0.5*k*(k+1))
expected = rep(0, 0.5*k*(k+1))   
t = 1

for (z1 in c(0:k)) {
  for (z2 in c(0:(k-z1))) {  
    z3 = k-z1-z2 
    observed[t] = Ocounts[z1+1, z2+1, z3+1]
    expected[t] = trials*dmultinom(c(z1, z2, z3), prob=lambda)
    t = t+1
  }
}

plot(observed,expected)
x2 <- sum((observed-expected)^2/expected)
pvalue <- 1-pchisq(x2, 66-1)

resultados

> # results from chi-sq test
> x2
[1] 75.49286
> pvalue
[1] 0.1754805

Binomio negativo

Los argumentos funcionarían igual para el caso de una distribución binomial negativa que resulta ( bajo ciertas condiciones ) en una distribución multinomial de Dirichlet.

A continuación se muestra un ejemplo de simulación.

##### simulating sample process for 3 variables #######

# dirichlet multinomial for vectors of size 3
ddirmultinom =  function(x1,x2,x3,p1,p2,p3) {
  (factorial(x1+x2+x3)*gamma(p1+p2+p3)/gamma(x1+x2+x3+p1+p2+p3))/
  (factorial(x1)*gamma(p1)/gamma(x1+p1))/
  (factorial(x2)*gamma(p2)/gamma(x2+p2))/
  (factorial(x3)*gamma(p3)/gamma(x3+p3))
}

# settings
set.seed(1)
k = 10
theta = 1
lambda = c(4,4,4)
trials = 1000000

# calculating negative binomials pars
means = lambda
vars = lambda*(1+theta)

ps = (vars-means)/(vars)
rs = means^2/(vars-means)


# observed counts table
Ocounts = array(0, dim = c(k+1,k+1,k+1))

for (i in c(1:trials)) {
  # draw poisson with limit sum(n) >= k
  repeat {
    Y = rnbinom(3,rs,ps)
    if (sum(Y) >= k) {break}
  }
  # setup urn
  urn <- c(rep(1,Y[1]),rep(2,Y[2]),rep(3,Y[3]))
  # draw from urn
  s <- sample(urn,k,replace=0)
  Z = c(sum(s==1),sum(s==2),sum(s==3))
  Ocounts[Z[1]+1,Z[2]+1,Z[3]+1] = Ocounts[Z[1]+1,Z[2]+1,Z[3]+1] + 1
}



# comparison
observed = rep(0,0.5*k*(k+1))
expected = rep(0,0.5*k*(k+1))   
t = 1

for (z1 in c(0:k)) {
  for (z2 in c(0:(k-z1))) {  
    z3 = k-z1-z2 
    observed[t]=Ocounts[z1+1,z2+1,z3+1]
    expected[t]=trials*ddirmultinom(z1,z2,z3,lambda[1]/theta,lambda[2]/theta,lambda[3]/theta)
    t = t+1
  }
}

plot(observed,expected)
x2 <- sum((observed-expected)^2/expected)
pvalue <- 1-pchisq(x2,66-1)

# results from chi-sq test
x2
pvalue
Sexto Empírico
fuente
1
Gracias por la respuesta. Ya probé este enfoque y tengo dos problemas a) no veo por qué condicionar la suma es lo mismo que volver a muestrear (matemáticamente) yb) mis datos simulados (admitidamente limitados) de Poisson + remuestreo no podrían ajustarse bien Con distribución multinomial. ¿Podría dar más detalles sobre por qué el acondicionamiento y el remuestreo serían lo mismo?
Martin Modrák
Oh, en lecturas adicionales, creo que entiendo tu punto. Tal vez acabo de cometer un error estúpido con las simulaciones, iré a comprobar.
Martin Modrák
Yo uso dos pasos. 1) llenar la urna conYyo bolas de colores dibujando Yyo de distribuciones independientes de Poisson, es equivalente a llenar la urna dibujando un total Yyo=K de la distribución de Poisson y luego el Yyode una distribución multinomial. 2) dibujar un subconjunto de bolas de una urna llena de bolas de colores cuyos números están definidos por una distribución multinomial, es equivalente a una distribución multiniomial anotadora (intuición, se puede ver que la urna se llena con el color de cada bola de un sorteo la distribución categórica).
Sextus Empiricus
Sí, hubo un error en mi código de simulación :-) ¡Gracias por la ayuda! Estás en lo correcto y también entiendo el paso en tu razonamiento que no vi anteriormente. Estoy tratando de entender por qué la misma relación no es válida para neg. Distribución multinomial binomial y Dirichlet. (suponiendo que las variables NB tienen factores de Fano constantes, condicionando su suma, obtengo DM), porque "el muestreo sin reemplazo del multinomial" es multinomial, pero "el muestreo sin reemplazo del DM" no es DM (¿ese razonamiento es correcto en su opinión? )
Martin Modrák
1
Resulta que también estropeé la segunda simulación. Parece funcionar también para el caso de DM.
Martin Modrák