Échantillonnage à partir de la gaussienne multivariée avec covariance du laplacien graphique (inverse)


12

Nous savons par exemple de Koutis-Miller-Peng (basé sur les travaux de Spielman & Teng), que nous pouvons résoudre très rapidement des systèmes linéaires pour les matrices qui sont la matrice de graphes laplaciens pour certains graphes clairsemés avec des poids de bord non négatifs .Ax=bA

Maintenant (première question), envisagez d'utiliser l'une de ces matrices de graphes laplaciens comme covariance ou (deuxième question) matrice de covariance inverse d'une distribution normale multivariée à moyenne nulle , ou \ mathcal {N} (\ boldsymbol {0}, A ^ {- 1}) . Pour chacun de ces cas, j'ai deux questions:AN(0,A)N(0,A1)

A. Avec quelle efficacité pouvons-nous tirer un échantillon de cette distribution? (Typiquement pour dessiner un échantillon, nous calculons la décomposition de Cholesky A=LLT , dessinons une normale normale yN(0,I) , puis calculons un échantillon comme x=L1y ).

B. Avec quelle efficacité pouvons-nous calculer le déterminant de A ?

Notez que ces deux pourraient être résolus facilement étant donné une décomposition Cholesky, mais je ne vois pas immédiatement comment extraire L plus efficacement qu'en utilisant simplement un algorithme Cholesky clairsemé standard, qui n'utiliserait pas les techniques présentées dans le référencé ci-dessus fonctionne, et qui aurait une complexité cubique pour les graphiques à largeur d'arbre clairsemée mais élevée.


Je pense qu'il pourrait être utile d'être un peu plus précis sur ce que vous considéreriez comme «efficace» dans les deux cas. Est-ce que «efficace» équivaut à «ne dépend pas d'une décomposition de Cholesky»?
Suresh Venkat

Merci pour la suggestion. Il est possible que la réponse à toutes les questions soit «vous devez calculer une décomposition de Cholesky, et aucune structure ne peut être mise à profit au-delà de la rareté de la matrice». Je serais intéressé de savoir si cela était vrai (mais j'espère que ce n'est pas le cas). En ce qui concerne "efficacement" dans le dernier paragraphe, oui, je veux dire surtout plus efficacement que les algorithmes Cholesky clairsemés standard. Bien qu'il y ait un moyen d'utiliser les techniques du travail référencé ci-dessus pour calculer un Cholesky aussi rapidement que possible par d'autres moyens, ce serait également intéressant.
dan_x

Si vous voulez échantillonner à partir de , vous pouvez utiliser , où est la matrice d'incidence du graphique. Ainsi, vous pourrez déguster à partir d' une gaussienne standard sur ( sont les bords) et appliquer la transformation linéaire . Je ne sais pas comment cela se compare aux suggestions ci-dessous, mais vous n'avez pas besoin de calculer la décomposition de Cholesky. A = B T B B R E E BN(0,A)A=BTBBREEB
Lorenzo Najt

Réponses:


3

Il y a deux problèmes distincts ici.

  1. Comment utiliser des solveurs efficaces pour afin d'appliquer .A 1 / 2 bAx=bA1/2b
  2. Comment calculer le déterminant.

Les réponses courtes sont 1) utiliser des approximations de fonctions matricielles rationnelles, et 2) vous n'en avez pas, mais vous n'en avez pas besoin de toute façon. J'aborde ces deux problèmes ci-dessous.

Approximations de la racine carrée de la matrice

L'idée ici est de convertir une approximation de fonction rationnelle pour les fonctions scalaires en une approximation de fonction rationnelle pour les fonctions matricielles.

Nous savons qu'il existe des fonctions rationnelles qui peuvent très bien approcher la fonction racine carrée, pour positif . En effet, pour obtenir une grande précision sur l'intervalle , vous avez besoin de termes dans la série. Pour obtenir les poids appropriés ( ) et les pôles ( ), il suffit de rechercher l'approximation des fonctions rationnelles en ligne ou dans un livre.bi[m,M]O(logM

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

Envisagez maintenant d'appliquer cette fonction rationnelle à votre matrice:

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

