PS7 Explained: From Stellar Photons to a Classification Task
A ground-up explanation of Problem Statement 7 — AI-enabled detection of exoplanets from noisy light curves (Bharatiya Antariksh Hackathon 2026, team The Bayesian Blend). Starts at the physics of a single photon and builds, layer by layer, to the exact machine-learning problem we are solving and the classes we must separate. Companions: ps7-exoplanet-light-curves, ps7-how-it-works, ps7-methods-clean, decision-ps3-vs-ps7.
0. The one sentence version
A planet passing in front of its star blocks a sliver of light, so the star looks very slightly, very briefly, and very regularly dimmer. PS7 asks us to (a) find that periodic dimming inside noisy brightness measurements, and (b) decide what actually caused each dip — a planet, or one of several impostors that produce a similar dip for entirely different physical reasons. Part (b) is a classification task, and it is where the competition is won.
1. The raw observable: a light curve
A telescope like TESS or Kepler stares at a patch of sky and, every few minutes, counts the photons arriving from each star. For one star, plotting brightness vs. time gives a light curve.
- Flux $F(t)$ = photons collected per unit time. We work in normalised, relative flux: divide by the star's typical brightness so a quiet star sits at $F = 1.0$ and a dip is a fractional drop, e.g. $F = 0.99$ means the star is 1% fainter than usual.
- A "cadence" is one measurement. TESS short-cadence = one point every 2 minutes; Kepler/K2 long-cadence = one every 30 minutes.
- A single star's light curve is a 1-D time series — that is the entire input. No images, just brightness over time.
Everything in this problem is a statement about the shape of $F(t)$.
2. Why a planet makes the star dimmer (the transit)
When a planet's orbit is aligned so that, from our viewpoint, it crosses the disk of its star, it occults a small fraction of the star's surface. This is a transit. The star is far too distant to resolve as a disk — we only see its total brightness drop, then recover.
The depth of that drop is set by simple geometry: the planet blocks the fraction of the stellar disk equal to the ratio of their projected areas.
$$\delta \;=\; \frac{\Delta F}{F} \;=\; \left(\frac{R_p}{R_\star}\right)^{2}$$
- $R_p$ = planet radius, $R_\star$ = star radius.
- A Jupiter-size planet ($R_p \approx 0.1\,R_\odot$) across a Sun-like star gives $\delta \approx (0.1)^2 = 0.01$ → a 1% dip (~10,000 ppm).
- An Earth-size planet gives $\delta \approx 84\text{ ppm}$ — 0.0084%. This is the brutal part: the signal we hunt is often smaller than the per-point noise, and only becomes visible after stacking many transits.
Depth carries the planet's size. It does not tell you mass — a planet and a small star can be the same physical size. That ambiguity is the seed of the whole classification problem (§6).
3. The three numbers that describe one transit
A transit is almost fully described by three observables, each tied to physics:
| Observable | Symbol | What sets it | What it tells us |
|---|---|---|---|
| Depth | $\delta$ | $(R_p/R_\star)^2$ | planet size relative to star |
| Duration | $T_{14}$ | crossing geometry + orbital speed | orbital distance / impact parameter |
| Period | $P$ | Kepler's third law | orbital distance → "year" length |
Period comes from how often the dip repeats. Via Kepler's third law it fixes the orbital semi-major axis $a$:
$$P^{2} \;=\; \frac{4\pi^{2}}{G M_\star}\,a^{3}$$
Duration — the time from first to last contact — depends on how fast the planet moves ($v \propto a/P$) and on the chord it cuts across the disk (the impact parameter $b$, how centrally it crosses):
$$T_{14} \;\approx\; \frac{P}{\pi}\,\frac{R_\star}{a}\,\sqrt{1-b^{2}}$$
A central crossing ($b \approx 0$) gives the longest, flattest transit; a grazing one ($b \to 1$) gives a short, shallow, V-shaped clip of the limb. Hold that thought — grazing geometry is exactly what lets impostors mimic planets (§6).
Interactive versions of all three knobs are in ps7-exoplanet-light-curves and ps7-how-it-works — slide depth/duration/period and watch the dip change.
4. Why this is hard: noise and the needle-in-a-haystack
Two compounding difficulties turn a clean idea into a real problem:
- The signal is tiny and buried in noise. Photon-counting (shot) noise, stellar variability (spots, flares, pulsations), and instrument systematics (spacecraft jitter, thermal ramps, scattered light) all wobble $F(t)$ by amounts comparable to — or larger than — a real transit. A single Earth-size dip is essentially invisible in one pass.
- Most stars have no planet at all. A sector holds 20,000–30,000 light curves; only a few hundred show any real transit. We are searching for rare events in a sea of flat, noisy, or merely variable stars.
The detectability of a transit is captured by its signal-to-noise ratio, which grows with depth and with the number of transits observed $N_{tr}$:
$$\text{SNR} \;\approx\; \frac{\delta}{\sigma}\,\sqrt{N_{tr}\,n_{\text{in}}}$$
where $\sigma$ is the per-point scatter and $n_{\text{in}}$ the points per transit. Below SNR $\approx 7$, detection is unreliable — that is the detection floor, and it defines what any method (ours or a CNN's) physically cannot reach. (Interactive floor calculator in ps7-how-it-works §8.)
This is why the problem splits into two layers.
5. The two layers: detection, then classification
flowchart TD
A["Raw light curve, 20000+ per sector"] --> B["Layer 1 DETECTION: detrend and BLS or TLS period search"]
B -->|"no periodic dip"| X["Discard: flat or noise"]
B -->|"periodic dip found"| C["Phase-fold at best period: stack transits into one clean dip"]
C --> D["Layer 2 CLASSIFICATION: engineer shape features then GBM"]
D --> P["Planet or transit"]
D --> E["Eclipsing binary"]
D --> Bl["Blend or contaminated"]
D --> O["Other astrophysical or artefact"]
Layer 1 — Detection (an algorithm, not ML).
- Detrend: remove slow instrumental/stellar trends so only short dips remain (e.g.
wotanbiweight flattening). - Period search: try thousands of trial periods with Box Least Squares (BLS) or Transit Least Squares (TLS). At the correct period, every transit phase-folds onto the same spot and a weak dip reinforces into a clear one; at wrong periods the dips smear out. A real signal makes a sharp peak in the periodogram.
- Output: for each star, "is there a periodic dip, and at what $P$, $\delta$, $T_{14}$?"
Layer 2 — Classification (the ML, and the prize).
- Given a detected, phase-folded dip, decide what physically caused it.
- We turn the folded dip's shape into features and feed a gradient-boosted decision tree (XGBoost / LightGBM / CatBoost) that learns the boundary between classes.
The split matters: Layer 1 is well-solved classical signal processing; Layer 2 is where domain insight and good features beat a generic deep net. PS7's marks live in Layer 2.
6. The classes — what we classify, and the physics of each
This is the heart of the task. A periodic dip is necessary but not sufficient evidence of a planet, because several distinct astrophysical configurations produce a periodic dip. The official PS7 taxonomy groups them as transits, eclipses, blends, and other astrophysical categories. Here is each class, why it dims the star, and the tell-tale signature that lets us separate it.
Class 1 — Planet transit ✅ (the target)
A genuine planet crossing its star.
- Shape: shallow, flat-bottomed U (the planet fully inside the disk for most of the transit; limb darkening rounds the edges).
- Depth: small and physical — typically $< 3\%$; very deep dips are suspicious for a star, not a planet.
- No secondary eclipse: a planet emits negligible light, so when it passes behind the star there is essentially no second dip.
- Odd and even transits match: every transit is the same object, so alternate dips have equal depth.
Class 2 — Eclipsing binary (EB) ❌ (the classic impostor)
Two stars orbiting each other; one periodically eclipses the other. This is the single most common false positive because two stars produce a huge, perfectly periodic dip.
- Shape: often V-shaped (stellar disks are comparable in size, so the eclipse is grazing/partial — never a long flat bottom), though central EBs can look U-ish.
- Secondary eclipse: the companion star emits light, so there's a second dip half a period later when it goes behind the primary. Planets don't do this. A detected secondary is a near-certain EB flag.
- Odd–even depth difference: the two stars differ in brightness, so alternate eclipses (primary vs. secondary mistaken as one period) have unequal depths.
- Depth often too deep: stellar eclipses commonly exceed any plausible planet depth.
Class 3 — Blend / contamination ❌ (the sneaky impostor)
The target's aperture also contains light from a neighbouring star — frequently a background eclipsing binary. The deep eclipse of the faint neighbour gets diluted by the bright target and arrives looking like a shallow planet transit.
- Diluted depth: a real deep eclipse, scaled down by the flux ratio, masquerading as a shallow transit.
- Centroid shift: during the dip, the photo-centre of light moves toward/away from the contaminating star — measurable from pixel-level data. A pure on-target transit shows no centroid motion. This is the decisive blend test.
- Inconsistent star properties: the implied planet size doesn't match the target star's parameters.
Class 4 — Other astrophysical / artefacts / non-transiting ⚪
A catch-all for "periodic-ish dip that is not a transiting companion at all":
- Stellar variability — spots rotating in/out, pulsations — quasi-periodic but not a clean box dip.
- Instrumental artefacts — momentum dumps, scattered Earth/Moon light, cadence aliases — line up with the spacecraft's clock, not a celestial period.
- Non-transiting / flat stars — no real signal; what a detector triggers on by noise. (In our dataset this is the
non_transitingclass.)
Taxonomy summary
| Class | Physical cause | Decisive tells (features) |
|---|---|---|
| Planet ✅ | planet occults star | flat-bottom U, no secondary, equal odd/even, shallow |
| Eclipsing binary | star occults star | V-shape, secondary eclipse, odd–even mismatch, deep |
| Blend | neighbour's EB diluted into aperture | centroid shift, diluted depth, star-param mismatch |
| Other / artefact | spots, pulsation, instrument, noise | not cleanly periodic, aligns with cadence, low SNR |
The core scientific claim of our approach: each cause leaves a different geometric fingerprint in the folded dip. Turn those fingerprints into numbers and the classes occupy different regions of feature space, where a gradient-boosted model can draw the boundary. The "do the classes separate?" scatter plot in ps7-how-it-works §5 is the single figure that proves the whole method is viable.
7. The exact ML problem statement
Stripping away the astronomy, here is what the model actually does:
- Input (per candidate): one phase-folded, binned light curve (a fixed-length vector of flux vs. phase, e.g. 201 points) plus a handful of engineered shape features computed from it — depth, duration fraction, "boxiness" (U vs. V), secondary-eclipse significance, odd–even difference, SNR, etc. These features are survey-agnostic and dimensionless by design, so a model trained on one mission transfers to another.
- Output: a class label —
planet,eclipsing_binary,blend/false_positive, orother/non_transiting— ideally with a calibrated probability. - Model: gradient-boosted decision trees (handle missing features natively, robust, interpretable via SHAP). Deep CNNs on the raw folded view are the literature alternative; the Malik et al. 2022 result is that feature-based GBDTs match CNNs and beat raw BLS — which is why we lead with features.
The imbalance, and why it's central
In reality, planets are rare: among detected periodic dips, false positives (EBs + blends) and variables vastly outnumber genuine planets. A naive model can score high accuracy by calling everything "not a planet." So we:
- train with class weights / balanced sampling and hard-negative mining (focus on the impostors that look most planet-like),
- evaluate on a realistic-imbalance held-out set, and
- report precision–recall / PR-AUC and the confusion matrix, not raw accuracy — because finding the rare true planet without drowning in false alarms is the real objective.
8. How success is judged (and our edge)
PS7 evaluates: detection + classification robustness, accuracy of recovered transit parameters (depth/period/duration vs. expected significance), and methodology, visualisation, and clarity (a 3-page report).
Our differentiator is cross-survey generalization — train on Kepler, test cold on TESS and K2. These missions have different bandpasses, cadences, and noise, so a model that still classifies correctly across them proves it learned transit physics, not one instrument's quirks. That is exactly the robustness ISRO's curated, held-out set will demand, and it is the headline figure we are building.
9. One-paragraph recap
A transiting planet dims its star by $\left(R_p/R_\star\right)^2$ for a duration set by orbital geometry, repeating every period $P$. Layer 1 finds that periodic dip in noisy data by detrending and BLS/TLS period search, then phase-folds to amplify it. Layer 2 — the classification task that wins PS7 — reads the folded dip's shape to decide whether a planet, an eclipsing binary, a blend, or some other astrophysical/instrumental effect produced it, using survey-agnostic shape features and a gradient-boosted classifier, judged under realistic class imbalance with PR-based metrics.
Back to ps7-exoplanet-light-curves · ps7-how-it-works · ps7-methods-clean · decision-ps3-vs-ps7.