normConstLaplaceBridge: normConstLaplaceBridge

Description Usage Arguments Value Author(s) Examples

Description

Laplace bridge Approximation of the normalizing constant

Usage

1
2
3
normConstLaplaceBridge(sample, logPostSample, fLogPost, alpha = 0.05, 
    nd = cov.rob(sample), M = 10000, logCest = normConstLaplace(sample, 
        fLogPost, alpha, nd)["logCLV"])

Arguments

sample

MCMC sample of parameters, each row of the matrix is a parameter vector

logPostSample

the unnormalized posteror density of the sample

fLogPost

function to evaluate unnormalized Log-posterior for a given parameter vector

alpha

quantile defining the multivariate normal ellipsoid for volume correction

nd

normal density approximation: list with entries center and cov

M

number of additional simulations of posterior

logCest

initial estimate of the normalizing constant

Value

log of the normalization constant

Author(s)

Thomas Wutzler

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
mu = c(0,0)
sd = c(1,2)
corr = diag(nrow=2)
corr[1,2] <- corr[2,1] <- 0.49
Sigma = diag(sd, nrow=length(sd)) %*% corr %*% diag(sd,nrow=length(sd)) 
n <- 1000
cTrue <- 10
sample <- mvtnorm::rmvnorm(n,mean=mu,sigma=Sigma)
fLogPost <- function(theta){ log(cTrue) + mvtnorm::dmvnorm(theta,mean=mu,sigma=Sigma, log=TRUE)}
logPostSample <- fLogPost(sample)
(CMW <- exp(normConstLaplaceBridge( sample, logPostSample, logPostSample )) )

#normd <- cov.rob(sample)
#(res <-  boot( sample, function(sample, i){normConstLaplace(sample[i,], fLogDen=fLogDen, nd=normd)}, 100))
#(res2 <-  boot( sample, function(sample, i){normConstLaplace(sample[i,], fLogDen=fLogDen)}, 100))

#normd <- cov.rob(sample)
#(res <-  boot( sample, function(sample, i){normConstLaplaceBridge(sample[i,], fLogDen=fLogDen, logDenSample, nd=normd)}, 100))
#(res2 <-  boot( sample, function(sample, i){normConstLaplaceBridge(sample[i,], fLogDen=fLogDen, logDenSample)}, 100))

twDEMC documentation built on May 2, 2019, 5:38 p.m.