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

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: (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