Des mesures coûteuses, et souvent incomplètes
ENAGEO est l'entreprise nationale de géophysique algérienne, filiale du groupe Sonatrach. Pour connaître le sous-sol, on mesure des caractéristiques de la roche, comme l'élasticité ou la densité, le long d'un puits : l'appareil de mesure est placé à une profondeur, prend sa mesure, puis descend plus bas, à intervalles réguliers. D'autres caractéristiques sont obtenues par des méthodes sismiques. Chaque caractéristique forme ainsi une série indexée par la profondeur : une diagraphie.
Ces séries sont souvent incomplètes : appareil défaillant, données perdues pendant le transfert ou supprimées. Et surtout, ces mesures coûtent très cher. D'où deux questions : peut-on reconstruire une série là où elle manque ? Et peut-on la prédire dans un autre puits, à partir d'un puits déjà mesuré ?
02 · Le stageFévrier – juin 2023 : une première généralisation d'un puits à l'autre
Pour mon mémoire de licence, j'ai travaillé sur les diagraphies de 3 puits, en évaluant les modèles sur un puits entier, jamais vu pendant l'entraînement :
| Modèle | Corrélation (r) |
|---|---|
| Régression linéaire | 0,15 |
| SVM à noyau RBF | 0,29 |
| MLP 100/50, ReLU | 0,52 (MAE 21,4, RMSE 27,6) |
J'ai aussi livré une application de bureau pour que les géophysiciens puissent entraîner des modèles et compléter leurs mesures sans écrire de code :
Interface Java Swing ├─ connexion : comptes MySQL, rôles administrateur et utilisateur ├─ entraînement : import CSV → grille éditable → python train.py <algorithme> └─ prédiction : import CSV avec trous → python predict.py <algorithme> → tableau complété → export
Cinq algorithmes sont proposés : régression linéaire, SVM, MLP, forêt aléatoire et gradient boosting. Java et Python échangent des fichiers CSV, et les calculs tournent en arrière-plan sans figer l'interface.
03 · Le CDDJuillet 2023 – juillet 2024 : les diagraphies comme des séries temporelles
J'ai ensuite travaillé chez ENAGEO en CDD de développeur IA, à temps partiel, en parallèle de mon M1 SII. L'idée : traiter chaque série indexée par la profondeur comme une série temporelle, avec sa tendance, sa saisonnalité et ses cycles, et utiliser des modèles de deep learning, principalement des LSTM et des RNN. Deux axes :
1. Combler les trous d'une série dans un même puits. Le modèle apprend sur les parties mesurées d'une série et prédit ses valeurs manquantes. Avec les LSTM, j'obtiens une MAE de 12,7 et une RMSE de 15,2, avec une architecture proche de celle de mon projet d'imputation de séries temporelles.
2. Prédire une série d'un puits à l'autre. Dans la continuité du stage, un LSTM est entraîné sur la série d'un puits, puis prédit la même caractéristique dans un autre puits. Par rapport au stage, la corrélation passe de 0,52 à 0,82, la MAE de 21,4 à 15,8 et la RMSE de 27,6 à 20,2 : 20 à 30 % d'erreur en moins.
Les diagraphies de l'entreprise sont confidentielles, tout comme les courbes produites avec son logiciel interne. Le dépôt public contient l'application du stage et des diagraphies synthétiques au même format, pour la tester.