The Society for Imprecise Probabilities:
Theories and Applications

Software tools for Imprecise Probabilities

This page provides information about software related to imprecise probabilities. If you have a developed such software, or are aware of software that would be useful to our community, please contact our Executive Editor.

Credal networks and other graphical models

aGrUM/pyAgrum: a graphical universal modeler

aGrUM is a C++ library for graphical models, and pyAgrum is a Python wrapper with GUI for aGRuM. They are designed for easily building applications using graphical models, including Bayesian networks and credal networks. They provide the basic building blocks to design, learn and elicit graphical networks, as well as to use these graphical networks for inference.

Ducamp, G., Gonzales, C., Wuillemin, P.-H. "aGrUM/pyAgrum : a toolbox to build models and algorithms for Probabilistic Graphical Models in Python". In: Jaeger, M., Nielsen, T.D. (Eds), Proceedings of the 10th International Conference on Probabilistic Graphical Models (PGM 2020), Proceedings of Machine Learning Research 138, PMLR, Skørping, Denmark.

Language: C++/Python

Open source: yes

Free to use: yes

More information
CREDICI: credal network inference for causal inference

Credici (Credal Inference for Causal Inference) is an open-source Java library for causal analysis. Inference is done using well-founded methods for inference on credal networks. The main features of Credici are: easy definition of Structural Causal Models, causal inference (causal effects and counterfactuals) based on a reduction to credal network inference.

Cabañas, R., Antonucci, A., Huber, D., Zaffalon, M. "CREDICI: a Java library for causal inference by credal networks". In: Jaeger, M., Nielsen, T.D. (Eds), Proceedings of the 10th International Conference on Probabilistic Graphical Models (PGM 2020), Proceedings of Machine Learning Research 138, PMLR, Skørping, Denmark.

Language: Java

Open source: yes

Free to use: yes

More information
CREMA: credal network modelling and inference

Crema (CREdal Models Algorithms) is a Java library for inference in credal networks. The main features of Crema are: providing a simple API for the definition of credal networks, embedding exact and approximate algorithms for credal inference, and loading and exporting credal networks in a UAI-based format.

Huber, D., Cabañas, R., Antonucci, A., Zaffalon, M. (2020). "CREMA: a Java library for credal network inference". In Jaeger, M., Nielsen, T.D. (Eds), Proceedings of the 10th International Conference on Probabilistic Graphical Models (PGM 2020), Proceedings of Machine Learning Research 138, PMLR, Skørping, Denmark.

Language: Java

Open source: yes

Free to use: yes

More information
ELVIRA: interval bayesian networks and influence diagrams

ELVIRA is a tool that allows to encode bayesian networks or influence diagrams with discrete variables. It comes with a GUI and has methods both for inference and learning. ELVIRA accepts interval probabilities in conditional tables.

Language: Java

Open source: yes

Free to use: yes

More information

Decision making and classification

classifip: a library of imprecise probabilistic classifiers

The classifip project is a library of imprecise probabilistic classifiers. The goal is to offer a simple-to-use framework to implement and use imprecise probabilistic classifiers. The library accepts arff files as data sets format, so that WEKA files can be used directly.

Language: Python

Open source: yes

Free to use: yes

More information
DecideIT: multi-criteria decision making and risk analysis

DecideIT encompasses several multi-criteria decision and risk analysis methods using imprecise models. The software is free when used for academic purposes.

M. Danielson L. Ekenberg J. Johansson and A. Larsson "The DecideIT Decision Tool". ISIPTA 2003: 204-217.

Language: N.A.

Open source: no

Free to use: for academic use

More information
JNCC2: the naive credal classifier 2

This software encodes the extension of the Naive Bayes Classifier into credal networks: that is bayesian networks where conditional probabilities can be imprecisely specified. Thanks to the use of imprecise probabilities and of imprecise probabilistic decision criterium (i.e. interval dominance) the Naive credal classifier returns sets of most plausible classes rather than single classes on instances when not enough information is available to return a single class.

G.Corani M. Zaffalon "Learning Reliable Classifiers From Small or Incomplete Data Sets: The Naive Credal Classifier 2" Journal of Machine Learning Research. 9. 581--621. 2008.

