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

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

tree_flatten

tree_unflatten

Create a prior from a flattened PyTree

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

lower_unit_limit

The lower limit for this prior in unit vector space

ndim

How many dimensions does this variable have?

parameter_string

upper_unit_limit

The upper limit for this prior in unit vector space

width

with_limits(lower_limit, upper_limit)[source]#

Create a new instance of the same prior class with the passed limits.

Return type:

Prior

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)

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.