Source-linked AI summary

RadVel: The Radial Velocity Modeling Toolkit

Benjamin J. Fulton, Erik A. Petigura, Sarah Blunt, Evan Sinukoff

arXiv:1801.01947v1astro-ph.IMastro-ph.EP

TL;DR

RV orbit modeling is needed to characterize exoplanet masses and compositions, but fitting requires flexible tools for varied systems and analyses. RadVel provides an open-source, object-oriented Python toolkit with command-line and scriptable interfaces, Bayesian fitting, MCMC uncertainty estimation, convergence checks, and model comparison. Its supported scope includes multi-planet and multi-instrument RV modeling, while basis choice and evolving development remain important boundaries.

  • Problem

    Modeling RV orbits is critical for extracting exoplanet masses or minimum masses and understanding their compositions and typical masses.

  • Method

    RadVel combines object-oriented Python modeling with maximum a posteriori fitting, MCMC posterior sampling, configurable parameters and priors, convergence checks, and Bayesian model comparison.

  • Results

    RadVel provides a flexible toolkit for multi-planet, multi-instrument RV modeling with command-line and scriptable interfaces, fast Keplerian calculations, and real-time MCMC convergence checking.

  • Takeaways & Limitations

    Users can switch orbital parameterizations, impose priors, compare models with fewer planets, and extend the open-source codebase through community contributions.

  • Takeaways & Limitations

    Uniform priors in the fitting basis impose implicit priors on orbital elements, making basis choice important when parameters are weakly constrained.

Abstract

from arXiv · show

RadVel is an open source Python package for modeling Keplerian orbits in radial velocity (RV) time series. RadVel provides a convenient framework to fit RVs using maximum a posteriori optimization and to compute robust confidence intervals by sampling the posterior probability density via Markov Chain Monte Carlo (MCMC). RadVel allows users to float or fix parameters, impose priors, and perform Bayesian model comparison. We have implemented realtime MCMC convergence tests to ensure adequate sampling of the posterior. RadVel can output a number of publication-quality plots and tables. Users may interface with RadVel through a convenient command-line interface or directly from Python. The code is object-oriented and thus naturally extensible. We encourage contributions from the community. Documentation is available at http://radvel.readthedocs.io.

1. INTRODUCTION

RadVel addresses the need to fit RV time series for exoplanet orbit characterization with an open-source toolkit emphasizing ease of use, flexibility, and extensibility. It combines accessible interfaces with MCMC sampling and convergence criteria for estimating orbital parameters and uncertainties.

  • RV orbit modeling supports extracting planet masses or minimum masses, M sin i, to study exoplanet compositions and typical masses.
  • RadVel is an open-source toolkit for fitting exoplanet radial-velocity time series, emphasizing ease of use, flexibility, and extensibility.
  • RadVel provides both a command-line interface for simple planetary-system modeling and an API for complex fitting tasks.
  • The toolkit uses modern MCMC sampling techniques and robust convergence criteria to estimate orbital parameters and their associated uncertainties.
  • The paper documents RadVel version 1.0, complementing more up-to-date online documentation and describing its orbit parameters, Bayesian inference, code design, and fitting procedure.

2. THE RADIAL VELOCITY ORBIT

The radial-velocity model describes planetary orbits with Keplerian elements, noise and acceleration terms, then synthesizes stellar reflex velocities by solving Kepler’s equation. RadVel supports multiple orbital parameter bases, but basis choice affects implicit priors and posterior interpretation when data are weakly constraining.

  • Orbital model: RV orbits use five orbital elements—P, Tc, e, ω, and K—plus systemic velocity, acceleration, and jitter terms.Jitter is added in quadrature with measurement uncertainties.
  • Orbital model: Keplerian synthesis solves Kepler’s equation iteratively to obtain the star’s reflex radial velocity for an orbiting planet.The model defines M, E, e, ν, K, and v_r, using the iterative method of Danby (1988).
  • Multiple planets: Multiple-planet RV signals are summed, while linear and quadratic acceleration terms represent additional perturbers with periods much longer than the observing baseline.The total stellar RV combines contributions from all modeled companions.
  • Parameter bases: RadVel provides six interchangeable orbital-element basis sets to improve fitting convergence and let users investigate basis-dependent parameter biases.Users can also extend the available bases through the radvel.basis.Basis object.
  • Parameter bases: When parameters are weakly constrained, uniform priors in the fitting basis create implicit priors on orbital elements, making basis selection consequential.RadVel generally prefers the P, Tc, √e cos ω, √e sin ω, K basis because it imposes flat orbital-element priors and avoids biasing K > 0, though other bases can suit long-period or high-amplitude signals.
  • Posterior interpretation: At low signal-to-noise, sign degeneracies between K and ω can produce bimodal posteriors, requiring caution when interpreting K, Tc, and ω.The degeneracy links K = +q, ω = λ with K = −q, ω = λ + π.

3. BAYESIAN INFERRENCE

RadVel models RV data using Bayesian inference, combining a likelihood for Keplerian parameters with user-defined priors to form and sample the posterior probability density.

  • RadVel infers Keplerian orbital parameters θ from RV data D using Bayesian posterior probability density.
  • The likelihood L(θ|D) measures how likely the observed data are under the model specified by θ.
  • Under Gaussian noise, RadVel includes measurement uncertainties and instrument-specific jitter terms in the likelihood.
  • For multiple instruments, the total likelihood is the sum of the natural-log likelihoods for each instrument.
  • RadVel samples the posterior with MCMC and adds the natural logs of defined priors to the log-likelihood.

