################################################################################# # Bayesian model selection and statistical modeling # Chapman & Hall/CRC Taylor and Francis Group # # Chapter5: Section5.5.1 # # Evaluation of the approximation error of BIC # # Author : Tomohiro Ando # ################################################################################ # Settings n <- 50 #Sample size K <- 10^5 # Number of trials Errors <- rep(0,len=K) # Setting hyperparameters alpha <- 2 beta <- 4 for(k in 1:K){ # Data generation x <- rbinom(n,size=1,p=0.2) # Posterior inference alphahat <- alpha+sum(x) betahat <- beta+n-sum(x) # Marginal likelihood Marginallikelihood <- choose(n,sum(x))*gamma(alpha+beta)/(gamma(alpha)*gamma(beta))*gamma(alphahat)*gamma(betahat)/(gamma(n+alpha+beta)) #BIC BIC <- log( dbinom(sum(x),size=n,prob=mean(x)) ) -log(n)/2 Errors[k] <- abs( Marginallikelihood-exp( BIC ) ) } print(mean(Errors)) print(sd(Errors))