Modelling Multivariate Data with Additive Bayesian Networks

Bayesian network analysis is a form of probabilistic graphical models which derives from empirical data a directed acyclic graph, DAG, describing the dependency structure between random variables. An additive Bayesian network model consists of a form of a DAG where each node comprises a generalized linear model, GLM. Additive Bayesian network models are equivalent to Bayesian multivariate regression using graphical modelling, they generalises the usual multivariable regression, GLM, to multiple dependent variables. 'abn' provides routines to help determine optimal Bayesian network models for a given data set, where these models are used to identify statistical dependencies in messy, complex data. The additive formulation of these models is equivalent to multivariate generalised linear modelling (including mixed models with iid random effects). The usual term to describe this model selection process is structure discovery. The core functionality is concerned with model selection - determining the most robust empirical model of data from interdependent variables. Laplace approximations are used to estimate goodness of fit metrics and model parameters, and wrappers are also included to the INLA package which can be obtained from <>. The computing library JAGS <> is used to simulate 'abn'-like data. A comprehensive set of documented case studies, numerical accuracy/quality assurance exercises, and additional documentation are available from the 'abn' website <>.

how to


  • abn/ contains source code
  • Use testthat for tests


  • bug correction for simulation and prediction
  • plot function with mb, fitabn output
  • implementation of forumla in: Buildscore/fitabn (modification of rd file)
  • plot function + rd file
  • prediction function + rd file
  • simulation function + rd file

To do:

R Package (release)

  • rd file: plot, simulation, prediction
  • implementation of test for plot/prediction/simulation functions
  • diagnostic plots
  • bootstrapping
  • Implement parallel computing in fitabn(), buildscorecache()

R package (extension):

  • Implement new prior MP (multinomial + data separation)
  • Data separation
  • Random effect (already one layer)
  • Multinomial
  • Negative binomial, ...
  • Time/Memory resources optimization
  • Handling missing data


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.5-0 by Gilles Kratzer, 6 months ago

Report a bug at

Browse source code at

Authors: Gilles Kratzer [aut, cre] , Fraser Iain Lewis [aut] , Reinhard Furrer [ctb] , Marta Pittavino [ctb]

Documentation:   PDF Manual  

Task views:

GPL (>= 2) license

Imports methods, rjags

Depends on nnet, lme4, Rgraphviz

Suggests INLA, knitr, R.rsp, testthat, entropy, moments, boot, brglm

Linking to Rcpp, RcppArmadillo

System requirements: Gnu Scientific Library version >= 1.12

Imported by mcmcabn.

See at CRAN