# 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

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, PMLR, Aalborg, Denmark.

**Language:** Java

**Open source:**
yes

**Free to use:**
yes

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, PMLR, Aalborg, Denmark.

**Language:** Java

**Open source:**
yes

**Free to use:**
yes

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

G-LP is an algorithm for approximate credal network updating. The problem in its general formulation is a multilinear optimization task, which can be linearized by an appropriate rule for fixing all the local models apart from those of a single variable. This simple idea can be iterated and quickly leads to very accurate inferences. The approach can also be specialized to classification with credal networks based on the maximality criterion.

**A. Antonucci, C.P. de Campos, D. Huber and M. Zaffalon** "Approximating credal network inferences by linear programming" in: L.C. van der Gaag (Ed) Proceedings of the 12th European Conference on Symbolic and Quantitative Approaches to Reasoning with Uncertainty. Lecture Notes in Artificial Intelligence 7958, Springer, Berlin Heidelberg, pp. 13–25.

**Language:** Java

**Open source:**
yes

**Free to use:**
yes

GL2U-II is an open source package for computing upper and lower probabilities for non-separately specified, non-binary credal networks. The framework of GL2U-II combines the local specification, the binarization and the loopy 2U inference process, similar to the previous version of GL2U.

**A. Antonucci M. Zaffalon Y. Sun and C.P. de Campos** "Generalized loopy 2U: A new algorithm for approximate inference credal networks" in: M. Jaeger T.D. Nielsen (Eds.) Proceedings of the Fourth European Workshop on Probabilistic Graphical Models. Hirtshals (Denmark). 2008. pp. 17--24.

**Language:** Python/C++

**Open source:**
yes

**Free to use:**
yes

### Decision making and classification

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

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

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

### Statistics

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

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

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

### Belief functions and other set 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

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

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

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

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

Arnoud Martin makes available two Matlab toolboxes for belief functions.

**Language:** Matlab

**Open source:**
yes

**Free to use:**
yes

### Software for other or multiple purposes

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

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

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

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

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

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