MBNpy

A Python toolkit for risk assessment in high-dimensional systems

MBNpy is a Python implementation of the Matrix-based Bayesian Network (MBN) — a scalable Bayesian network (BN) framework designed to handle complex, high-dimensional system events.

It focuses on discrete-state component events, which present distinct characteristics compared to continuous-state models.

MBNpy enables the construction of interpretable and updatable BN models, even in systems with a large number of components. Its core functionalities include:

  1. Encoding high-dimensional system event distributions to enable scalable Bayesian inference.
  2. Automated encoding algorithms tailored to different types of systems (e.g., parallel/series, multi-state k-out-of-N systems, and general coherent systems).
  3. For general system events, interpretability and real-time updates through automatic identification of failure and survival rules.

Bayesian network

BN is a probabilistic graphical model that visualises statistical dependencies between variables. A typical BN graph for a system event is as follows:
BN is a very useful tool for probabilistic analysis of engineering systems:
  1. a complex joint probability distribution can be readily quantified by being broken down to local distributions between directly connected components; and
  2. new information can be systematically incorporated to update an entire model through observation nodes.
However, the problem arises from the converging structure between components $X_1, \cdots, X_N$ and system $S$. The relationship is defined by the $(N+1)$-dimensional distribution $P(S | X_1, \cdots, X_N)$.
When a system has 50 binary-state components, there are more than $10^{15}$ possible state combinations; if a combination can be analysed for 0.001 seconds, it takes 35,702 years to complete computation.

MBN vs. BN

MBN solves the challenge by two approahces:
  1. It provides encoding algorithms to quantify $P(S | X_1, \cdots, X_N)$ for various classes of system events. A summary of solvable system classes is available at MBNPy's system catalogue.
  2. It provides advanced BN inference and optimisation algorithms specialised for handling large-scale systems.

Citation

For general use of MBNPy, Byun and Song (2021) can be cited. For other specific uses, a summary of developments and publications are available at Publications.

Recent posts

Developers