Creating and manipulating objects

  • Creating Bayesian network structures
    1. Creating an empty network
    2. Creating a saturated network
    3. Creating a network structure
      1. With a specific arc set
      2. With a specific adjacency matrix
      3. With a specific model formula
    4. Creating one or more random network structures
      1. With a specified node ordering
      2. Sampling from the space of connected directed acyclic graphs with uniform probability
      3. Sampling from the space of the directed acyclic graphs with uniform probability
  • Creating custom fitted Bayesian networks
    1. Creating custom fitted Bayesian networks using expert knowledge
      1. Discrete networks
      2. Continuous networks
      3. Hybrid networks (mixed continuous and discrete nodes)
    2. Creating custom fitted Bayesian networks using both data and expert knowledge
  • Manipulating the nodes of a network structure
    1. Adding and removing nodes
    2. Renaming nodes

Structure learning

  • Score functions: computing & comparing
    1. Loading the reference data sets
    2. Computing a network score
    3. Testing score equivalence
  • Conditional independence tests
    1. Parametric tests
    2. Semiparametric Monte Carlo tests
    3. Monte Carlo permutation tests
  • Whitelists and blacklists in structure learning
    1. Constraint-based structure learning algorithms
    2. Score-based structure learning algorithms
    3. Local search learning algorithms
    4. Hybrid structure learning algorithms
  • Utilities to construct blacklists
    1. Constructing a blacklist from a topological ordering
    2. Constructing a blacklist from a partial ordering
    3. Constructing a blacklist to ensure a subset of nodes are disconnected from each other
  • Using custom scores in structure learning
    1. Replicating an existing score
    2. Instrumenting network scores to debug them
    3. Extending existing network scores
    4. Implementing new network scores
      1. Mixed-Effects models as local distributions
      2. Additive Bayesian networks
      3. The oracle score
  • Using custom tests in structure learning
    1. Replicating an existing test
    2. Instrumenting tests to debug them
    3. Extending existing conditional independence tests
    4. Implementing new conditional independence tests
      1. Ordinal logistic regressions as local distributions
      2. The oracle test

Parameter learning

  • Fitting the parameters of a Bayesian network
    1. Learning the network structure
    2. Setting the direction of undirected arcs
    3. Fitting the parameters (Maximum Likelihood estimates)
      1. Discrete data
      2. Continuous data
      3. Hybrid data (mixed discrete and continuous)
    4. Fitting the parameters (Bayesian Posterior estimates)
      1. Discrete data
    5. Fitting the parameters (Expectation-Maximization estimates)

Model validation

Inference

Plotting

Handling of missing data

Interfacing with other R packages

Interfacing with other software packages

Extended examples

  • bnlearn: Practical Bayesian Networks in R (Tutorial at the useR! conference in Toulouse, 2019)
    1. A Quick introduction
      1. Bayesian networks
        1. Definitions
        2. Learning
        3. Inference
      2. The bnlearn package
    2. A Bayesian network analysis of malocclusion data
      1. The data
      2. Preprocessing and exploratory data analysis
    3. Model #1: a static Bayesian network as a difference model
      1. Learning the Bayesian network
        1. Learning the structure
        2. Learning the parameters
      2. Model validation
        1. Predictive accuracy
        2. Confirming with expert knowledge
    4. Model #2: a dynamic Bayesian network
      1. Learning the structure
      2. Model averaging in structure learning
      3. Learning the parameters
      4. Model validation and inference
  • bnlearn: Learning Bayesian Networks from Incomplete Data (Advanced Data Science I course, Osaka University, 2023)
    1. A Quick introduction
      1. Bayesian networks
        1. Definitions
        2. Learning
        3. Inference
        4. Equivalence classes
        5. Causal interpretation of BNs
      2. Missing data
    2. Bayesian networks for missing data
      1. Parameter learning
        1. Using locally-complete data
        2. The Expectation-Maximisation algorithm
      2. Structure learning
        1. Using locally-complete data
        2. The Expectation-Maximisation algorithm
        3. The PC algorithm
      3. Inference
        1. Imputation
        2. Prediction