¿Estimación de incertidumbre en problemas de inferencia de alta dimensión sin muestreo?

9

Estoy trabajando en un problema de inferencia de alta dimensión (alrededor de 2000 parámetros del modelo) para el cual somos capaces de realizar una estimación MAP de manera sólida al encontrar el máximo global del log-posterior utilizando una combinación de optimización basada en gradiente y un algoritmo genético.

Me gustaría mucho poder hacer una estimación de las incertidumbres en los parámetros del modelo además de encontrar la estimación MAP.

Somos capaces de calcular eficientemente el gradiente del log-posterior con respecto a los parámetros, por lo que a largo plazo nuestro objetivo es utilizar el MCMC de Hamilton para hacer un muestreo, pero por ahora estoy interesado en estimaciones no basadas en el muestreo.

El único enfoque que conozco es calcular el inverso del hessiano en el modo para aproximar el posterior como normal multivariado, pero incluso esto parece inviable para un sistema tan grande, ya que incluso si calculamos los elementos 4×106 de la Hesse estoy seguro de que no pudimos encontrar su inverso.

¿Alguien puede sugerir qué tipo de enfoques se usan típicamente en casos como este?

¡Gracias!

EDITAR : información adicional sobre el problema

Antecedentes
Este es un problema inverso relacionado con un gran experimento de física. Tenemos una malla triangular 2D que describe algunos campos físicos, y los parámetros de nuestro modelo son los valores físicos de esos campos en cada vértice de la malla. La malla tiene aproximadamente 650 vértices, y modelamos 3 campos, por lo que de allí provienen nuestros parámetros del modelo 2000.

Nuestros datos experimentales provienen de instrumentos que no miden estos campos directamente, sino cantidades que son funciones no lineales complicadas de los campos. Para cada uno de los diferentes instrumentos tenemos un modelo de avance que mapea los parámetros del modelo a las predicciones de los datos experimentales, y una comparación entre la predicción y la medición arroja una probabilidad logarítmica.

Luego resumimos las probabilidades de registro de todos estos instrumentos diferentes, y también agregamos algunos valores de registro previo que aplican algunas restricciones físicas a los campos.

Por lo tanto, dudo que este 'modelo' caiga perfectamente en una categoría: no tenemos una elección de cuál es el modelo, está dictado por cómo funcionan los instrumentos reales que recopilan nuestros datos experimentales.

Conjunto de
datos El conjunto de datos se compone de imágenes de 500x500, y hay una imagen para cada cámara, por lo que los puntos de datos totales son 500x500x4 = 106 .

Modelo de error
Tomamos todos los errores en el problema como gaussianos en este momento. En algún momento, podría tratar de pasar a un modelo de error t de estudiante solo por un poco de flexibilidad adicional, pero las cosas todavía parecen funcionar bien solo con gaussianos.

Ejemplo de probabilidad
Este es un experimento de física de plasma, y ​​la gran mayoría de nuestros datos provienen de cámaras apuntadas al plasma con filtros particulares frente a las lentes para observar solo partes específicas del espectro de luz.

Para reproducir los datos hay dos pasos; primero tenemos que modelar la luz que proviene del plasma en la malla, luego tenemos que modelar esa luz de nuevo a una imagen de cámara.

Desafortunadamente, modelar la luz que proviene del plasma depende de los coeficientes de velocidad efectivos, que indican cuánta luz emiten los diferentes procesos dados los campos. Estas tasas son predichas por algunos modelos numéricos caros, por lo que tenemos que almacenar su salida en cuadrículas y luego interpolarlas para buscar valores. Los datos de la función de velocidad solo se calculan una vez: los almacenamos y luego construimos una spline a partir de ella cuando se inicia el código, y luego esa spline se utiliza para todas las evaluaciones de funciones.

Supongamos que R1 y R2 son las funciones de velocidad (que evaluamos por interpolación), luego la emisión en el i 'ésimo vértice de la malla Ei viene dada por

Ei=R1(xi,yi)+ziR2(xi,yi)
donde (x,y,z)son los 3 campos que modelamos en la malla. Obtener el vector de emisiones a la imagen de una cámara es fácil, es solo multiplicación con una matriz G que codifica a través de qué partes de la malla se ve cada píxel de la cámara.

Dado que los errores son gaussianos, la probabilidad de registro para esta cámara en particular es

L=12(GEd)Σ1(GEd)

donde d son los datos de la cámara. La probabilidad de registro total es una suma de 4 de las expresiones anteriores, pero para diferentes cámaras, que tienen diferentes versiones de las funciones de velocidad R1,R2 porque están mirando diferentes partes del espectro de luz.