4. CODE DESIGN

RadVel uses an object-oriented design in which parameters, models, likelihoods, priors, and posterior calculations are represented by interoperable Python objects.

  • The posterior probability density is represented as a Python object built from likelihood, priors, model, and data objects.
  • Parameters: radvel.Parameters stores free and fixed model parameters, auxiliary fitting information, and parameter values accessible through string keys.
  • Model Object: radvel.RVModel computes the radial-velocity curve from the Parameters object by solving Kepler’s equation.
  • Likelihood Object: The generic Likelihood object connects models to data, while RVLikelihood handles individual radial-velocity datasets.
  • Object Relationships: The class diagram summarizes object relationships, including Parameter attributes contained within Parameters objects and multiple attributes marked by asterisks.
  • Likelihood Object: CompositeLikelihood combines likelihoods from multiple instruments, and Posterior incorporates user-defined priors into model probability.
  • Priors: RadVel provides priors for eccentricity limits, Gaussian parameter constraints, positive semiamplitudes, and strict parameter bounds.
  • Priors: PositiveKPrior should be used with extreme caution because it can bias results.

5. MODEL-FITTING

RadVel fits RV models by first optimizing the posterior and then exploring its probability surface with MCMC, using convergence diagnostics to determine adequate sampling.

  • RadVel finds maximum a posteriori orbital parameters with Powell’s method through scipy.optimize.minimize.
  • The radvel.mcmc module uses emcee’s Affine Invariant sampler to estimate parameter uncertainties from the posterior probability surface.
  • Gelman-Rubin statistics compare intra-chain and inter-chain variances, with values near unity indicating convergence.
  • Convergence: Burn-in initially continues until G-R is below 1.03 for every free parameter, after which new chains start from the final positions.
  • Configuration: Users can customize convergence thresholds, ensemble settings, optimization methods, and initial MCMC step sizes.
  • Convergence: Sampling halts when G-R is below 1.01 and the Tz statistic exceeds 1000 for all free parameters across five consecutive checks.
  • Sampling Configuration: By default, RadVel runs eight independent ensembles in parallel with 50 walkers per ensemble, subject to CPU availability.

6. EXAMPLES

The HD 164922 example demonstrates RadVel’s CLI workflow from setup and MAP fitting through MCMC sampling, plotting, derived quantities, and model comparison.

  • 6.2.1. Setup Files: Users can access RadVel through the CLI or Python API, with the CLI serving as the standard and easiest operating mode for typical fits.Installation is available through pip after setting up a compatible Python environment.
  • 6.2.1. Setup Files: RadVel’s CLI uses a per-system Python setup file defining planets, instruments, datasets, parameters, priors, and run metadata.Input data require time, velocity, uncertainty, and telescope fields, with velocities in m/s.
  • 6.2.2. Workflow: Users first run a MAP fit, inspect the resulting RV plot, and then run MCMC to estimate parameter uncertainties.The RV plot can include annotated uncertainties after MCMC has been run.
  • 6.2.2. Workflow: MCMC output includes combined chains and median 68th-percentile credible intervals for free parameters.RadVel also produces corner plots of parameter covariances and trend plots of parameter evolution.
  • 6.2.2. Workflow: The workflow can derive minimum planet masses from K, P, e, and stellar-mass information, and can compare models containing 0 to Npl planets.Model comparisons fix jitter parameters to their MAP values from the full Npl-planet fit.

7. RADVEL AND THE COMMUNITY

RadVel is developed as an open-source community project, with contribution practices and future enhancements aimed at expanding its modeling capabilities.

  • 7.2. Contributing Code: RadVel’s open-source development occurs on GitHub, where contributors submit pull requests for maintainer review and integration.Contribution guidelines include preserving functionality, documenting code, and adding unit tests.
  • 7.3. Future Work: The project is actively developing and invites community suggestions and code contributions through the GitHub issue tracker.The authors describe a wishlist of potential improvements and ongoing development efforts.
  • 7.3. Future Work: Planned work includes Gaussian-process noise modeling for RV variability.This would involve likelihoods incorporating Gaussian-process descriptions of RV noise.
  • 7.3. Future Work: Additional wishlist items include broader model comparisons and simultaneous fitting of transit, timing-variation, or astrometric datasets.The listed model-comparison extension includes eccentric versus circular fits.

8. CONCLUSION

The paper concludes that RadVel is a flexible, open-source toolkit for multi-planet, multi-instrument RV modeling with accessible interfaces and robust MCMC support.

  • 8. CONCLUSION: RadVel provides object-oriented Python tools for modeling multi-planet systems and RV data collected with multiple instruments.The package offers both a command-line interface and a scriptable API.
  • 8. CONCLUSION: RadVel combines a fast C-based Keplerian solver, multiple orbital parameterizations, and real-time MCMC convergence checking.Users can switch between parameter bases and convert between parameterizations.
  • 8. CONCLUSION: RadVel had been used in at least nine refereed publications and was reported to produce results consistent with Systemic.The consistency result is attributed to Teske et al. (2017).
Loading 1801.01947v1…