Pengambilan sampel dari Multivariat Gaussian dengan Kovarian Graph Laplacian (terbalik)

12

Kita tahu dari misalnya Koutis-Miller-Peng (berdasarkan karya Spielman & Teng), bahwa kita dapat dengan cepat menyelesaikan sistem linear Ax=b untuk matriks A yang merupakan grafik matriks Laplacian untuk beberapa grafik jarang dengan bobot tepi non-negatif .

Sekarang (pertanyaan pertama) pertimbangkan untuk menggunakan salah satu dari grafik ini Matriks Laplacian A sebagai kovarians atau (pertanyaan kedua) matriks kovarians terbalik dari distribusi normal multivariat nol rata-rata , atau . Untuk masing-masing kasus ini, saya punya dua pertanyaan:N(0,A)N(0,A1)

A. Seberapa efisien kita dapat mengambil sampel dari distribusi ini? (Biasanya untuk menggambar sampel, kami menghitung dekomposisi Cholesky , menggambar standar normal , lalu menghitung sampel sebagai ).A=LLTyN(0,I)x=L1y

B. Seberapa efisienkah kita menghitung determinan ?A

Perhatikan bahwa kedua hal ini dapat diselesaikan dengan mudah karena dekomposisi Cholesky, tetapi saya tidak segera melihat cara mengekstrak lebih efisien daripada hanya dengan menggunakan algoritma Cholesky standar yang jarang, yang tidak akan menggunakan teknik yang disajikan dalam referensi yang disebutkan di atas. bekerja, dan yang akan memiliki kompleksitas kubik untuk grafik jarang tapi tinggi-treewidth.L

dan_x
sumber
Saya pikir mungkin membantu untuk menjadi sedikit lebih spesifik pada apa yang Anda anggap "efisien" dalam kedua kasus. Apakah "efisien" sama dengan "tidak bergantung pada dekomposisi Cholesky"?
Suresh Venkat
Terima kasih untuk sarannya. Ada kemungkinan jawaban untuk semua pertanyaan adalah "Anda perlu menghitung dekomposisi Cholesky, dan tidak ada struktur yang dapat dimanfaatkan melampaui kerawanan matriks." Saya akan tertarik untuk mengetahui apakah ini benar (tapi saya harap itu tidak benar). Sehubungan dengan "efisien" pada paragraf terakhir, ya, maksud saya kebanyakan lebih efisien daripada algoritma Cholesky jarang standar. Meskipun jika ada cara untuk menggunakan teknik-teknik dari karya yang direferensikan di atas untuk menghitung Cholesky secepat yang dapat dilakukan melalui cara lain, itu juga akan menarik.
dan_x
Jika Anda ingin mengambil sampel dari , Anda dapat menggunakan , di mana adalah matriks kejadian dari grafik. Dengan demikian, Anda dapat mencicipi dari Gaussian standar pada ( adalah tepi) dan menerapkan transformasi linear . Saya tidak tahu bagaimana ini dibandingkan dengan saran di bawah ini, tetapi Anda tidak perlu menghitung dekomposisi Cholesky. N(0,A)A=BTBBREEB
Lorenzo Najt

Jawaban:

3

Ada dua masalah terpisah di sini.

  1. Cara menggunakan pemecah yang efisien untuk untuk menerapkan .Ax=bA1/2b
  2. Cara menghitung determinan.

Jawaban singkatnya adalah 1) menggunakan perkiraan fungsi matriks rasional, dan 2) Anda tidak, tetapi Anda tidak perlu lagi. Saya membahas kedua masalah ini di bawah.

Perkiraan akar kuadrat matriks

Idenya di sini adalah untuk mengubah pendekatan fungsi rasional untuk fungsi skalar menjadi pendekatan fungsi rasional untuk fungsi matriks.

Kita tahu bahwa ada fungsi rasional yang dapat memperkirakan fungsi akar kuadrat dengan sangat baik, untuk positif . Memang, untuk mendapatkan akurasi tinggi pada interval , Anda memerlukan istilah dalam seri. Untuk mendapatkan bobot yang sesuai ( ) dan kutub ( ), lihat saja perkiraan fungsi rasional secara online atau dalam buku.

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

Sekarang pertimbangkan untuk menerapkan fungsi rasional ini ke matriks Anda:

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

