2 votos

Invertir la matriz hessiana

Necesito invertir una matriz hessiana para calcular la matriz de covarianza. Las matrices son bastante grandes, los tamaños típicos son (300x300), o valores de ese orden. En general, la hessiana está muy mal condicionada. La matriz de covarianza (en este caso, la inversa de la hessiana) tendrá una estructura en bloques (bloques de elementos alrededor de la diagonal principal). He intentado hacer una SVD del hessiano e invertirlo, pero no sé dónde cortar los valores singulares. Si corto muy temprano, tengo lo que parece una versión suavizada de las covarianzas. Si corto demasiado tarde, es sólo ruido.

Todo mi procesamiento "inteligente" :) consiste en truncar el svd en algún nivel, reconstruir el hessiano truncado e invertirlo. No sé si hay alguna manera más robusta de hacer esto, y que no implique ensayo y error en términos de truncar la matriz.

Gracias

7voto

wojo Puntos 1707

Realmente estás haciendo la pregunta equivocada aquí...

Retrocedamos un poco. Usted está tratando de estimar algunos parámetros aquí, ya sea por un método de máxima verosimilitud o más probablemente por $\chi^2$ minimización, ¿verdad? Normalmente, después de $\chi^2$ minimización, se toma el hessiano de $\chi^2$ en los parámetros óptimos, y luego utilizar su inversa como una matriz de covarianza para los parámetros ajustados, ¿verdad? Sin embargo, has descubierto que tu matriz hessiana es esencialmente singular, ¿verdad?

¿Qué significa esto?

En primer lugar, el hecho de que el hessiano sea esencialmente singular indica que la $\chi^2$ está mal condicionado en el sentido de que muchos conjuntos diferentes de parámetros se ajustan igualmente bien a los datos. Esto plantea problemas para cualquier algoritmo que se utilice para realizar la minimización. $\chi^2$ minimización, y es probable que en la práctica no tengas un mínimo muy bueno.

Y lo que es más importante, el hecho de que el $\chi^2$ problema de minimización está mal condicionado te dice que el experimento que has realizado realmente no precisa los valores de los parámetros que intentas estimar.

Es importante entender que el problema que tienes aquí no es de cálculo numérico, sino que en realidad es un problema estadístico importante. Lo que realmente tienes que hacer aquí es rediseñar tu experimento para que te proporcione información útil sobre los parámetros que estás tratando de estimar.

Intentar elaborar algún tipo de matriz de covarianza aproximada utilizando la SVD truncada es, sencillamente, la forma equivocada de abordar este problema. ¿Qué saldrá mal? Al truncar la SVD, terminará con intervalos de confianza para los parámetros ajustados que son demasiado ajustados.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X