Language: Java

Open source: yes

Free to use: yes

No longer maintained

More information
Weka-IP: credal classification

Weka-IP is an extension of Weka for credal classification written in Java and released under GPU Licence. In the current version it contains four credal classifiers and a set of metrics specifically designed for the evaluation of credal classification. The full integration of these models in the GUI of Weka makes their use very simple.

Language: Java

Open source: yes

Free to use: yes

No longer maintained

More information

Statistics

IDP statistical package: statistics based on the imprecise Dirichlet process

Bayesian methods are ubiquitous in many research areas. Nevertheless, the analysis of empirical results is typically performed by frequentist tests. This implies dealing with null hypothesis significance tests and p-values, even though the shortcomings of such methods are well known. The IDP Statistical Package aims to change this perspective by providing Bayesian nonparametric versions of the most used frequentist tests. IDP is based on a Prior Near-Ignorance Dirichlet Process. This is the class of all Dirichlet Processes obtained by fixing the prior strength of the Dirichlet Process and letting the normalized base measure vary in the set of all probability measures.

Language: R, Matlab

Open source: yes

Free to use: yes

No longer maintained

More information
imprProbEst: learning upper previsions from data

ImprProbEst is a statistical learning method used to identify a model. It is based on a minimum distance operator and computes an upper coherent prevision given a set of independently and identically distributed data.

R. Hable "Minimum distance estimation in imprecise probability models" Journal of Statistical Planning and Inference 40 (2010). pp. 461-479.

Language: R

Open source: yes

Free to use: yes

No longer maintained

More information
linLIR: Likelihood-based imprecise linear regression

This package implements the methodology of Likelihood-based Imprecise Regression (LIR) for the case of linear regression with interval data.

M. Cattaneo and A. Wiencierz "Likelihood-based Imprecise Regression." International journal of Approximate Reasoning 53 (2012). pp. 1137-1154.

Language: R

Open source: yes

Free to use: yes

No longer maintained

More information

Belief functions and other set functions

DSI Toolbox: uncertainty propagation with belief functions

DSI (for Dempster Shafer with Intervals) is a toolbox containing many methods related to the handling of belief functions in the setting of the general Dempster-Shafer theory. This includes dependence modeling through copulas: sensitivity analysis: aggregation functions (Dempster rule and the like) : MC sampling and estimation of classical stastitical values (e.g. mean).

P. Limbourg R. Savic J. Petersen and H.-D. Kochs "Fault Tree Analysis in an Early Design Stage using the Dempster-Shafer Theory of Evidence European Safety and Reliability Conference" ESREL 2007. pp. 713-722.

Language: Matlab

Open source: yes

Free to use: yes

More information
iBelief: basic functions to implement belief functions

The package ibelief aims to provide some basic functions to implement the theory of belief functions, and includes many features such as:

  • Fast Mobius Transformation to convert any of the belief measures (such as basic belief assignment, credibility, plausibility and so on) to another type;
  • Some commonly used combination rules including DS rule, Smets’ rule, Yager’s rule, DP rule, PCR6 and so on;
  • Some rules for making decisions;
  • The discounting rules in the theory of belief functions;
  • Different ways to generate random masses.

Language: R

Open source: yes

Free to use: yes

More information
Kappalab: set-function handling

Kappalab is an R package that includes many routines to handle set functions such as games or capacities. It can be used to compute non-additive integrals (Sugeno or Choquet) Shapley value or Mobius transform. It is mainly oriented towards Multi-criteria decision making and game theoretic calculus but some routines can certainly be used to compute lower/upper expectations or to manipulate belief functions.

Denneberg "Non-additive measure and integral: basic concepts and their role for applications" M. Grabisch T. Murofushi and M. Sugeno Eds. Fuzzy Measures and Integrals: Theory and Applications. Physica-Verlag. pages 42-69.

Language: R

Open source: yes

Free to use: yes

More information
RefereeToolbox: evidence fusion for belief functions

RefereeToolbox is a java package implementing combination operators for fusing evidences. RefereeToolbox is based on an interpretation of the fusion rules by means of Referee Functions. This approach implies a dissociation between the definition of the combination and its actual implementation (a common feature to all referee-based combinations).

