重要的是Gibbs的思想。spa
全機率分佈,能夠惟一地肯定一個聯合分佈 ---- Hammersley-Clifford3d
多元高斯分佈code
固然,這個有點複雜,考慮個簡單的,二元高斯,那麼超參數就是:orm
二元高斯聯合分佈:blog
將其中一個做爲已知常數,也就是求條件分佈,正好就體現了Gibbs的特性:it
#initialize constants and parameters
N <- 5000 #length of chain
burn <- 1000 #burn-in length
X <- matrix(0, N, 2) #the chain, a bivariate sample
rho <- -.75 #correlation
mu1 <- 0 mu2 <- 2 sigma1 <- 1 sigma2 <- .5 s1 <- sqrt(1-rho^2)*sigma1 s2 <- sqrt(1-rho^2)*sigma2 ###### generate the chain #####
X[1, ] <- c(mu1, mu2) #initialize
for (i in 2:N) { x2 <- X[i-1, 2] m1 <- mu1 + rho * (x2 - mu2) * sigma1/sigma2 X[i, 1] <- rnorm(1, m1, s1)
x1 <- X[i, 1] m2 <- mu2 + rho * (x1 - mu1) * sigma2/sigma1 X[i, 2] <- rnorm(1, m2, s2) } b <- burn + 1 x <- X[b:N, ] # compare sample statistics to parameters
colMeans(x) cov(x) cor(x) plot(x, main="", cex=.5, xlab=bquote(X[1]), ylab=bquote(X[2]), ylim=range(x[,2]))
採樣結果:io