Learn R Programming

AICcmodavg (version 2.3-1)

DIC: Computing DIC

Description

Functions to extract deviance information criterion (DIC).

Usage

DIC(mod, return.pD = FALSE, ...) 

# S3 method for bugs DIC(mod, return.pD = FALSE, ...)

# S3 method for rjags DIC(mod, return.pD = FALSE, ...)

# S3 method for jagsUI DIC(mod, return.pD = FALSE, ...)

Value

DIC the DIC or pD depending on the values of the arguments.

Arguments

mod

an object of class bugs, rjags, or jagsUI containing the output of a model.

return.pD

logical. If FALSE, the function returns the DIC. If TRUE, the function returns the effective number of estimated parameters (pD) for a given model.

...

additional arguments passed to the function.

Author

Marc J. Mazerolle

Details

DIC is implemented for bugs, rjags, and jagsUI classes. The function extracts the deviance information criterion (DIC, Spiegelhalter et al. 2002) or the effective number of parameters (pD).

References

Millar, R. B. (2009) Comparison of hierarchical Bayesian models for overdispersed count data using DIC and Bayes' factors. Biometrics, 65, 962--969.

Spiegelhalter, D. J., Best, N. G., Carlin, B. P., van der Linde, A. (2002). Bayesian measures of complexity and fit. Journal of the Royal Statistical Society, Series B 64, 583--639.

See Also

AICcCustom, aictab, dictab, confset, evidence

Examples

Run this code
##from ?jags example in R2jags package
if (FALSE) {
require(R2jags)
##example model file
model.file <- system.file(package="R2jags", "model", "schools.txt")
file.show(model.file)     

##data
J <- 8.0
y <- c(28.4,7.9,-2.8,6.8,-0.6,0.6,18.0,12.2)
sd <- c(14.9,10.2,16.3,11.0,9.4,11.4,10.4,17.6)
     
##arrange data in list     
jags.data <- list (J = J, y = y, sd = sd)

##initial values
jags.inits <- function(){
  list(theta=rnorm(J, 0, 100), mu=rnorm(1, 0, 100),
       sigma=runif(1, 0, 100))
}

##parameters to be monitored
jags.parameters <- c("theta", "mu", "sigma")
     
##run model
schools.sim <- jags(data = jags.data, inits = jags.inits,
                    parameters = jags.parameters,
                    model.file = model.file,
                    n.chains = 3, n.iter = 10)
##note that n.iter should be higher

##extract DIC
DIC(schools.sim)
##extract pD
DIC(schools.sim, return.pD = TRUE)
detach(package:R2jags)
}

Run the code above in your browser using DataLab