aldro61 / graphical_models

Implementations of common graphical models, utilities for creating random graphs, and sampling from graphical models.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyPI version Build Status codecov

graphical_models is a Python package for:

  • representing graphical models, including directed acyclic graphs (DAGs), undirected graphs, (maximal) ancestral graphs (MAGs), partially directed acyclic graphs (PDAGs), partial ancestral graphs (PAGs),

  • generating graphical models at random, and

  • sampling from graphical models with specified distributions, e.g. Gaussian DAGs and Gaussian Graphical Models (GGMs).

graphical_models is a part of the causaldag ecosystem of packages.

Install

Install the latest version of graphical_models:

$ pip3 install graphical_models

Documentation

Documentation is available at https://graphical-models.readthedocs.io/en/latest/

Simple Example

>>> from graphical_models import DAG
>>> d = DAG(arcs={(0, 1), (2, 1)})
>>> d.vstructures()
{(0, 1, 2)}
>>> d.cpdag().arcs
{(0, 1), (2, 1)}
>>> d2 = DAG(arcs={(0, 1), (1, 2), (0, 2)})
>>> d2.is_imap(d)
True
>>> d2.markov_equivalent(d)
False
>>> d.dsep(0, 2)
True
>>> d.dsep(0, 2, {1})
False
>>> m = d.moral_graph()
>>> m.edges
{frozenset({0, 1}), frozenset({0, 2}), frozenset({1, 2})}
>>> d3 = DAG(arcs={(0, 1), (0, 2)})
>>> mag = d3.marginal_mag(0)
>>> mag.bidirected
{frozenset({1, 2})}

License

Released under the 3-Clause BSD license (see LICENSE.txt):

Copyright (C) 2021
Chandler Squires <csquires@mit.edu>

About

Implementations of common graphical models, utilities for creating random graphs, and sampling from graphical models.

License:Other


Languages

Language:HTML 83.4%Language:Python 13.6%Language:JavaScript 2.4%Language:CSS 0.6%Language:Makefile 0.0%Language:Shell 0.0%