Costly measurements, often incomplete
ENAGEO is Algeria's national geophysics company, part of the Sonatrach group. To understand the subsurface, rock properties such as elasticity or density are measured along a borehole: the measuring tool is placed at a given depth, takes its measurement, then moves deeper, at regular intervals. Other properties are obtained through seismic methods. Each property therefore forms a series indexed by depth: a well log.
These series are often incomplete: faulty equipment, data lost during transfer or deleted. Above all, the measurements are very expensive. Hence two questions: can you reconstruct a series where it is missing? And can you predict it in another well, from a well that has already been measured?
02 · The internshipFebruary – June 2023: a first cross-well generalization
For my bachelor's thesis, I worked on the logs of 3 wells, evaluating models on an entire well never seen during training:
| Model | Correlation (r) |
|---|---|
| Linear regression | 0.15 |
| SVM with RBF kernel | 0.29 |
| MLP 100/50, ReLU | 0.52 (MAE 21.4, RMSE 27.6) |
I also delivered a desktop application so that geophysicists could train models and fill in their measurements without writing code:
Java Swing interface ├─ login: MySQL accounts, administrator and user roles ├─ training: CSV import → editable grid → python train.py <algorithm> └─ prediction: CSV with gaps → python predict.py <algorithm> → completed table → export
Five algorithms are available: linear regression, SVM, MLP, random forest and gradient boosting. Java and Python exchange CSV files, and computations run in the background without freezing the interface.
03 · The contractJuly 2023 – July 2024: well logs as time series
I then worked at ENAGEO on a part-time fixed-term contract as an AI developer, alongside the first year of my MSc. The idea: treat each depth-indexed series as a time series, with its trend, seasonality and cycles, and use deep learning models, mainly LSTMs and RNNs. Two directions:
1. Filling the gaps of a series within the same well. The model learns from the measured parts of a series and predicts its missing values. With LSTMs I reach an MAE of 12.7 and an RMSE of 15.2, using an architecture close to the one in my time series imputation project.
2. Predicting a series from one well to another. Continuing the internship work, an LSTM is trained on one well's series, then predicts the same property in another well. Compared with the internship, correlation goes from 0.52 to 0.82, MAE from 21.4 to 15.8 and RMSE from 27.6 to 20.2: 20 to 30% less error.
The company's well logs are confidential, as are the plots produced with its internal software. The public repository contains the internship application and synthetic well logs in the same format, for testing.