MonitorMyPlanet.com

Working on Planetary Defense Against Near-Earth Asteroids and Multi-planet Exoplanet Systems

NEPTUNE: Finding Unseen Exoplanets from Transit-Timing Variations


May 01, 2025

This is a detailed walkthrough of my NEPTUNE project - the work behind my Regeneron ISEF 2025 poster - broken down section by section. NEPTUNE (N-body Exoplanet Prediction Using TTV for Unseen Exoplanets) detects and characterises planets we cannot see directly, by decoding the gravitational fingerprints they leave in the transit timings of the planets we can.

The challenge: a biased view of planetary systems

Detection bias: 75% of the 5,845 confirmed exoplanets were found by transit, and 78% of known systems appear single-planet - because outer, non-transiting planets are systematically missed.

Most of the roughly 5,845 confirmed exoplanets were found by the transit method, which only works for planets on short, nearly edge-on orbits. Outer planets - longer periods, slightly inclined - often never transit from our line of sight, so about 78% of known systems appear to be single-planet. That is a selection effect, not reality: we are missing the outer planets, which distorts our picture of how planetary systems are built.

How transit-timing variations reveal hidden planets

In a single-planet system transits are perfectly periodic; in a multi-planet system the outer planet's gravity pulls the inner one early and late, producing a sinusoidal observed-minus-calculated (O-C) timing curve.

In a single-planet system, transits arrive like clockwork. Add an unseen companion and its gravity tugs the transiting planet, making each transit arrive slightly early or late. Plotted over time, those shifts trace a periodic observed-minus-calculated (O-C) curve. The same principle revealed Neptune itself, from the timing anomalies of Uranus. Reading that curve backwards recovers the mass and orbit of the planet you cannot see.

Why this has to be automated - and fast

Only 36 exoplanets have been confirmed via TTVs, yet Kepler alone holds ~260 strong and ~650 moderate signals. Long baselines (Kepler + TESS) and the mass-eccentricity degeneracy - the same O-C from very different planets - make the analysis hard.

Despite the payoff, only about 36 exoplanets have been confirmed through TTVs, while Kepler alone shows roughly 260 strong and 650 moderate signals still undecoded. The analysis is hard for two reasons: it needs long baselines (combining Kepler and TESS epochs), and it is degenerate - a high-mass, low-eccentricity planet and a low-mass, high-eccentricity one can produce almost the same O-C curve. NEPTUNE is built to break that degeneracy automatically.

Built on open science, open source, open data

NEPTUNE runs entirely on open data (Kepler/TESS, NASA Exoplanet Archive, HARPS) and open tools (REBOUND, scikit-learn, emcee), with example observations from shared robotic telescopes.

Every input is open: transit catalogues from Kepler and TESS, ephemerides from the NASA Exoplanet Archive, radial-velocity data from HARPS, and observations from shared robotic telescopes (Alnitak in Spain, Burke-Gaffney in Canada). Every tool is open-source: REBOUND for the N-body integration, SciPy/Astropy, scikit-learn for the machine learning, and emcee for the Bayesian inference. Anyone can reproduce or extend it.

Step 1: 80,000 N-body simulations

Step 1 - 80,000 REBOUND (IAS15) simulations across 11 stellar and planetary parameters, sampled by Latin hypercube; the mass-period map shows where known hidden planets (Kepler-46c, KOI-142c, Kepler-9c and others) fall.

To learn what TTV signals look like, I simulated 80,000 two-planet systems with the REBOUND IAS15 integrator, spanning 11 parameters - stellar mass, both planets' masses, orbital periods, eccentricities, inclinations, and periastron angles - sampled by Latin hypercube for even coverage. Each system ran 1,200 transit epochs, and I kept only dynamically stable configurations (companions separated by at least 3.5 mutual Hill radii). The result is a library of realistic O-C curves with known answers.

Reading the O-C curve: three signals in one

A single O-C curve decomposes into distinct periodic signals - a synodic (conjunction-driven) signal at days-to-months, a dominant resonance-driven signal at months-to-years, and a slow apsidal-precession signal - separable in a periodogram.

A real O-C curve is not one clean sinusoid - it is a sum of signals on different timescales: a short synodic signal from planetary conjunctions, a dominant resonance-driven signal on months-to-years periods, and a slow apsidal-precession drift. Separating them in a periodogram is what makes the individual pieces of physical information recoverable - and, as shown next, the synodic signal is the key to breaking the mass-eccentricity degeneracy.

