Var#

class liesel.model.nodes.Var(value, distribution=None, name='')[source]#

Bases: object

A variable in a statistical model, typically with a probability distribution.

A variable in Liesel is typically a random variable, e.g. an observed or latent variable with a probability distribution, or a model parameter with a prior distribution. Note that observed variables and model parameters should typically be declared with the Obs() and Param() helper functions. Other quantities can also be declared as variables, e.g. fixed data like hyperparameters or design matrices, or quantities that are computed from other nodes, e.g. structured additive predictors in semi-parametric regression models.

If a Data or Calc node does not have an associated probability distribution, it is possible but not necessary to declare it as a variable. There is no hard and fast rule when a node without a probability distribution should be declared as a variable and when not. The advantages of a variable in this case are: (1) easier access via the Model.vars attribute, and (2) more explicit visualization with the plot_vars() function. This might be particularly desirable for the hyperparameters of a prior distribution.

See also

Obs

Helper function to declare a variable as an observed quantity.

Param

Helper function to declare a variable as a model parameter.

Methods

all_input_nodes()

Returns all input nodes as a unique tuple.

all_input_vars()

Returns all input variables as a unique tuple.

all_output_nodes()

Returns all output nodes as a unique tuple.

all_output_vars()

Returns all output variables as a unique tuple.

update()

Updates the variable.

Attributes

info

Additional meta-information about the variable as a dict.

dist_node

The distribution node of the variable.

groups

The groups that this variable is a part of.

has_dist

Whether the variable has a probability distribution.

log_prob

The log-probability of the variable.

model

The model the variable is part of.

name

The name of the variable.

nodes

The nodes of the variable as a list.

observed

Whether the variable is observed.

parameter

Whether the variable is a parameter.

role

The role of the variable.

strong

Whether the variable is strong.

value

The value of the variable.

value_node

The value node of the variable.

var_value_node

The proxy node for the value of the variable.

weak

Whether the variable is weak.