3 votos

Muestreo de matrices de covarianza a priori - muestreo anidado

Estoy intentando ajustar una gaussiana multivariante con una matriz de covarianza no diagonal $\Sigma$ utilizando muestreo anidado .

Por lo general, en otros análisis bayesianos, utilizaríamos una prioridad Inverse Wishart o LKJ en la matriz de covarianza y calcularíamos la posterior utilizando la forma analítica de la prioridad.

Sin embargo, en muestreo anidado No podemos hacerlo. Debemos especificar la prioridad en términos de una transformación de muestras uniformes no correlacionadas. Por ejemplo, para una priorización normal 1d, la transformada a priori sería la función de punto porcentual de la normal (la inversa de la CDF). norm.ppf(uniform_samples) te da muestras de lo anterior.

A menos que me equivoque, no hay ninguna función para transformar las muestras uniformes en una previa Wishart o LKJ.

¿Existe una prioridad mejor para las matrices de covarianza que tenga una transformación utilizable? ¿O hay una técnica para estimar estas transformadas? El uso de una prioridad uniforme en los elementos de la matriz de covarianza parece una tontería.

Gracias

1voto

Tomas Lycken Puntos 866

Echa un vistazo a los códigos que generan matrices wishart inversas aleatorias (por ejemplo, Jones 2007).

Por ejemplo, la implementación de scipy ( https://github.com/scipy/scipy/blob/v1.6.0/scipy/stats/_multivariate.py#L2754 Las funciones rvs, _rvs y _standard_rvs) utilizan sorteos aleatorios chi² y normales y los combina con linalg.

Se puede tomar cada variable normal/chi² a partir de una transformación del cubo unitario, y luego seguir el mismo procedimiento para obtener la matriz.

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