autofit.LogGaussianPrior#
- class LogGaussianPrior[source]#
Bases:
Prior
A prior for a variable whose logarithm is gaussian distributed. Work in natural log.
The conversion of an input unit value,
u
, to a physical value,p
, via the prior is as follows:\[p = \mu + (\sigma * sqrt(2) * erfcinv(2.0 * (1.0 - u))\]For example for
prior = LogGaussianPrior(mean=1.0, sigma=2.0)
, an inputprior.value_for(unit=0.5)
is equal to 1.0.[Rich describe how this is done via message]
- Parameters:
mean (
float
) – The natural log of the distribution’s mean.sigma (
float
) – The spread of this distribution in natural log space, e.g. sigma=1.0 means P(ln x) has a standard deviation of 1.lower_limit (
float
) – A lower limit in real space (not log); physical values below this are rejected.upper_limit (
float
) – A upper limit in real space (not log); physical values above this are rejected.
Examples
prior = af.LogGaussianPrior(mean=1.0, sigma=2.0, lower_limit=0.0, upper_limit=2.0)
physical_value = prior.value_for(unit=0.5)
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
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_unflatten
Create a prior from a flattened PyTree
unit_value_for
Compute the unit value between 0 and 1 for the physical value.
Return a physical value for a value between 0 and 1 with the transformation described by this prior.
Create a new gaussian prior centred between two limits with sigma distance between this 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
- classmethod with_limits(lower_limit, upper_limit)[source]#
Create a new gaussian prior centred between two limits with sigma distance between this limits.
Note that these limits are not strict so exceptions will not be raised for values outside of the limits.
This function is typically used in prior passing, where the result of a model-fit are used to create new Gaussian priors centred on the previously estimated median PDF model.