← All work

2026

Kaggle, Machine Learning

ROGII GeosteeringTVT Depth Prediction

Predicting per-foot True Vertical Thickness along horizontal wells from gamma-ray logs, a reference typewell and 3D trajectory, using a particle filter plus a gradient-boosting stack.

In numbers

2,194 / 6,125
final leaderboard, top 36%
7.264 ft
pooled RMSE, public leaderboard
~62%
of residual error traced to ±15 ft signal ambiguity

What I did

  1. 1.

    Predicted per-foot True Vertical Thickness along the hidden evaluation zone of horizontal wells from gamma-ray logs, a reference typewell, and 3D well trajectory in a Kaggle code competition.

  2. 2.

    Built a likelihood-weighted particle filter (128 × 500 particles) to match each well's gamma-ray signal to the typewell via normalised cross-correlation and beam search, then corrected trajectories with a gradient-boosting stack (XGBoost, CatBoost, LightGBM).

  3. 3.

    Diagnosed, through 25+ controlled experiments and out-of-fold validation, that ~62% of remaining error was an inherent ±15 ft signal ambiguity rather than a modelling gap, and prototyped a differentiable Soft-DTW neural aligner to explore closing it.

  4. 4.

    Scored 7.264 ft pooled RMSE on the public leaderboard and finished 2,194th of 6,125 teams on the final private leaderboard.

Notes

Approach

  • –Likelihood-weighted particle filter (128 seeds × 500 particles) matching the well's gamma-ray to the typewell, with NCC and beam search.
  • –Gradient-boosting stack (XGBoost / CatBoost / LightGBM) correcting the particle-filter trajectories.
  • –U = TVT + Z formation-coordinate projection (the geology is smooth in U), plus per-well visible-prefix calibration and drift amplification.
  • –Prototyped a differentiable Soft-DTW / forward-backward neural aligner trained end-to-end.

Key analysis

  • –Error decomposition showed ~62% of the error is a ±15 ft cyclostratigraphic "bundle" ambiguity: the gamma-ray repeats every ~15 ft, matching the typewell at two near-identical depths.
  • –25+ controlled experiments with rigorous out-of-fold validation showed this is largely an information limit, not a modelling gap.

Built with

Python · XGBoost · CatBoost · LightGBM · PyTorch · NumPy · Numba · Pandas

Next project

Biohub →