Steps 2 and 3: extract features, then learn priors

Step 3 - a Random Forest (500 trees) trained on the 80,000 simulations predicts a hidden planet's mass, period, and eccentricity from the TTV features; binning the training data by resonance and eccentricity improves accuracy.

From each simulated curve I extract features - the dominant period (via Lomb-Scargle), a secondary period, the amplitude, and a false-alarm probability, keeping only signals with FAP < 0.01 (99% certainty). A Random Forest (500 trees, max depth 15), trained on the 80,000 simulations with 10% added noise, then learns to predict a hidden planet's mass, orbital period, and eccentricity directly from those features. Binning the training set by orbital-period ratio and eccentricity measurably sharpens the predictions.

Step 4: Bayesian inference recovers the parameters

Step 4 - MCMC (100 walkers) samples the posterior with uncertainties; convergence is checked with trace plots and the Gelman-Rubin statistic (R < 1.1). A converged chain gives stable corner plots; a non-converged one does not.

The machine-learning predictions become informed starting points for a Markov Chain Monte Carlo fit (emcee, 100 walkers, 10,000 steps) that samples the full posterior with proper uncertainties. Convergence is verified with trace plots, autocorrelation, and the Gelman-Rubin statistic (trusted only when R < 1.1). A converged chain yields clean, stable corner plots; a non-converged one is visibly unstable - so the diagnostic itself is part of the reliability check.

Result 1: what drives the TTV signal

Result 1 - TTV amplitude peaks near mean-motion resonances (2:1, 3:2) and grows with the perturbing planet's mass and eccentricity; resonant systems produce long-period super-period signals, non-resonant systems short synodic ones.

The first result maps how the signal behaves. TTV amplitude peaks sharply near mean-motion resonances (2:1, 3:2), increases with the perturbing planet's mass, and is amplified by eccentricity. Resonant systems produce long-period, high-amplitude super-period signals; non-resonant ones give shorter synodic signals tied to conjunctions. Knowing these dependencies is what lets NEPTUNE invert a curve into physical parameters.

Result 2: breaking the mass-eccentricity degeneracy

Result 2 - the synodic period is independent of mass and eccentricity while its amplitude grows with perturbing mass, so the synodic signal uniquely selects the right parameters for Kepler-46c (the predicted synodic matches the observed peak; the wrong solution does not).

This is the crux. The synodic signal has a period set by orbital geometry (independent of mass and eccentricity) but an amplitude that grows with perturbing mass - so it carries mass information the dominant signal alone cannot. Using it, NEPTUNE picks the correct solution for Kepler-46c where a naive fit is degenerate: the predicted synodic peak matches the observed one for the right parameters and misses badly for the wrong ones.

Result 3: recovering a known hidden planet (Kepler-46c)

Result 3 - from 30 transit times of Kepler-46b, NEPTUNE recovers the hidden Kepler-46c: period 57.16 +/- 0.40 d vs NASA's 57.01 +/- 0.06 (99.74%) and mass 110.25 +/- 2.22 vs 119.49 +/- 6.67 Earth masses (92.27%).

The blind validation: given only 30 mid-transit times of Kepler-46b, NEPTUNE detected a strong TTV signal (period 191.5 +/- 0.2 d, amplitude 59.1 +/- 1.8 min, FAP ~10^-7), fed Random-Forest priors into MCMC, and recovered the unseen Kepler-46c at a period of 57.16 +/- 0.40 days (NASA: 57.01 +/- 0.06, i.e. 99.74%) and a mass of 110.25 +/- 2.22 Earth masses (NASA: 119.49 +/- 6.67, i.e. 92.27%). Recovering the published answer from timing alone is what proves the method works.

Result 4: a candidate in a single-planet system (Kepler-1710)

Result 4 - applied to Kepler-1710 (catalogued as single-planet), NEPTUNE finds a TTV signal (259.4 d, 37.6 min, FAP 10^-11) consistent with an unseen ~27.5 Earth-mass companion near 3:2 resonance that also satisfies the system's radial-velocity limits.

Turned loose on Kepler-1710 - catalogued as a single-planet system - NEPTUNE reprocessed 70+ transits (via EXOTIC) and found a significant timing signal (dominant O-C period 259.4 +/- 0.3 d, amplitude 37.6 +/- 0.2 min, FAP ~10^-11). The best fit is an unseen, Neptune-sized companion of about 27.5 Earth masses near a 3:2 resonance, which also satisfies the system's radial-velocity constraints (< 1.23 Jupiter masses at 10 AU). This is a candidate, not a confirmed detection - but exactly the kind of hidden planet the method is designed to surface.