F. Dambreville. "Modeling evidence fusion rules by means of referee functions". Information Fusion 2009.

Language: Java

Open source: yes

Free to use: yes

No longer maintained

More information
Software Thierry Denoeux: classification and clustering using belief functions

Thierry Denoeux makes available several tools derived from some of his work. Most works concern learning from data (in unsupervised and supervised settings) with evidential methods. Most codes are in Matlab and some more recent librairies are in R

Language: Matlab/R

Open source: yes

Free to use: yes

More information
Toolboxes Arnaud Martin: manipulation of belief functions

Arnoud Martin makes available two Matlab toolboxes for belief functions.

Language: Matlab

Open source: yes

Free to use: yes

No longer maintained

More information

Software for other or multiple purposes

EvCombR: evidence combination for belief functions and imprecise probabilities

EvCombR is an R package implementing different uncertainty representations. It includes combination rules of belief functions and imprecise probabilities.

Language: R

Open source: yes

Free to use: yes

More information
HYRISK: hybrid method for uncertainty propagation

Methods for addressing uncertainty in risk assessments using hybrid representations of uncertainty (probability distributions and fuzzy numbers and intervals and probability distributions with imprecise parameters) based on the developments derived from the close collaboration between BRGM (french geological survey) and IRIT (Toulouse Computer Science Laboratory). The uncertainty propagation procedure combines random sampling using Monte Carlo method with fuzzy interval analysis. The sensitivity analysis is based on the pinching method of Ferson and Tucker (2006).

C. Baudrit and D. Dubois and D. Guyonnet Joint propagation and exploitation of probabilistic and possibilistic information in risk assessment. IEEE transactions on fuzzy systems. 14. 593-608. 2006. S. Ferson and W.T. Tucker. Sensitivity analysis using probability bounding. Reliability Engineering and System Safety. 91. 1435-1442. 2006.

Language: R

Open source: yes

Free to use: yes

More information
Improb: a Python module for working with imprecise probabilities

This Python library provides different tools to manipulate lower previsions and special cases of lower previsions. This includes: computing lower and upper expectations of conditional lower previsions: estimating extreme points : transformations between representations (including Mobius transform). It also includes computations on decision trees.

Language: Python/C++

Open source: yes

Free to use: yes

No longer maintained

More information
IPP Toolbox: uncertainty quantification and propagation

Uncertainty quantification and propagation in the framework of Dempster-Shafer Theory and imprecise probabilities. This toolbox offers easy-to-use methods for using imprecise probabities for applied uncertainty modelling and simulation. The package comprises the basic functionality needed, with usability similar to standard probabilistic analysis:

  • Fit imprecise probability distributions from data;
  • Define imprecise probabilities based on distribution functions;
  • Combine with various aggregation rules (e. g. Dempster's rule);
  • Plotting tools;
  • Propagate through arbitrary functions / simulations via Monte Carlo;
  • Perform sensitivity analyses with imprecise distributions
  • Example models for a quick start.

Language: R

Open source: yes

Free to use: yes

More information
murasyp: sets of desirable gambles, lower- and upper previsions, and credal sets

This package allows one to model and work with finitary sets of desirable gambles with arbitrary border structure. (It uses the CONEstrip algorithm under the hood for deriving inferences.) Specific methods are also available for specifying and inferring lower and upper previsions, so it can be used for working with previsions as well. Furthermore, conversion to and from and working with credal sets is possible to some degree.

Language: Python

Open source: yes

Free to use: yes

More information
RAMAS Risk Calc: risk analysis with probabilistic/fuzzy arithmetic

RAMAS allows to propagate uncertainty through functions that can be expressed as combinations of arithmetic operations or monotonic functions (e.g. log. exp). It allows to model uncertainty and incomplete probabilistic knowledge either with p-boxes or fuzzy sets or classical probabilities. Uncertainty propagation is achieved either by corresponding arithmetic (fuzzy or probabilistic) or by Monte-Carlo sampling.

S. Ferson "2002 RAMAS Risk Calc 4.0 Software: Risk Assessment with Uncertain Numbers." Lewis Publishers. Boca Raton. Florida.

Language: N.A.

Open source: no

Free to use: no

More information