Model#
- class liesel.model.model.Model(nodes_and_vars, grow=True, copy=False)[source]#
Bases:
objectA model with a static graph.
- Parameters:
nodes_and_vars (
Iterable[Node|Var]) – The nodes and variables to include in the model.grow (
bool) – Whether aGraphBuildershould be used to grow the model (finding the recursive inputs of the nodes and variables), and to add the model nodes. (default:True)copy (
bool) – Whether the nodes and variables should be copied upon initialization. (default:False)
Methods
Returns an unfrozen deep copy of the model nodes and variables.
groups()Collects the groups from all nodes and variables.
Pops the nodes and variables out of this model.
set_seed(seed)Splits and sets the seed / PRNG key.
simulate(seed[, skip])Updates the model state simulating from the probability distributions in the model using a provided random seed, optionally skipping specified nodes.
update(*names)Updates the target nodes and their recursive inputs if they are outdated.
Attributes
Whether to update the model automatically if the value of a node is modified.
The log-likelihood of the model.
The log-prior of the model.
The (unnormalized) log-probability / log-posterior of the model.
The directed graph of the model nodes.
A mapping of the model nodes with their names as keys.
The state of the model as a dict of node names and states.
The directed graph of the model variables.
A mapping of the model variables with their names as keys.