Why informed priors matter: about 8x faster

Discussion 1 - with uniform priors the MCMC walkers explore unlikely regions and take ~2,000 steps (weeks) to converge; machine-learning-informed priors restrict them to probable regions and converge in ~250 steps (days).

The machine-learning step is not cosmetic - it is what makes the method scalable. With uniform priors, the MCMC walkers wander through unlikely parameter space and take ~2,000 steps (weeks) to converge. With the Random-Forest-informed priors, they start in the right region and converge in ~250 steps (days) - roughly 8x faster, which is the difference between analysing one system and analysing a survey.

Characterising the hidden planets

Discussion 2 - the recovered masses and orbits let NEPTUNE classify the planets and estimate temperature and habitability: Kepler-46c is a ~110 Earth-mass gas giant (472 K, not habitable) and the Kepler-1710 candidate a ~27.5 Earth-mass Neptune-like world (658 K, not habitable).

Once masses and orbits are recovered, NEPTUNE characterises the planets: classifying them as rocky (< 10 Earth masses), Neptune-like (10-100), or gas giants (> 100), and estimating surface temperature and habitable-zone status. Kepler-46c comes out as a ~110 Earth-mass gas giant (0.28 AU, 472 K); the Kepler-1710 candidate as a ~27.5 Earth-mass Neptune-like world (0.15 AU, 658 K) - neither habitable, but both now physically described rather than merely detected.

Reading planetary migration and architecture

Discussion 3 - how far a planet pair sits from exact resonance traces its migration and tidal history: Kepler-25 b,c at a period ratio of 2.04 (just wide of 2:1) and Kepler-46 b,c at 1.70 (near 5:3).

Planetary architecture patterns - masses and periods reveal whether a system is a uniform peas-in-a-pod arrangement or a hot-Jupiter system usually lacking outer companions.

The recovered parameters also say something about history. Planet pairs often sit just wide of exact resonance (Kepler-25 b,c at a 2.04 period ratio; Kepler-46 b,c at 1.70), a signature of migration and tidal evolution. Mapping masses against periods distinguishes uniform peas-in-a-pod systems from hot-Jupiter systems - so a timing measurement becomes a window on how the system formed.

Errors and limitations

Errors and limitations - mid-transit timing uncertainties are propagated, parameters carry 1-sigma credible intervals, models are ranked by sum of squared errors, and the home-computer IAS15 runs carry ~1% cumulative integration error after 1,200 epochs.

Being explicit about limits matters. Mid-transit uncertainties from the light curves are propagated through; parameter estimates carry 1-sigma credible intervals; competing models are ranked by sum of squared errors (lower is better). And because the N-body integrations ran on a home computer, they were limited to 200 steps per orbit, giving about 1% cumulative integration error after 1,200 epochs - a known, quantified constraint rather than a hidden one.

Conclusions

NEPTUNE integrates machine learning and Bayesian inference to detect and characterise hidden exoplanets rapidly - about 8x faster than uniform-prior fitting; it resolves the mass-eccentricity degeneracy through multi-period (synodic) fitting; it validates against well-studied systems with full uncertainty quantification; and it scales - it already flagged a candidate companion in Kepler-1710, and the open-source release lets others apply it to the hundreds of understudied TTV systems.

Open science, impact, and what is next

Project impact - NEPTUNE analysis has been contributed to the ESA Ariel/ExoClock effort to improve TTV baselines, is being extended to mono-transit systems (KOI 4307, KOI 1271), is open-source on GitHub with training modules, and has been presented internationally.

NEPTUNE's analysis has been contributed to the ESA Ariel / ExoClock effort to improve TTV baselines, and I am extending it to mono-transit systems (single-transit detections such as KOI 4307 and KOI 1271), where follow-up is otherwise unlikely. The code and training modules are open-source on GitHub so citizen scientists can help analyse the backlog of TTV systems. I presented this work at the 4th ExoClock Annual Meeting (Portugal, 2024) and the 31st Young Scientists' Conference (Ukraine, 2025). NEPTUNE received the Third Grand Award in Physics and Astronomy at the 2025 Regeneron International Science and Engineering Fair.

The Kepler-46c and Kepler-1710b results here use archival transit times from NASA's Kepler and TESS missions (MAST archive and the NASA Exoplanet Archive), not new telescope observations.