# autofit.UniformPrior#

class UniformPrior[source]#

Bases: Prior

A prior with a uniform distribution, defined between a lower limit and upper limit.

The conversion of an input unit value, u, to a physical value, p, via the prior is as follows:



For example for prior = UniformPrior(lower_limit=0.0, upper_limit=2.0), an input prior.value_for(unit=0.5) is equal to 1.0.

[Rich describe how this is done via message]

Parameters
• lower_limit (float) – The lower limit of the uniform distribution defining the prior.

• upper_limit (float) – The upper limit of the uniform distribution defining the prior.

Examples

prior = af.UniformPrior(lower_limit=0.0, upper_limit=2.0)

physical_value = prior.value_for(unit=0.2)

Methods

 assert_within_limits dict A dictionary representation of this prior for_class_and_attribute_name from_dict Returns a prior from a JSON representation. gaussian_prior_model_for_arguments has Does this instance have an attribute which is of type cls? instance_for_arguments log_prior_from_value Returns the log prior of a physical value, so the log likelihood of a model evaluation can be converted to a posterior as log_prior + log_likelihood. logpdf make_indexes rtype Tuple[ndarray, ...] name_of_class A string name for the class, with the prior suffix removed. new Returns a copy of this prior with a new id assigned making it distinct next_id project random A random value sampled from this prior replacing_for_path Create a new model replacing the value for a given path with a new value unit_value_for Compute the unit value between 0 and 1 for the physical value. value_for Returns a physical value from an input unit value according to the limits of the uniform prior. with_limits Create a new instance of the same prior class with the passed limits. with_message

Attributes

 component_number factor A callable PDF used as a factor in factor graphs identifier label limits rtype lower_unit_limit The lower limit for this prior in unit vector space ndim How many dimensions does this variable have? parameter_string rtype str upper_unit_limit The upper limit for this prior in unit vector space width
value_for(unit, ignore_prior_limits=False)[source]#

Returns a physical value from an input unit value according to the limits of the uniform prior.

Parameters

unit (float) – A unit value between 0 and 1.

Returns

The unit value mapped to a physical value according to the prior.

Return type

value

Examples

prior = af.UniformPrior(lower_limit=0.0, upper_limit=2.0)

physical_value = prior.value_for(unit=0.2)

static log_prior_from_value(value)[source]#

Returns the log prior of a physical value, so the log likelihood of a model evaluation can be converted to a posterior as log_prior + log_likelihood.

This is used by certain non-linear searches (e.g. Emcee) in the log likelihood function evaluation.

For a UniformPrior this is always zero, provided the value is between the lower and upper limit.