Karena simetri , kita memiliki di mana adalah dekomposisi nilai singular (SVD) dari . Jadi, kualitas aproksimasi matriks rasional setara dengan kualitas aproksimasi fungsi rasional di lokasi nilai eigen.A

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

Mendenotasikan nomor kondisi oleh , kita dapat menerapkan untuk toleransi yang diinginkan dengan melakukan positif menggeser grafik solusi Laplacian dari formulir, AκA1/2bO(logκ)

(A+bI)x=b.

Solusi ini dapat dilakukan dengan solver grafik Laplacian favorit Anda — saya lebih suka teknik tipe multigrid, tetapi yang ada di makalah yang Anda kutip harus baik juga. ekstra hanya membantu konvergensi pemecah.bI

Untuk makalah yang sangat baik membahas hal ini, serta teknik analisis kompleks yang lebih umum yang berlaku untuk matriks nonsimetrik, lihat Komputasi , , dan fungsi matriks terkait oleh integral konturAαlog(A) , oleh Hale, Higham, dan Trefethen (2008 ).

"Perhitungan" determinan

Penentu lebih sulit untuk dihitung. Sejauh yang saya tahu, cara terbaik adalah untuk menghitung Schur dekomposisi menggunakan algoritma QR, kemudian membaca dari nilai eigen dari diagonal dari atas-matriks segitiga . Ini membutuhkan waktu , di mana adalah jumlah node dalam grafik.A=QUQUO(n3)n

Namun, menghitung faktor penentu adalah masalah yang pada dasarnya tidak dikondisikan, jadi jika Anda pernah membaca makalah yang mengandalkan komputasi faktor penentu dari matriks besar, Anda harus sangat skeptis terhadap metode ini.

Untungnya, Anda mungkin tidak benar-benar membutuhkan determinan. Sebagai contoh,

  • Untuk mengambil sampel dari satu distribusi Gaussian , konstanta normalisasi adalah sama di semua titik sehingga Anda tidak perlu menghitungnya.N(0,A1)
  • Jika matriks Laplacian Anda mewakili kovarians terbalik dari pendekatan Gaussian lokal pada titik ke distribusi non-Gaussian, maka penentu memang berubah dari titik ke titik. Namun, dalam setiap skema pengambilan sampel yang efektif, saya tahu (termasuk rantai Markov, Monte Carlo, sampel penting, dll.) Yang Anda perlukan adalah rasio penentu , mana adalah titik saat ini, dan adalah contoh berikutnya yang diusulkan.A=Axx
    det(Ax01Axp),
    x0xp

Kita dapat melihat sebagai pembaruan peringkat rendah untuk identitas, mana numerik efektif peringkat, , dari pembaruan peringkat rendah adalah ukuran lokal tentang seberapa non-Gaussian distribusi sebenarnya; biasanya ini jauh lebih rendah daripada peringkat penuh dari matriks. Memang, jika besar, maka distribusi yang sebenarnya adalah lokal sehingga non-Gaussian sehingga orang harus mempertanyakan seluruh strategi mencoba sampel distribusi ini menggunakan perkiraan Gaussian lokal.Ax01Axp

Ax01Axp=I+QDQ,
rr

Faktor peringkat rendah dan dapat ditemukan dengan SVD acak atau Lanczos dengan menerapkan matriks ke vektor yang berbeda, setiap aplikasi yang membutuhkan satu grafik Solusi Laplacian. Jadi pekerjaan keseluruhan untuk mendapatkan faktor-faktor peringkat rendah ini adalah .QD

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

Mengetahui , rasio penentu kemudian D=diag(d1,d2,,dr)

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

Teknik perhitungan ransum penentu peringkat rendah ini dapat ditemukan dalam Metode MCMC Newton Stochastic untuk Masalah Pembalikan Statistik Skala Besar dengan Aplikasi untuk Seismic Inversion , oleh Martin, et al. (2012). Dalam makalah ini diterapkan untuk masalah kontinum, sehingga "grafik" adalah kotak dalam ruang 3D dan grafik Laplacian adalah matriks Laplacian yang sebenarnya. Namun, semua teknik berlaku untuk grafik umum Laplacians. Mungkin ada makalah lain yang menerapkan teknik ini untuk grafik umum sekarang (ekstensi itu sepele dan pada dasarnya apa yang baru saja saya tulis).

Nick Algeria
sumber