En raison de la symétrie de , nous avons où est la décomposition en valeurs singulières (SVD) de . Ainsi, la qualité de l'approximation de la matrice rationnelle est équivalente à la qualité de l'approximation de la fonction rationnelle à l'emplacement des valeurs propres.| | A 1 / 2 - r ( A ) | | 2A

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

En dénotant le nombre de conditions de par , nous pouvons appliquer à n'importe quelle tolérance souhaitée en effectuant des solutions laplaciennes à graphique positivement décalé de la forme, AκA1/2bO(logκ)

(A+bI)x=b.

Ces solutions peuvent être faites avec votre solveur laplacien graphique préféré - je préfère les techniques de type multigrille, mais celle du document que vous citez devrait également convenir. Le supplémentaire ne fait la convergence du solveur.bI

Pour un excellent article discutant de cela, ainsi que des techniques d'analyse complexes plus générales qui s'appliquent aux matrices non symétriques, voir Computing , , and related matrix functions by contour integralsAαlog(A) , par Hale, Higham et Trefethen (2008 ).

"Calcul" déterminant

Le déterminant est plus difficile à calculer. Pour autant que je sache, la meilleure façon est de calculer la décomposition Schur en utilisant l'algorithme QR, alors lisez les valeurs propres au large de la diagonale de la matrice triangulaire supérieure . Cela prend du temps , où est le nombre de nœuds dans le graphique. U O ( n 3 ) nA=QUQUO(n3)n

Cependant, le calcul des déterminants est un problème intrinsèquement mal conditionné, donc si vous lisez un article qui repose sur le calcul des déterminants d'une grande matrice, vous devriez être très sceptique quant à la méthode.

Heureusement, vous n'avez probablement pas réellement besoin du déterminant. Par exemple,

  • Pour tirer des échantillons d'une seule distribution gaussienne , la constante de normalisation est la même en tous points, vous n'avez donc pas besoin de la calculer.N(0,A1)
  • Si votre matrice laplacienne représente la covariance inverse d'une approximation gaussienne locale au point vers une distribution non gaussienne, alors le déterminant change en effet de point en point. Cependant, dans tous les schémas d'échantillonnage efficaces que je connais (y compris la chaîne de Markov Monte Carlo, l'échantillonnage d'importance, etc.), ce dont vous avez vraiment besoin est le rapport déterminant , où est le point actuel et est le prochain échantillon proposé. x det ( A - 1 x 0 A x p ) ,A=Axx
    det(Ax01Axp),
    x0xp

Nous pouvons voir comme une mise à jour de bas niveau de l'identité, où la valeur numérique effective le rang, , de la mise à jour de bas rang est une mesure locale de la non-gaussienne de la distribution réelle; généralement, il est bien inférieur au rang complet de la matrice. En effet, si est grand, alors la vraie distribution est localement si non gaussienne que l'on devrait remettre en question toute la stratégie d'essayer d'échantillonner cette distribution en utilisant des approximations gaussiennes locales.Ax01Axp

Ax01Axp=I+QDQ,
rr

Les facteurs de bas rang et peuvent être trouvés avec SVD randomisé ou Lanczos en appliquant la matrice à différents vecteurs, dont chaque application nécessite un graphique Solution laplacienne. Ainsi, le travail global pour obtenir ces facteurs de rang bas est .QD

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

Connaissant , le rapport déterminant est alors det ( A - 1 x 0 A x p ) = det ( I + Q D Q ) = exp ( r i = 1 log d i ) .D=diag(d1,d2,,dr)

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

Ces techniques de calcul de la ration des déterminants de bas rang peuvent être trouvées dans A Stochastic Newton MCMC Method for Large-Scale Statistical Inverse Problems with Application to Seismic Inversion , par Martin, et al. (2012). Dans cet article, il est appliqué à des problèmes de continuum, donc le "graphe" est une grille dans l'espace 3D et le graphe laplacien est la matrice laplacienne réelle. Cependant, toutes les techniques s'appliquent aux Laplaciens graphes généraux. Il y a probablement d'autres articles appliquant cette technique aux graphiques généraux maintenant (l'extension est triviale et fondamentalement ce que je viens d'écrire).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.