Ejemplo anterior
Tenemos varios antecedentes que efectivamente establecen ciertos límites superiores e inferiores en varias cantidades, pero estos tienden a no actuar con demasiada fuerza sobre el problema. Tenemos uno anterior que actúa fuertemente, que aplica efectivamente el suavizado de tipo laplaciano a los campos. También toma una forma gaussiana:

log-prior=12xSx12ySy12zSz

CBowman
fuente
1
¿Qué modelo te queda? Regresión lineal? GP? ¿Un modelo de recuento jerárquico? Calibración bayesiana de un modelo de computadora? Agregue más detalles sobre el problema que está resolviendo, y escribiré una respuesta con los pros y los contras de VI.
DeltaIV
1
@DeltaIV He actualizado la pregunta con algo más de información; puede ser que no haya explicado exactamente lo que estaba buscando. Si es así, hágamelo saber y haré otra edición, ¡gracias!
CBowman
1
@DeltaIV ¡Gracias de nuevo! Más información agregada, avíseme si hay algo más que pueda agregar.
CBowman
1
106
1
k2000k

Respuestas:

4

En primer lugar, creo que su modelo estadístico está equivocado. Cambio su notación a una más familiar para los estadísticos, así que deje

d=y=(y1,,yN), N=106

ser su vector de observaciones (datos), y

x=θ=(θ1,,θp)y=ϕ=(ϕ1,,ϕp)z=ρ=(ρ1,,ρp), p650

d=3p2000

y=Gr1(θ,ϕ)+ρGr2(θ,ϕ))+ϵ, ϵN(0,IN)

GN×d

Esto está claramente mal. No hay forma de que los errores en diferentes puntos de la imagen de la misma cámara, y en el mismo punto en imágenes de diferentes cámaras, sean independientes. Debe buscar estadísticas espaciales y modelos como mínimos cuadrados generalizados, estimación de semivariogramas, kriging, procesos gaussianos, etc.


Dicho esto, dado que su pregunta no es si el modelo es una buena aproximación del proceso real de generación de datos, sino cómo estimar dicho modelo, le mostraré algunas opciones para hacerlo.

HMC

106

Pros : inferencia "exacta", en el límite de un número infinito de muestras de la cadena.

Contras : no hay límites estrictos en el error de estimación, existen múltiples métricas de diagnóstico de convergencia, pero ninguna es ideal.

Gran aproximación de muestra

θp(θ|y)N(θ0^n,In1(θ0))θ0θ0^nθ0In1(θ0)θ0θ0In1(θ0^n)R1,R2 sea ​​válido, si sus datos fueron en realidad iid como usted supone, pero no creo que lo sean, como expliqué al principio.

p<<Nθ0

p(θ|y)

Inferencia variacional

p(θ|y)dpqϕ(θ)qQϕϕϕqp

ϕ=argminϕΦDKL(qϕ(θ)||p(θ|y))

qϕ(θ)

  • ϕ
  • p(θ|y)ϕq

qϕ(θ)d

qϕ(θ)=i=1dqϕi(θi)

qϕj(θj)

logqj(θj)=Eij[logp(y,θ)]+const.

p(y,θ)q1(θ1),,qj1(θj1),qj+1(θj+1),,qd(θd)qi(θi)(d1)

qqiqNpuntos de datos. Para amortizar el costo de la inferencia, se utiliza una red neuronal para asignar el espacio de entrada al espacio de parámetros variacionales. Consulte el documento para obtener una descripción detallada del algoritmo: las implementaciones de VAE están nuevamente disponibles en todos los principales marcos de Deep Learning.

DeltaIV
fuente
s2
@DeltaIV El modelo estadístico es generalmente bastante bueno en realidad, los errores entre las diferentes cámaras son muy independientes, y los diferentes píxeles en la misma cámara también serán básicamente independientes a menos que sean literalmente adyacentes. Podríamos codificar cierta correlación espacial en píxeles adyacentes mediante el uso de una probabilidad del proceso gaussiano, pero eso requeriría que invirtiéramos directamente la matriz de covarianza o resolviera un sistema lineal disperso cada vez que queramos evaluar la probabilidad, que es mucho más caro (aunque no fuera de discusión).
CBowman
2

es posible que desee consultar algunos de los software "bayesX" y posiblemente también el software "inla". Es probable que ambos tengan algunas ideas que puede probar. buscalo en Google

ambos dependen en gran medida de la explotación de la escasez en la parametrización de la matriz de precisión (es decir, la independencia condicional, el modelo de tipo markov), y tienen algoritmos de inversión diseñados para esto. La mayoría de los ejemplos se basan en modelos guasianos de varios niveles o de regresión automática. debería ser bastante similar al ejemplo que publicaste

probabilidadislogica
fuente