Priors¶
-
class
radvel.prior.
EccentricityPrior
(num_planets, upperlims=0.99)[source]¶ Physical eccentricities
Prior to keep eccentricity between 0 and a specified upper limit.
Parameters: - num_planets (int or list) – Planets to apply the eccentricity prior. If an integer is given then all planets with indexes up to and including the specified integer will be included in the prior. If a list is given then the prior will only be applied to the specified planets.
- upperlims (float or list of floats) – List of eccentricity upper limits to assign to each of the planets. If a float is given then all planets must have eccentricities less then this value. If a list of floats is given then each planet can have a different eccentricity upper limit.
-
class
radvel.prior.
Gaussian
(param, mu, sigma)[source]¶ Gaussian prior
Guassian prior on a given parameter.
Parameters: - param (string) – parameter label
- mu (float) – center of Gaussian prior
- sigma (float) – width of Gaussian prior
-
class
radvel.prior.
HardBounds
(param, minval, maxval)[source]¶ Prior for hard boundaries
This prior allows for hard boundaries to be established for a given parameter.
Parameters: - param (string) – parameter label
- minval (float) – minimum allowed value
- maxval (float) – maximum allowed value
-
class
radvel.prior.
InformativeBaselinePrior
(param, baseline, duration=0.0)[source]¶ Informative baseline prior suggested by A. Vanderburg (see Blunt et al. 2019).
This prior follows the distribution:
\[ \begin{align}\begin{aligned}p(x) \propto 1\, \mathrm{{if}}\, x-t_{{d}} \lt B\\ \propto (B+t_{{d}})/x\, \mathrm{{else}}\end{aligned}\end{align} \]with upper bound.
Parameters: - param (string) – parameter label
- baseline (float) – \(B\) in eq above
- duration (float) – \(t_{{d}}\) in eq above (default: 0.0)
-
class
radvel.prior.
Jeffreys
(param, minval, maxval)[source]¶ Jeffrey’s prior
This prior follows the distribution:
\[p(x) \propto \frac{1}{x}\]with upper and lower bounds to prevent singularity at \(x=0\).
Parameters: - param (string) – parameter label
- minval (float) – minimum allowed value
- maxval (float) – maximum allowed value
-
class
radvel.prior.
ModifiedJeffreys
(param, minval, maxval, kneeval)[source]¶ Modified Jeffry’s prior
This prior follows the distribution:
\[p(x) \propto \frac{1}{x-x_0}\]with upper bound.
Parameters: - param (string) – parameter label
- kneeval (float) – “knee” of Jeffrey’s prior (\(x_0\) in eq above)
- minval (float) – minimum allowed value. minval must be larger than kneeval
- maxval (float) – maximum allowed value
-
class
radvel.prior.
NumericalPrior
(param_list, values, bw_method=None)[source]¶ Prior defined by an input array of values
Wrapper for scipy.stats.gaussian_kde.
This prior uses Gaussian Kernel Density Estimation to estimate the probability density function from which a set of values are randomly drawn.
Useful for defining a prior given a posterior obtained from a complementary fitting process. For example, you might use transit data to obtain constraints on secosw and sesinw, then use the posterior on secosw as a prior for a RadVel fit.
Parameters: - param_list (list of str) – list of parameter label(s).
- values (numpy array of float) – values of
param
you wish to use to define this prior. For example, this might be a posterior array of values of secosw derived from transit data. In case of univariate data this is a 1-D array, otherwise a 2-D array with shape (# of elements in param_list, # of data points). - bw_method (str, scalar, or callable [optional]) – see scipy.stats.gaussian_kde
Note: the larger the input array of values, the longer it will take for calls to this prior to be evaluated. Consider thinning large input arrays to speed up performance.
-
class
radvel.prior.
PositiveKPrior
(num_planets)[source]¶ K must be positive
A prior to prevent K going negative. Be careful with this as it can introduce a bias to larger K values.
Parameters: num_planets (int) – Number of planets. Used to ensure K for each planet is positive
-
class
radvel.prior.
SecondaryEclipsePrior
(planet_num, ts, ts_err)[source]¶ Secondary eclipse prior
Implied prior on eccentricity and omega by specifying measured secondary eclipse time
Parameters: - planet_num (int) – Number of planet with measured secondary eclipse
- ts (float) – Secondary eclipse midpoint time. Should be in the same units as the timestamps of your data.
- ts_err (float) – Uncertainty on secondary eclipse time
-
class
radvel.prior.
UserDefinedPrior
(param_list, func, tex_rep)[source]¶ - Interface for user to define a prior
- with an arbitrary functional form.
Parameters: - param_list (list of str) – list of parameter label(s).
- func (function) – a Python function that takes in a list
of values (ordered as in
param_list
), and returns the corresponding log-value of a pdf. - tex_rep (str) – TeX-readable string representation of this prior, to be passed into radvel report and plotting code.
Example
>>> def myPriorFunc(inp_list): ... if inp_list[0] > 0. and inp_list[0] < 1.: ... return 0. ... else: ... return -np.inf >>> myTexString = 'Uniform Prior on $\sqrt{e}$' >>> myPrior = radvel.prior.UserDefinedPrior(['se'], myPriorFunc, myTexString)
Note
func
must be properly normalized; i.e. integrating over the entire parameter space must give a probability of 1.