Muestreo de gaussiana multivariante con covarianza laplaciana (inversa) gráfica

12

Sabemos, por ejemplo, por Koutis-Miller-Peng (basado en el trabajo de Spielman y Teng), que podemos resolver muy rápidamente los sistemas lineales Ax=b para las matrices A que son la matriz de Laplacia de gráficos para algunos gráficos dispersos con pesos de borde no negativos .

Ahora (primera pregunta) considere utilizar una de estas matrices laplacianas gráfico Acomo la matriz de covarianza o (segunda pregunta) de covarianza inversa de una distribución normal multivariada media cero N(0,A) o N(0,A1) . Para cada uno de estos casos, tengo dos preguntas:

A. ¿Qué tan eficientemente podemos extraer una muestra de esta distribución? (Por lo general, para dibujar una muestra, calculamos la descomposición de Cholesky A=LLT , dibujamos una normal normal yN(0,I) , luego calculamos una muestra como x=L1y ).

B. ¿Cuán eficientemente podemos calcular el determinante de A ?

Tenga en cuenta que ambos podrían resolverse fácilmente dada una descomposición de Cholesky, pero no veo de inmediato cómo extraer L más eficiente que simplemente usando un algoritmo de Cholesky disperso estándar, que no usaría las técnicas presentadas en las referencias anteriores funciona, y que tendría una complejidad cúbica para gráficos de ancho de árbol escaso pero alto.

dan_x
fuente
Creo que podría ser más específico en lo que consideraría "eficiente" en ambos casos. ¿Es "eficiente" lo mismo que "no depende de una descomposición de Cholesky"?
Suresh Venkat
Gracias por la sugerencia. Es posible que la respuesta a todas las preguntas sea "necesita calcular una descomposición de Cholesky, y no hay una estructura que pueda aprovecharse más allá de la escasez de la matriz". Me interesaría saber si esto fuera cierto (pero espero que no lo sea). Con respecto a "eficientemente" en el último párrafo, sí, quiero decir más eficientemente que los algoritmos estándar de Cholesky dispersos. Aunque si hubiera una manera de usar las técnicas del trabajo mencionado anteriormente para calcular un Cholesky de la misma manera tan rápida como se puede hacer por otros medios, eso también sería interesante.
dan_x
Si desea muestrear de , puede usar A = B T B , donde B es la matriz de incidencia del gráfico. Por lo tanto, se puede degustar de una gaussiana estándar en R E ( E son los bordes) y aplicar la transformación lineal B . No sé cómo se compara esto con las sugerencias a continuación, pero no es necesario calcular la descomposición de Cholesky. N(0,A)A=BTBBREEB
Lorenzo Najt

Respuestas:

3

Hay dos problemas separados aquí.

  1. Cómo utilizar solucionadores eficientes para con el fin de aplicar un 1 / 2 b .Ax=bA1/2b
  2. Cómo calcular el determinante.

Las respuestas cortas son 1) usar aproximaciones de funciones de matriz racional, y 2) no, pero de todos modos no es necesario. Abordo ambos problemas a continuación.

Matriz aproximaciones de raíz cuadrada

La idea aquí es convertir una aproximación de función racional para funciones escalares en una aproximación de función racional para funciones de matriz.

Sabemos que existen funciones racionales que pueden aproximarse extremadamente bien a la función de raíz cuadrada,

xr(x):=a1x+b1+a2x+b2++aNx+bN,
bi[m,M]O(logMm)aibi

r(A)=a1(A+b1I)1+a2(A+b2I)1++aN(A+bNI)1.

A

||A1/2r(A)||2=||U(Σ1/2r(Σ))U||2,=maxi|σir(σi)|
A=UΣUA

Denotando el número de condición de por , podemos aplicar a cualquier tolerancia deseada mediante la realización de soluciones laplacianas gráficas desplazadas positivamente de la forma, κ A 1 / 2 b O ( log κ ) ( A + b I ) x = b .AκA1/2bO(logκ)

(A+bI)x=b.

Estas soluciones se pueden hacer con su solucionador laplaciano de gráficos favorito: prefiero las técnicas de tipo multigrid, pero la del documento que cita también debería estar bien. El adicional solo ayuda a la convergencia del solucionador.bI

Para un excelente artículo que discute esto, así como técnicas de análisis complejas más generales que se aplican a las matrices no simétricas, vea Computación , y funciones de matriz relacionadas por integrales de contornoAαlog(A) , por Hale, Higham y Trefethen (2008 )

"Cálculo" determinante

El determinante es más difícil de calcular. Por lo que yo sé, la mejor manera es calcular la descomposición de Schur utilizando el algoritmo QR, a continuación, leer fuera de los valores propios de la diagonal de la matriz triangular superior . Esto toma tiempo, donde es el número de nodos en el gráfico.A=QUQUO(n3)n

Sin embargo, calcular los determinantes es un problema inherentemente mal condicionado, por lo que si alguna vez lee un documento que se basa en el cálculo de determinantes de una matriz grande, debe ser muy escéptico sobre el método.

Afortunadamente, probablemente no necesites el determinante. Por ejemplo,

  • Para extraer muestras de una única distribución gaussiana , la constante de normalización es la misma en todos los puntos, por lo que nunca es necesario calcularla.N(0,A1)
  • Si su matriz laplaciana representa la covarianza inversa de una aproximación gaussiana local en el punto a una distribución no gaussiana, entonces el determinante cambia de punto a punto. Sin embargo, en cada esquema de muestreo efectivo que conozco (incluida la cadena de Markov Monte Carlo, muestreo de importancia, etc.) lo que realmente necesita es la relación determinante , donde es el punto actual, y es la siguiente muestra propuesta.A=Axx
    det(Ax01Axp),
    x0xp

Podemos ver como una actualización de bajo rango para la identidad, donde el número efectivo rango, , de la actualización de rango bajo es una medida local de cuán no gaussiana es la distribución verdadera; típicamente esto es mucho más bajo que el rango completo de la matriz. De hecho, si es grande, entonces la distribución verdadera es localmente tan no gaussiana que uno debería cuestionar toda la estrategia de tratar de muestrear esta distribución usando aproximaciones gaussianas locales.Ax01Axp

Ax01Axp=I+QDQ,
rr

Los factores y rango bajo se pueden encontrar con SVD aleatorio o Lanczos aplicando la matriz a diferentes vectores, cada aplicación de los cuales requiere un gráfico Solución laplaciana. Por lo tanto, el trabajo general para obtener estos factores de bajo rango es .QD

Ax01AxpI
O(r)O(rmax(n,E))

Conociendo , la razón determinante es entonces D=diag(d1,d2,,dr)

det(Ax01Axp)=det(I+QDQ)=exp(i=1rlogdi).

Estas técnicas de cálculo de racionamiento determinante bajo rango pueden ser encontrados en A estocástico Newton MCMC Método a gran escala estadístico problemas inversos con aplicación a Inversión sísmica , por Martin, et al. (2012) En este documento se aplica a problemas continuos, por lo que el "gráfico" es una cuadrícula en el espacio 3D y el gráfico Laplaciano es la matriz Laplaciana real. Sin embargo, todas las técnicas se aplican a los gráficos laplacianos generales. Probablemente ya haya otros documentos que apliquen esta técnica a gráficos generales (la extensión es trivial y básicamente lo que acabo de escribir).

Nick Alger
fuente