Var.new_obs()

Contents

Var.new_obs()#

classmethod Var.new_obs(value, distribution=None, name='')[source]#

Initializes a strong variable that holds observed data.

An observed variables is a strong variable that can have a distribution. If it does have a distribution, its log_prob is counted in a model’s log likelihood, i.e. log_lik.

Parameters:
  • value (Any) – The value of the variable.

  • distribution (Dist | None) – The probability distribution of the variable. (default: None)

  • name (str) – The name of the variable. If you do not specify a name, a unique name will be automatically generated upon initialization of a Model. (default: '')

Return type:

Var

See also

Var.new_param

Initializes a strong variable that acts as a model parameter.

Var.new_calc

Initializes a weak variable that is a function of other variables.

Var.new_value

Initializes a strong variable without a distribution.

Examples

A simple observed variable without a distribution and without a name:

>>> x = lsl.Var.new_obs(1.0)
>>> x
Var(name="")

A simple observed variable with a normal distribution:

>>> prior = lsl.Dist(tfd.Normal, loc=0.0, scale=1.0)
>>> x = lsl.Var.new_param(1.0, distribution=prior)
>>> x
Var(name="")