Este problema surge de un proyecto de modelado estadístico bayesiano. Para poder calcular con mi modelo, necesito realizar una integración en la que parte del integrando sea la distribución "Pólya" o "Dirichlet-Multinomial",
donde y son enteros, y . La integral que deseo calcular, , funciona bien para pequeña , pero los métodos de cuadratura que he intentado (en MATLAB) se rompen hacia abajo a medida que hace grande. No he probado Monte Carlo; Un método de cuadratura rápido y preciso sería muy bueno para mi proyecto. N = ∑ K i = 1 n i n = ( n 1 , n 2 , … , n K ) α > 0 ∫ ∞ 0 ( otros términos ) p ( n | α ) d α N N
Actualmente, el "mejor" método cuando es grande es calcular sobre una cuadrícula en alfa, normalizar y exponer. Esto es inexacto (pierdo esencialmente todos los detalles sobre la distribución, excepto sus picos), pero al menos produce un número.log [ p ( n | α ) ]
Agradecería cualquier consejo sobre cómo mejorar este cómputo, o punteros a diferentes algoritmos / métodos o software existente.
EDITAR: tal vez debería agregar que mi evaluación de , realizada calculando usando un código cuidadosamente escrito para calcular para grande , no parece estar causando ningún problema.
EDIT 2: Además, los valores "grandes" estarían en el orden de , con el mayor , junto con muchos valores pequeños de . Los otros términos son numéricamente bien comportados. Como una simplificación con aproximadamente el comportamiento de cola apropiado, podría tomar
This is inaccurate (I lose essentially all detail about the distribution except its peaks), but at least produces a number.
No entiendo por qué esto debería ser un problema. El resultado en un enfoque bayesiano siempre está dominado por los picos (piense en la navaja de afeitar de occam). Las características locales le darán una contribución despreciable a las probabilidades finales.