A Probabilistic Relational Model (PRM), , , is a directed probabilistic graphical model used in the field of Statistical Relational Learning (SRL). PRMs define a language that can be used to describe the relationships - structural and probabilistic - between classes and variables, and thus allows representing dependencies between sets of objects. Heckerman et al. introduced the directed acyclic probabilistic entity-relationship (DAPER) model which is based on the entity-relationship model used to design relational databases.
ProbReM is built on the DAPER specification of a PRM, thus it requires the data to be modelled with a entity-relationship diagram. The probabilistic structure defines the dependencies among the probabilistic attributes of the entity-relationship model.
The parent and the child attribute of a dependency can be associated with different entities or relationships; Getoor et al. refer to the path from child to parent attribute the slotchain whereas Heckerman et al. associate a more general constraint with the dependency instead. The traditional slotchain is the most common constraint, ProbReM makes use of both expressions depending which one is more appropriate in the context.
Relationships are either of type 1:n or m:n, therefore it is possible that attribute objects have multiple parent attribute objects for the same probabilistic dependency. Aggregation of the parent attribute objects is a common way to deal with this problem, ProbReM allows to define generic aggregation functions (avg, min, max).
Different inference methods have been implemented, all of which are based on Markov Chain Monte Carlo methods.
The section Using ProbReM illustrates the approach used in ProbReM, and the example model is a walkthrough with an applied example. For theoretical background, we recommend Introduction to Statistical Relational Learning by Lise Getoor & Ben Taskar for an excellent introduction to the different approaches introduced in the SRL field. For more background on using MCMC in graphical models, D. Koller & N. Friedman’s Probabilistic Graphical Models: Principles and Techniques is an excellent reference.
- Numpy / Scipy
- Matplotlib / Pylab
It is hard to draw a line between the core functionality of the framework and the functionality needed by a specific ProbReM project. For this reason the source code will be provided as a folder and the framework has to be added to the PYTHONPATH of the ProbReM project. In the future it might be useful to create a proper Python package. The code is available as is on github.
See Using ProbReM for how to start a new project.