θ θ ∼ Pr ( θ | datos ) i i { w i } θ ∼ N ( μ i , σ 2 )
θ θ ∼ Pr ( θ | datos ) i i { w i } θ ∼ N ( μ i , σ 2 )
Respuestas:
En principio, se podría preseleccionar el número de muestras que se extraerán de cada subdistribución, luego visitar cada subdistribución solo una vez y extraer más que el número de puntos.
Es decir
Encuentre el conjunto aleatorio tal que y respetando los pesos.
Creo que usted hace esto dibujando una distribución de Poisson, una distribución multinomial (vea los comentarios) de la media para cada subdistribución y luego normalizando la suma a .
El trabajo aquí es
Entonces hazlo
for (i=1; i<=k; ++i)
for (j=1; j<=n[i]; ++j)
theta ~ N(mu[i],sigma[i])
El trabajo aquí es
Aunque esto significa que no obtienes el orden aleatorio. Si se requiere un orden aleatorio, debe barajar los sorteos (también big ).
Parece que el primer paso es dominante en el tiempo de ejecución y del mismo orden que el algoritmo ingenuo, pero si está seguro de que todos podría aproximar las distribuciones de Poisson con distribuciones normales y acelerar el primer paso.
Nota: La versión original de esta pregunta se refería a una "suma ponderada de distribuciones normales" para la cual la siguiente respuesta podría ser útil. Sin embargo, después de un buen debate sobre esta respuesta, la respuesta de @Geoff, y sobre la pregunta en sí, quedó claro que la pregunta era realmente sobre el muestreo de una "mezcla de distribuciones normales" a la que esta respuesta no es aplicable.
La suma de las distribuciones normales es una distribución normal, por lo que puede calcular los parámetros de esta distribución única y luego simplemente tomar muestras de eso. Si llamamos a esa distribución entonces,
Actualización : esta respuesta es incorrecta, debido a la confusión en la terminología (consulte la cadena de comentarios a continuación para obtener más detalles); Solo lo dejo como guía para que la gente no vuelva a publicar esta respuesta (además de Barron). Por favor no lo vote hacia arriba o hacia abajo.
Solo usaría propiedades de variables aleatorias para reducirlo a una sola variable aleatoria normalmente distribuida. La suma de dos variables aleatorias independientes, normalmente distribuidas, es en sí misma una variable aleatoria , por lo que si y X 2 ∼ N ( μ 2 , σ 2 2 ) , entonces
Además, si , entonces
Usando estos dos resultados combinados, entonces
Entonces, en este caso, solo necesitará extraer muestras de una única distribución, lo que debería ser mucho más manejable.