pymc.model.core.model_to_graphviz#

pymc.model.core.model_to_graphviz(model=None, *, var_names=None, formatting='plain')[source]#

Produce a graphviz Digraph from a PyMC model.

Requires graphviz, which may be installed most easily with

conda install -c conda-forge python-graphviz

Alternatively, you may install the graphviz binaries yourself, and then pip install graphviz to get the python bindings. See http://graphviz.readthedocs.io/en/stable/manual.html for more information.

Parameters:
modelpm.Model

The model to plot. Not required when called from inside a modelcontext.

var_namesiterable of variable names, optional

Subset of variables to be plotted that identify a subgraph with respect to the entire model graph

formattingstr, optional

one of { “plain” }

Examples

How to plot the graph of the model.

import numpy as np
from pymc import HalfCauchy, Model, Normal, model_to_graphviz

J = 8
y = np.array([28, 8, -3, 7, -1, 1, 18, 12])
sigma = np.array([15, 10, 16, 11, 9, 11, 10, 18])

with Model() as schools:

    eta = Normal("eta", 0, 1, shape=J)
    mu = Normal("mu", 0, sigma=1e6)
    tau = HalfCauchy("tau", 25)

    theta = mu + tau * eta

    obs = Normal("obs", theta, sigma=sigma, observed=y)

model_to_graphviz(schools)