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.