Var.new_param()#
- classmethod Var.new_param(value, distribution=None, name='', inference=None, bijector=None)[source]#
Initializes a strong variable that acts as a model parameter.
A parameter is a strong variable that can have a distribution. If it does have a distribution, its
log_probis counted in a model’s log prior, i.e.log_prior.- Parameters:
value (
Any) – The value of the variable.distribution (
Dist|None, default:None) – The probability distribution of the variable.name (
str, default:'') – The name of the variable. If you do not specify a name, a unique name will be automatically generated upon initialization of aModel.inference (
TypeAliasType, default:None) – Additional information that can be used to set up inference algorithms.bijector (
None|TypeAliasType|Literal['auto'], default:None) – Bijector for variable transformation. If"auto", uses the default event space bijector defined by the variable’s distribution. IfNone, no transformation takes place. If notNone, the variable will callbiject()with this bijector upon initialization. Any supplied inference information will be passed to the bijected variable.
- Return type:
See also
Var.new_obsInitializes a strong variable that holds observed data.
Var.new_calcInitializes a weak variable that is a function of other variables.
Var.new_valueInitializes a strong variable without a distribution.
Examples
A simple parameter without a distribution and without a name:
>>> x = lsl.Var.new_param(1.0) >>> x Var(name="")
A simple parameter with a normal prior:
>>> prior = lsl.Dist(tfd.Normal, loc=0.0, scale=1.0) >>> x = lsl.Var.new_param(1.0, distribution=prior) >>> x Var(name="")