Kísérletet próbálok megérteni ebből papír , különös tekintettel az 5.2 szakaszra.
A cikkben egy új algoritmust javasolnak a ritka mátrixok log-determinánsának kiszámítására, az 5. részben pedig egy általuk létrehozott adathalmazon tesztelik.
Szintetikus adatkészleten akarják tesztelni, ezért létrehoznak egy ritka, 5000×5000 méretű mátrixot, amelynek precíziós mátrixát (a kovarianciamátrix inverzét) paraméterezi a $ \ rho = -0,22 $ . A cikk szerint minden csomópontnak 4 szomszédja van, a $ \ rho $ részleges korrelációval. Ezután egy Gibbs mintavevővel vesznek egy mintát a többváltozós gaussian eloszlásból, amelyet a J. minta, a naplózási valószínűséget a következőképpen számolom: $$ \ log (x | \ rho) = \ log \ det J (\ rho) – x ^ TJ (\ rho) x + G $$ . és az 2. ábra szerint ábrázolom az értékeket.
Ha megértésem helyes, akkor csak egy minta alapján értékelik a log-valószínûséget. Értem, hogy a 2. ábrán látható ábra a következő képlet, amelyet csak egy minta esetén számolunk? A log-valószínûséget általában egy adathalmazon, nem csak egyetlen mintán számolom.
A kérdésem a következő: pontosan mit jelent a $ \ rho $ , és hogyan hozhatok létre $ J (\ rho) $ és minta belőle? (azaz egy python csomaggal? különben mi az algoritmus?)?
Szerintem az alapfeltevés az, hogy a $ \ log \ det J (\ rho ) $ a $ J (\ rho) $ két különböző mintájára megegyezik, miért?
Valójában megnéztem a sokat emlegetett hivatkozott könyvhez , amely nagyon jó könyv a GMRF-ről, de egyetlen paraméter $ \ rho $ és az általuk létrehozott mátrix. A GMRF-ek paraméterezését a 2.7. Szakasz, 87. oldal írja le. Ott egyetlen paramétert soha nem használnak, és a paraméterteret egy 2 dimenziós vektor írja le: $ \ Theta $ :
$$ \ pi (x | \ Theta) \ propto exp (\ frac {- \ theta_1} {2} \ sum_ {i \ kb j} (x_i – x_j) ^ 2 – \ frac {\ theta_2} {2} \ sum_i x_i ^ 2) $$ De valószínűleg más mátrixra hivatkoznak.
Frissítés Valójában szerintem a $ precíziós mátrix A 4 szomszéd közötti interakciót leíró J (\ rho) $ csak egy sávmátrix , azaz több átlós mátrix. Ebben az esetben (azt képzelem) 2 felső és 2 alsó átlóval, amelyek mindegyike $ – 0.22 $ , és csak $ 1 $ a főátlón.
Mégis, hogyan vehetek mintát a precíziós mátrix által leírt eloszlásból? Fordítsam meg és szerezzem be az adatok kovarianciamátrixát, majd mintát vegyek belőle? Ha igen, az alábbiakban a kódot kell megtenni. Hasznos lehet, ha valaki meglátja a kódot, amelyet felhasználhatunk ebből a GMRF-ből, feltételezve a $ \ vec (0) $ átlagot és a mátrix dimenziót 30 / p>
import numpy as np def precision(k, numero): return np.diag(np.repeat(1, k)) + np.diag(np.repeat(numero, k-1), -1) + np.diag(np.repeat(numero, k-2), -2) + np.diag(np.repeat(numero, k-1), 1) + np.diag(np.repeat(numero, k-2), 2) J = precision(30, -0.22) Sigma = np.linalg.inv(J) np.random.multivariate_normal(np.repeat(0, 30), Sigma)
Válasz
Ha megvan a GMRF precíziós mátrixa, ha elkészíted a GMRF-ből származó mintavételezés a periodikus határok további feltételezésének (más néven tórusz-feltételezésnek) az FFT-alapú módszerekkel meglehetősen egyszerűvé válik. Ezt részletezi a Rue és Held Gaussian Markov véletlen mezők (elmélet és alkalmazások) 2.10 algoritmusa. Az egész 2.6 szakasz ennek az algoritmusnak a bemutatását szenteli.
Úgy gondolom, hogy az Ön által említett cikk szerzői ezt a technikát használták, mivel 25 millió változójú GMRF-rel foglalkoznak (tehát hatékony mintavételi módszer, például spektrális módszerek). Ezenkívül úgy tűnik, hogy a 3. ábrán bemutatott GMRF periodikus határokkal rendelkezik.