A Probabilistic Relational Model (PRM), [1], [2], 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. [4] introduced the directed acyclic probabilistic entity-relationship (DAPER) model which is based on the entity-relationship model used to design relational databases.
**P**rob**R**e**M** 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*, **P**rob**R**e**M** 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, **P**rob**R**e**M** 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 **P**rob**R**e**M**, and the *example model* is a walkthrough with an applied example. For theoretical background, we recommend Introduction to Statistical Relational Learning [3] 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 [5] is an excellent reference.

- Python
- Numpy / Scipy
- Matplotlib / Pylab
- iPython

It is hard to draw a line between the core functionality of the framework and the functionality needed by a specific **P**rob**R**e**M** 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 **P**rob**R**e**M** 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.

[1] | N. Friedman, L. Getoor, D. Koller, and A. Pfeffer. Learning probabilistic relational models. In IJCAI, pages 1300–1309, 1999. |

[2] | Lise Getoor. Learning probabilistic relational models. In SARA ’02: Proceedings of the 4th Interna- tional Symposium on Abstraction, Reformulation, and Approximation, pages 322–323. Springer- Verlag, 2000. |

[3] | Lise Getoor and Ben Taskar. Introduction to Statistical Relational Learning (Adaptive Computation and Machine Learning). The MIT Press, 2007. |

[4] | D. Heckerman, C. Meek, and D. Koller. Probabilistic models for relational data. Technical Report MSR-TR-2004-30, Microsoft Research, 2004. |

[5] | D. Koller and N. Friedman. Probabilistic Graphical Models: Principles and Techniques. MIT Press, 2009. |