SlideShare une entreprise Scribd logo
1  sur  77
Télécharger pour lire hors ligne
Université Paris 8 Vincennes Saint Denis
Master Informatique MIASHS
Big Data et Fouille de Données
Projet Fin d’Études
Détection d’anomalies dans les séries temporelles
des données piezométriques
Réalisé par :
SMIDA Mahdi
Tutorat :
M. LABBÉ Vincent
M. DAACHI Boubaker
Classe : Master 2
Entreprise d’accueil :
Année universitaire : 2018/2019
SIGNATURES
Tuteur
M. DAACHI Boubaker
Encadrant
M. LABBÉ Vincent
i
Dédicaces
A Tous ceux que j’aime ...
Je dédie ce modeste travail et ma profonde gratitude à tous celui qui a sacrifié pour
m’offrir les conditions propices à ma russite :
A l’âme de mon grand-père . Je ne saurais exprimer mon grand chagrin en ton absence.
Il n’a jamais arrêté de m’encourager à apprendre. J’aurais aimé que tu sois à mes côtés
ce jour. Que ce travail soit une prière pour le repos de ton âme.
A ma chère mère Asma et mon cher père Jalel, ma sœur Maryem mes frères Ahmed et
Abdelkader et mon ami proche Younes .
Sans oublier bien évidemment tous ceux qui m’ont offert les conditions propices à ma
réussite ...tous ceux de ma grande famille et de mes chers amis qui s’intéressent à ma
réussite.
Remerciements
Du plus profond de mon cœur...
Tout d’abord, je tiens à remercier l’université de Paris 8 et mon tuteur M. DAACHI
Boubaker pour son aide. Ainsi, pour tous les enseignants et les responsables de ce master
Big data et fouille de données nous vous remercions d’avoir enrichi nos connaissances
et de nous avoir guidé durant toute cette année.
Il n’est jamais facile pour un étudiant de trouver un bon environnement de travail,
c’est pourquoi je remercie l’entreprise BRGM de m’avoir accueilli durant cette année
d’alternance.
Je tiens à remercier tout particulièrement M LABBÉ Vincent qui a supervisé mon
travail en donnant de son temps et de ses efforts.
Valider ma dernière année d’études en ingénierie dans cette entreprise a été un plaisir,
j’ai pu apprendre beaucoup grâce à toute l’équipe, et j’ai surtout été conforté dans mon
projet professionnel, ce qui est un aboutissement de mon cursus universitaire.
GLOSSAIRE
ADES portail national d’Accès aux Données sur les Eaux Souterraines. 10
AR Autoregression. 20
BRGM Bureau de Recherches Géologiques et Minières. vi, 2, 3, 5–7, 9, 43, 50, 51
BSS La Banque du Sous-Sol. 10
CEC Constant error carousel. 26
IG Input Gate. 26
LSTM Long short-term memory. 26
MA Moving Average. 20, 21
OG Output Gate. 26
RNN Recurrent neural network. 26
i
RÉSUMÉ
Le présent projet, lié à la détection d’anomalies dans des séries temporelles, a pour objectif
d’aboutir à l’intégration de plusieurs capacités de traitement soit sous forme d’une amélioration
éventuelle de l’existant, soit par la réalisation de nouveaux utilitaires de traitement, destinés,
a priori, à être appliqués sur des données d’observation piézométrique :
• collecter les données à traiter dénommées par l’anglicisme «Data collection», à partir
de l’API piézométrie de Hub’Eau [15].
• extraire les séries temporelles et prétraiter les données,
• détection d’anomalie par apprentissage et par des fonctions statistiques,
• évaluation des algorithmes utilisés.
L’opération de détection d’anomalies appliquée sur des données d’observation piézométrique,
s’appuie communément sur des algorithmes d’apprentissage non supervisés et des méthodes
statistiques que nous allons particulièrement étudier. La détection d’anomalies sur des données
de type temps réel n’est pas nécessairement adaptée à notre problématique, nous nous intéresserons
davantage à un traitement sur un circuit froid (batch).
Mots-clés : Détection d’anomalies, Séries temporelles, Apprentissage automatique, Piézométrie,
Statistiques, Apprentissage non supervisé, LSTM, Données des capteurs de niveau piézométriques,
Eaux souterraines.
ii
ABSTRACT
The present project, about anomaly detection in time series, aims to achieve the integration
of several processing capacities either in the form of an improvement of the existing one, either
by making processing utilities, applied to piezometric observation data :
• data collection from the piezometry API of Hub’Eau,
• preprocess data,
• anomaly detection with statistical methods and machine learning,
• benchmarking.
The anomaly detection operation applied to piezometric observation data is commonly based
on unsupervised learning algorithms and statistical methods that we will study in particular.
The detection of anomalies on real-time data, is not necessarily adapted to our problematic,
we will be more interested in batch processing.
Keywords : Anomaly detection, Time Series, Machine Learning, Statistic, Unsupervised
algorithms, LSTM, Sensors Data, Piezometric Data, Groundwater.
iii
Table des matières
Page
I INTRODUCTION GÉNÉRALE 2
II Contexte de travail 5
II.1 Présentation de l’entreprise BRGM . . . . . . . . . . . . . . . . . . . . . . . . . 5
II.1.1 BRGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
II.1.2 Domaines d’expertise de l’entreprise . . . . . . . . . . . . . . . . . . . 5
II.1.2.1 Géologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
II.1.2.2 Ressources minérales . . . . . . . . . . . . . . . . . . . . . . 6
II.1.2.3 Géothermie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
II.1.2.4 Eau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
II.1.2.5 Risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
II.1.3 Organigramme du BRGM . . . . . . . . . . . . . . . . . . . . . . . . . 9
II.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
II.2.1 Problématique et cas d’application . . . . . . . . . . . . . . . . . . . . 10
II.2.2 Enjeux et gouvernance . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
II.3 Diverses tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
II.3.1 Développements sur l’environnement Big Data . . . . . . . . . . . . . 14
II.3.2 Projet d’innovation "Zeb2Web" . . . . . . . . . . . . . . . . . . . . . . 16
III ÉTUDES BIBLIOGRAPHIQUES 19
III.1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
III.2 Aperçu des méthodes statistiques . . . . . . . . . . . . . . . . . . . . . . . . . 20
III.3 Aperçu des méthodes d’apprentissage automatique . . . . . . . . . . . . . . . 22
III.3.1 Détection d’anomalie supervisée . . . . . . . . . . . . . . . . . . . . . 22
III.3.2 Détection d’anomalie semi-supervisée . . . . . . . . . . . . . . . . . . 22
III.3.3 Détection d’anomalie non supervisée . . . . . . . . . . . . . . . . . . . 23
III.3.3.1 Standard Isolation Forest (iForest) . . . . . . . . . . . . . . . 23
III.3.3.2 Extended Isolation Forest (EIF) . . . . . . . . . . . . . . . . . 24
iv
TABLE DES MATIÈRES
III.3.3.3 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
IV EXPÉRIENCES & DISCUSSION 29
IV.1 Les données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
IV.1.1 Collection et structure des données . . . . . . . . . . . . . . . . . . . . 29
IV.1.2 Jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
IV.2 Application de méthodes statistiques . . . . . . . . . . . . . . . . . . . . . . . 31
IV.2.1 La règle N-sigma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
IV.2.2 La règle N-sigma basée sur la moyenne mobile . . . . . . . . . . . . . . 34
IV.2.3 Prophet : bibliothèque de Facebook . . . . . . . . . . . . . . . . . . . . 35
IV.2.4 AnomalyDetection : bibliothèque de Twitter . . . . . . . . . . . . . . . 37
IV.3 Application de méthodes de machine learning . . . . . . . . . . . . . . . . . . 38
IV.3.1 L’algorithme Isolation Forest . . . . . . . . . . . . . . . . . . . . . . . . 39
IV.3.2 Détection des anomalies avec LSTM . . . . . . . . . . . . . . . . . . . . 41
IV.4 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
IV.4.1 Méthode d’évaluation : courbe AUC - ROC . . . . . . . . . . . . . . . . 43
IV.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
V CONCLUSION GÉNÉRALE 50
Bibliographie 52
A Annexes : Étiquetages des données de test 56
B Annexes : Exemple : Évaluation d’Isolation Forest 62
v
Table des figures
II.1 Principaux corps minéralisés découverts par le BRGM[12] . . . . . . . . . . . 7
II.2 Organigramme du BRGM [13] . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
II.3 Système d’acquisition des données piézométriques . . . . . . . . . . . . . . . . 10
II.4 Pics dans une série temporelle piézométrique . . . . . . . . . . . . . . . . . . . 11
II.5 Saturation,trou de données et pics dans une série temporelle piézométrique . . 11
II.6 Décalage et pic dans une série temporelle piézométrique . . . . . . . . . . . . 12
II.7 Changement de comportement dans une série temporelle piézométrique . . . 12
II.8 Dérive des capteurs dans une série temporelle piézométrique . . . . . . . . . . 13
II.9 Trou de données dans une série chronologique piézométrique . . . . . . . . . 13
II.10 Chaîne simplifiée de développement des projets Big Data au BRGM . . . . . . 15
II.11 Exemple d’une projection des données Lidar . . . . . . . . . . . . . . . . . . . 16
III.1 Isolation d’une donnée aberrantes [18] . . . . . . . . . . . . . . . . . . . . . . 24
III.2 iForest sur différentes distributions de données . . . . . . . . . . . . . . . . . 25
III.3 Coupe de branches générées par la forêt d’isolation étendue. . . . . . . . . . . 25
IV.1 Structure des données de mesures piézométriques . . . . . . . . . . . . . . . . 30
IV.2 Décomposition d’une série chronologique piézo . . . . . . . . . . . . . . . . . 31
IV.3 Règle 2-SIGMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
IV.4 Règle 3-SIGMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
IV.5 Règle 3-SIGMA non valide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
IV.6 Règle N-SIGMA basée sur la MA . . . . . . . . . . . . . . . . . . . . . . . . . 34
IV.7 Application de Prophet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
IV.8 Exemple de liste d’anomalies détectées et un zoom sur la partie graphique . . 36
IV.9 Détection d’anomalies de décalage avec Prophet . . . . . . . . . . . . . . . . . 37
IV.10 Détection d’anomalies avec Twitter AnomalyDetection (Annexes - TS 92) . . 38
IV.11 Application de l’algorithme IF . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
IV.12 Chaîne de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
IV.13 Lstm pour détecter les valeurs aberrantes . . . . . . . . . . . . . . . . . . . . . 42
vi
TABLE DES FIGURES
IV.14 Statistiques sur l’exécution de l’exemple . . . . . . . . . . . . . . . . . . . . . . 43
IV.15 Précision et Rappel [19] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
IV.16 Evaluation iForest : Matrice de confusion et courbe ROC (voir Annexes-TS 99) 46
IV.17 Comparaisons d’algorithmes avec PyOD . . . . . . . . . . . . . . . . . . . . . 48
vii
CHAPITRE I :
INTRODUCTION GÉNÉRALE
IINTRODUCTION GÉNÉRALE
D e nos jours, la détection d’anomalie est une tâche essentielle en
fouille de données et l’apprentissage automatique. Elle consiste à rechercher
des observations non conformes au comportement normal attendu.
Ces observations peuvent être nommées anomalies ou valeurs aberrantes dans différents domaines
d’application. Les termes les plus utilisés dans la littérature sont les anomalies et les valeurs
aberrantes. La détection d’anomalies est un problème réel dans divers domaines, tels que la
détection de fraude, médecine et santé publique, traitement d’image, les réseaux de capteurs
et autres domaines.
Dans les domaines de la géoscience et, au cours de ces dernières années, l’évolution technique
de la mesure de niveau de la nappe d’eau souterraine, grâce à des objets connectés, a été
modernisée par l’apport des capteurs de niveau piézométriques.
Historiquement, les mesures ont été effectuées par lecture visuelle du niveau de la nappe
à l’aide d’une sonde manuelle. Actuellement, le dispositif de mesure utilisé par le BRGM est
constitué d’un capteur plongé dans l’ouvrage et il est relié à une centrale d’acquisition de
données située dans une armoire de protection à proximité du point d’eau (puits, forage), et
enfin d’un modem qui permet de transmettre les données enregistrées à la centrale. Derrière
ce changement de fréquence d’acquisition qui est passée du trimestre à la journée et donc
du volume de données multiplié par 100 environ, vient le besoin de détecter les données
aberrantes envoyées par le système et qui peuvent influencer les mesures à prendre pour
préserver la nappe d’eau et assurer l’alimentation du réseau d’eau potable. Aussi, si l’acquisition
des données a fait de grands progrès, la détection d’anomalies sur les données horodatées
connaît une grande effervescence au niveau mondial par des méthodes statistiques, mais encore
plus avec les algorithmes d’apprentissage automatique.
2
CHAPITRE I. INTRODUCTION GÉNÉRALE
La présente étude sera phasée en deux étapes :
1. après une première recherche bibliographique, vu le rôle fondateur et la popularité
des méthodes statistiques et des investigations qui se poursuivent sur celles-ci, afin
de surmonter les problématiques rencontrées, il est procédé à une identification de ces
fonctions statistiques tout en l’ayant testées en examinant l’adéquation possible de ces
méthodes aux données collectées par le BRGM;
2. ayant connaissance, a priori, des limites des fonctions statistiques, tout en l’ayant testé
sur les différents types d’anomalies, une seconde recherche bibliographique examinera
particulièrement les nouveaux axes de recherches qui, sans exclure nécessairement le
premier axe, s’articulent autour des algorithmes d’apprentissage automatique.
Cependant en préambule à la présente étude il a été procédé à un premier travail de découverte
de la structure des données, organisées dans le format (*.csv), et collectées à partir de l’API Rest
(Hub’Eau - Piézométrie). À cette fin, afin de se familiariser avec les approches statistiques de la
détection des points aberrants et découvrir les bibliothèques de traitement associées, mettant
en œuvre une grande variété d’algorithmes, il a été procédé à la construction d’un utilitaire
permettant de trouver les points anormaux dans les séries temporelles.
3
CHAPITRE II :
CONTEXTE DE TRAVAIL
IIContexte de travail
Introduction
Dans ce chapitre, nous présenterons l’entreprise d’accueil, ses domaines d’expertise ainsi
que son organigramme. Ensuite, nous expliquerons la problématique et les enjeux de la détection
d’anomalies pour le BRGM.
II.1 Présentation de l’entreprise BRGM
Cette section est destinée pour présenter Brgm et définir ses activités.
II.1.1 BRGM
Le Bureau de recherches géologiques et minières ou "BRGM" est le service géologique
national français. C’est l’organisme public français de référence spécialisé dans le domaine
des sciences des risques du sol et du sous-sol et de la Terre pour la gestion des ressources.
BRGM a le statut d’établissement public à caractère industriel et commercial ou "EPIC" de
recherche et d’expertise depuis sa création en 1959. Il est placé sous la tutelle des ministères, de
l’Industrie et du Numérique, de l’Enseignement supérieur et de la Recherche, de l’Environnement,
de l’Énergie et de la Mer et de l’Économie et de l’Éducation nationale.
II.1.2 Domaines d’expertise de l’entreprise
II.1.2.1 Géologie
Service géologique national, le BRGM met en œuvre les compétences de ses chercheurs
pour améliorer et développer la connaissance géologique du sol et du sous-sol. Il produit, mais
aussi il diffuse des données géologiques sur le sous-sol et les formations de surface, à travers
5
CHAPITRE II. CONTEXTE DE TRAVAIL
ses programmes de recherche et des campagnes géophysiques et géologiques, pour répondre
aux nécessités de la société : industriels, administrations,enseignants, aménageurs, en France
et également au niveau international.
Le BRGM établit des cartes géologiques papier et numériques ,des modèles de 3 dimensions
et des bases de données, pour des applications dans les domaines de la gouvernance des
ressources minérales et des ressources en eau, des précautions des risques naturels, d’emmagasinage
géologique de CO2 et de l’environnement tel que la pollution des sols et de la valorisation du
patrimoine géologique.
II.1.2.2 Ressources minérales
La gestion et la connaissance des substances premières minérales :
• Connaissance des modèles de formation des gisements et des minéralisations,caractérisation
des ressources et réserves identification des gisements.
• Conséquence environnementale et économique des utilisations.
• Explication des cycles de vie des matières.
• Connaissance précise des ressources minérales de France et des exploitations en cours.
• La base de données des exploitations de matériaux.
• L’inventaire minier national est réévalué et remis à jour en 2011 dans l’espoir de mieux
trouver de nouvelles ressources minérales stratégiques.
• Pour l’Afrique, le BRGM organise la cartographie panafricaine des ressources minérales,
en eau de nappe et géothermiques au sein de l’observatoire African European georesources
observation system ou "AEGOS" qui réunit 23 partenaires, au sein du projet Global Earth
Observation System of Systems ou "GEOSS", en essayant à développer une gouvernance
locale prenant mieux en compte la conservation du patrimoine culturel menacé par
l’exploitation minière traditionnelle.
• Expertise minière et intelligence économique.
6
CHAPITRE II. CONTEXTE DE TRAVAIL
Figure II.1 – Principaux corps minéralisés découverts par le BRGM[12]
II.1.2.3 Géothermie
Développement et promotion de la géothermie sous toutes ses formes :
• Toutes filières électricité et chaleur, intégration de la géothermie dans les bâtiments.
• Qualification du potentiel et de la ressource géothermique du sous-sol.
• Recherche sur les systèmes géothermiques d’actualité.
• Développement de la géothermie dans les îles volcaniques et en outremer. "Le BRGM a
créé en 2006 avec l’Agence de l’environnement et de la maîtrise de l’énergie (ADEME)
un Département Géothermie, après s’être associé à différents programmes de travaux de
service public et de recherche.
II.1.2.4 Eau
Gestion de la ressource en eau souterraine :
• Recherche de la ressource à partir de modèles prédictifs et de cartographies 2D et 3D des
aquifères.
• Protection et fonctionnement des hydrosystèmes (inondations, remontées de nappes ).
7
CHAPITRE II. CONTEXTE DE TRAVAIL
• Connaissance d’agissement des pollutions de l’eau.
• Depuis peu, le BRGM commence aussi à étendre sa zone de compétence pour couvrir
l’eau profonde.
II.1.2.5 Risques
Prévention et anticipation de différents risques (principalement séismes, glissements de
terrain, éruptions volcaniques, effondrements, retrait-gonflements des argiles, tsunami, érosion
côtière et submersion marine) :
• Étude des mécanismes des aléas géologiques (systèmes de surveillance,modèles prédictifs,
bases de données).
• Évaluer la vulnérabilité systémique et physique des éléments exposés aux différents
aléas.
• Développer des outils d’aide à la décision et de diagnostic pour l’aménagement du territoire.
• Sécuriser l’entreposage dans le sous-sol ainsi que son exploitation.
• Évaluer les conséquences du changement climatique sur les aléas géologiques (submersions
marines et par remontée de nappes,érosion côtière et des sols et mouvements gravitaires)[12].
8
CHAPITRE II. CONTEXTE DE TRAVAIL
II.1.3 Organigramme du BRGM
Cette sous section présente l’organigramme et les directions de l’entreprise.
Mise à jour 1er
trimestre 2019
Organigramme du BRGM
Service de l’Audit, Risques et Qualité J.-C. Perrussel
Secrétariat Général D. Camut
Direction Ressources Humaines I. Plaid
Direction de la Stratégie, de la Recherche et de la
Communication P. Freyssinet
Direction des Géoressources
En attente
Direction des Laboratoires H. Gaboriau
Direction des Infrastructures et Services Numériques J.-M. Trouillard
Direction des Actions Territoriales S. Roy
Direction Eau, Environnement
& Ecotechnologies
P. Gombert
Direction Risques
et Prévention
K. Ben Slimane
Direction Financière X. MignonDirection du Développement P. Papay
Directeur délégué à la Production J-L. Foucher
Division Comptable J. Laurès
Direction Internationale J-C. Guillaneau
Présidente Directrice Générale
M. Rousseau
Directeur Général Délégué
Directeur Scientifique
P. Toulhoat
Figure II.2 – Organigramme du BRGM [13]
II.2 Motivations
Cette section est destinée à définir la problématique, notre cas d’application et les différents
enjeux pour le BRGM et également à l’échelle du pays.
9
CHAPITRE II. CONTEXTE DE TRAVAIL
II.2.1 Problématique et cas d’application
Observer des points de donnés au fils du temps peut révéler des informations précieuses
sur les comportements et les tendances des systèmes. Cependant, le système ne peut pas être
toujours stable.
Figure II.3 – Système d’acquisition des données piézométriques
Dans notre cas d’application, notre point d’observation est un piézométre , qui est soit un
ouvrage construit par l’homme (puits, forage, gravière ...), ou bien un point naturel (source,
aven, grotte...) qui permet de mesurer le niveau d’une nappe. Chaque point d’eau représenté
par un identifiant unique qui s’appelle code BSS (La Banque du Sous-Sol).
Théoriquement, un piézométre ne mesure que le niveau d’une et une seule nappe. Dans les
faits, un piézométre peut atteindre plusieurs nappes dont les niveaux piézométriques peuvent
être différents. Les données diffusées proviennent directement du portail national d’accès aux
données sur les eaux souterraines (ADES). [16]
Les points d’observations envoient les données quotidiennement. En conséquence, les séries
temporelles peuvent contenir plusieurs types d’alertes et d’anomalies :
• Les pics considérés comme anomalies peuvent représenter une surexploitation, rechargement
inhabituel de la nappe ou une valeur aberrante comme indiqué dans la figure ci-dessous :
10
CHAPITRE II. CONTEXTE DE TRAVAIL
Figure II.4 – Pics dans une série temporelle piézométrique
• Saturations :considérées comme alertes elles sont des données de mesures qui restent
constantes au cours du temps. Cette invariance vient du système d’acquisition qui connaît
un malfonctionnement ou il est mal positionné.
Figure II.5 – Saturation,trou de données et pics dans une série temporelle piézométrique
• Décalage : ce type d’anomalie est un décalage axial brutal de la structure de données.
11
CHAPITRE II. CONTEXTE DE TRAVAIL
Figure II.6 – Décalage et pic dans une série temporelle piézométrique
• Changement de comportement des données comme indique la figure suivante :
Figure II.7 – Changement de comportement dans une série temporelle piézométrique
12
CHAPITRE II. CONTEXTE DE TRAVAIL
• Dérive des capteurs comme le montre la figure suivante
Figure II.8 – Dérive des capteurs dans une série temporelle piézométrique
La majorité de ces séries temporelles contiennent des trous de données. Ce bruit blanc est dû
au changement de la méthode de l’acquisition de l’information. Il peut être très important dans
certaines séries chronologiques comme ci-dessous.
Figure II.9 – Trou de données dans une série chronologique piézométrique
13
CHAPITRE II. CONTEXTE DE TRAVAIL
II.2.2 Enjeux et gouvernance
Les eaux souterraines font partie d’une catégorie de ressources difficiles à appréhender. Elles
relèvent typiquement des biens d’environnement et semblent appartenir à tout le monde, en
même temps qu’elles n’appartiennent à personne.[14]
De l’apport hivernal, qu’elles reçoivent irrégulièrement d’ailleurs, les nappes d’eau assurent
une restitution étalée dans le temps sous la forme :
• de l’alimentation des milieux aquatiques et des cours d’eau périphériques;
• des prélèvements divers liés aux activités humaines (eau potable, industrie, irrigation).
Les prélèvements pour l’agriculture, qui se sont très fortement développés, peuvent dépasser
des seuils fixés. Ainsi pour contrôler ces prélèvements et garantir la sécurité de l’alimentation
en eau potable il faut faire un suivi attentif du niveau de la nappe d’où l’intérêt d’un indicateur
de référence constitué par la moyenne pondérée des piézométres télétransmis. La surexploitation
de la ressource doit faire l’objet d’une alerte pour prévenir les préfectures afin qu’elles prennent
de mesure pour préserver cette richesse et la biodiversité. Également, une fausse alerte pourrait
avoir un impact sur l’économie (les secteurs agricoles et industriels) de la commune ou même
de la région.
II.3 Diverses tâches
L’introduction générale faisait apparaître deux étapes dans la méthodologie de travail, concernant
la détection d’anomalies. Cependant compte tenu des tâches affectées, en tant qu’alternant,
elles n’était pas reliées uniquement au thème de détection d’anomalies.
II.3.1 Développements sur l’environnement Big Data
Cette année d’alternance m’a permis de participer aux tâches de développement sur l’environnement
Big Data de l’entreprise.
En effet, nous avons développé toutes les étapes de la chaîne Big Data (voir figure ci-dessous)
de l’API Indicateurs des services et de l’API Hydrobio du projet Hub’Eau sur une nouvelle
architecture interne. Ainsi, nous avons aussi participé à l’enrichissement des données des
collections existantes du projet ADES et à la migration des tables PostegreSQL de la base de
données nationale BSS vers la zone brute sur le Datalake BRGM.
14
CHAPITRE II. CONTEXTE DE TRAVAIL
Collecte de données Entreposage Indexation
Ingestion de données dans la zone brute
du hive
ZONE RAW
Valorisation des données
ZONE REFINED
Indexation
API
Indexation des données 
Diffusion
Figure II.10 – Chaîne simplifiée de développement des projets Big Data au BRGM
Cette chaîne est constituée des étapes suivantes :
• Collection de données à partir des différentes sources de données. (des fichiers CSV pour
l’API Indicateurs des services)
• Ingestion de ces données en brut (RAW) dans le Datalake.
• Valorisation des données selon les besoins métiers (format Parquet).
• Indexation avec un moteur de recherche.
Ces tâches étaient principalement des tâches d’enrichissement, croisement de données et migration
vers une nouvelle architecture à l’aide entre autres de ces technologies :
• Apache Hive qui est un système d’entrepôt de données open source. Il permet d’interroger
et d’analyser des ensembles de données volumineux stockés dans des fichiers Hadoop
(hdfs).
• Apache SolR qui intervient pour permettre à l’utilisateur de fouiller dans les données
stockées dans Hadoop.
Les projets sont stockés dans la forge du BGRM qui est un entrepôt de projets de Redmine.
L’intégration continue de ces derniers se fait avec Jenkins et Rundeck.
15
CHAPITRE II. CONTEXTE DE TRAVAIL
II.3.2 Projet d’innovation "Zeb2Web"
L’idée de ce projet c’est de créer un service web Big Data pour rendre les nuages de points
issus d’un laser Lidar mobile "Zebedee/Zeb-Rezo" disponible.
Le défi à relever dans ce projet c’est de convertir les données massives de ces nuages de
points (Exemple d’acquisition : Carrière de la Bordé - Argonne 110 millions de points sur
presque un hectare) sous le format des données raster en représentant la hauteur de vide,
l’épaisseur de recouvrement et l’altitude du sol de la cavité. Ce projet pourra faciliter la tâche
des chercheurs du BRGM pour trouver les sources d’instabilité potentielles du sous-sol –
gestion du risque plus précise : eg. cartographie dérivée pertinente au 1/5000 (i.e. zones de
danger infra parcellaire) et pour compléter/informer les modèles géologiques et géotechniques
3D urbains dans la tranche 0-20m (fondations d’ouvrages).
Figure II.11 – Exemple d’une projection des données Lidar
16
CHAPITRE II. CONTEXTE DE TRAVAIL
Concernant la première brique du développement de ce projet, le langage scala, spark et
la bibliothèque IQMULUS nous ont facilité les tâches de lecture et stockage des données sur
le Datalake des fichiers LAS des nuages de points dans le cluster Big Data. Il nous reste à
compléter les briques de "Rasterizing" des bouts de fichiers distribués sur l’environnement Big
Data et les rendre disponibles pour la diffusion à travers une API.
Conclusion
En conclusion, ce premier chapitre a présenté un survol sur les activités de l’entreprise ainsi
que sur la motivation du projet. Le chapitre suivant portera sur la partie bibliographique.
17
CHAPITRE III :
ÉTUDES BIBLIOGRAPHIQUES
IIIÉTUDES BIBLIOGRAPHIQUES
Introduction
Les techniques de détection d’anomalies s’avèrent nécessaires pour analyser et détecter le
comportement inhabituel des systèmes d’informations. Elles sont souvent utilisées dans des
séries temporelles univariées ou multivariées.
Dans ce chapitre, nous introduisons les études bibliographiques de la détection d’anomalies
dans les séries temporelles. Nous nous intéressons principalement à deux familles de méthodes :
celles basées sur les approches statistiques et celles basées sur les algorithmes de l’apprentissage
automatique.
III.1 Préliminaires
Définition 1. Une série temporelle ou série chronologique est une suite d’observations d’un
phénomène faites au cours du temps. Il s’agit d’une suite finie de valeurs réelles, indicées par un
temps continu ou discret régulier, typiquement d’un signal échantillonné à une fréquence fixe.
Les principales composantes d’une série chronologique sont qualifiées de : tendancielle, cyclique,
saisonnière et résiduelle.
Définition 2. La détection d’anomalies (outliers = aberrations) est en enjeu crucial et ancien
des applications industrielles de la Statistique notamment pour la détection des défauts de fabrication
ou d’une défaillance système. Historiquement très présente dans les activités de suivi de la qualité
par contrôle statistique des procédés (Statistical Process Control), la détection d’anomalies utilise
beaucoup de techniques largement répandues et dominées par la normalisation : dépassement
d’un seuil fixé par un expert métier, diagramme boîte, tests séquentiels et cartes de contrôles, tests
paramétriques de discordance.[1]
Définition 3. Différents types d’anomalies Nous pouvons assigner les anomalies en trois
groupes : les anomalies ponctuelles,collectives et contextuelles.
19
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
• Anomalies ponctuelles Si la valeur spécifique dans l’ensemble de données est anormale par
rapport à l’ensemble des données, elle est appelée Anomalies ponctuelles(e.g transaction
frauduleuse)
• Anomalies contextuelles Si une donnée seule est considérée comme anormale dans un contexte
spécifique, mais pas autrement, il s’agit d’une anomalie contextuelle.
• Anomalies collectives Si un groupe de données est anormal par rapport au reste des données,
les données de ce groupe sont définies comme des anomalies collectives.[17] (e.g changement
de comportement dans les données de niveau de nappe d’eau)
III.2 Aperçu des méthodes statistiques
Le statisticien est d’abord confronté aux énigmes de la modélisation de la série chronologique.
Il estime concevoir un modèle qui représente au mieux les données. Alors, l’objectif est de
décrire et extraire la structure du signal et éliminer la partie bruitage, les erreurs de mesure
ou encore les données aléatoires non explicables.
Les méthodes de détection d’anomalies basées sur les statistiques n’ont pas besoin de connaître
les types des anomalies ou leurs caractéristiques. Elles utilisent directement des techniques
d’analyse statistique, calculant des statistiques telles que la moyenne et la variance des données.
Afin de surmonter les questions liées à la détection d’anomalies dans les séries temporelles,
et notamment ceux liés à la fréquence temporelle d’acquisition des données, certaines approches
précédentes assurent le traitement par des transformations telles que la transformation d’un
espace temporel vers l’espace fréquentiel.
Les estimateurs statistiques des séries chronologiques sont basés sur des modèles simples
pour représenter les séries temporelles telles que l’autorégression (AR), la moyenne mobile
(MA) et l’ARIMA ou l’ARMA la combinaison des deux premiers modèles.[2]
• L’autorégression (AR) :
Le modèle d’autorégression représente la série temporelle d’une manière régressive. La
prédiction faite à l’instant t dépend des anticipations faites sur l’historique h des observations
passées :
b(t) =
h
i=0
αi × b(t − i) + (t) (III.1)
avec αi i = 0,..,h les coefficients du modèle (AR) et (t) représente le bruit blanc à l’instant t.
20
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
• La moyenne mobile (MA) :
La moyenne mobile est utilisée pour lisser une série temporelle, et donc, faire disparaître les
perturbations locales. On considère h l’historique, ainsi, la valeur à instant t dépend linéairement
des valeurs a(t − k), avec 0 ≤ k ≤ h :
b(t) =
h
i=0
βi × a(t − i) + (t) (III.2)
avec βi i = 0,..,h (t) représente respectivement les coefficients du modèle (MA) et le bruit
blanc à l’instant t.
• Le modèle ARMA :
Le modèle ARMA est une combinaison avec les deux précédents modèles. En effet, il calcule
la prédiction en utilisant un filtre régressif et un autre non régressif :
b(t) =
h
i=0
αi × b(t − i) + (t)
AR
+
h
i=0
βi × a(t − i) + (t)
MA
(III.3)
Pour ajuster les modèles, les méthodes décrites ci-dessus se basent sur l’historique de chaque
série temporelle. En effet, la taille de l’historique doit être choisie avec précaution, car si la
taille est relativement grande, ce qui pourrait avoir un effet considérable sur la complexité
temporelle. Si la taille de l’historique est très petite, on peut perdre des informations.
Les statisticiens ont proposé aussi des méthodes plus simples pour identifier les irrégularités.
En effet, ces techniques consistent à marquer les points de données qui s’écartent des propriétés
statistiques communes d’une distribution, y compris la moyenne, la médiane et le filtre passe-bas.
Le filtre passe-bas vous permet d’identifier des anomalies dans des cas d’utilisation simples,
mais il existe certaines situations dans lesquelles cette technique ne fonctionnera pas. Voici
quelques-uns :
• Les données contiennent du bruit qui pourrait ressembler à un comportement anormal,
car la limite entre comportement normal et anormal est souvent imprécise.
• La définition d’anormal ou de normal peut changer fréquemment. Par conséquent, le
seuil basé sur la moyenne mobile peut ne pas toujours s’appliquer.
• Le modèle est basé sur la saisonnalité. Cela implique des méthodes plus sophistiquées,
telles que la décomposition des données en plusieurs tendances afin d’identifier le changement
de saisonnalité.
21
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
III.3 Aperçu des méthodes d’apprentissage automatique
Cette section est consacrée pour quelques méthodes de détection intelligentes dans la littérature
basée sur l’apprentissage automatique et la fouille de données.
III.3.1 Détection d’anomalie supervisée
Les méthodes supervisées sont également appelées méthodes de classification binaire.
En mode supervisé, les techniques de détection d’anomalies supposent qu’il existe un ensemble
de données d’apprentissage contenant d’une part des mesures jugées correctes à opposer à
d’autres mesures identifiées par un expert comme étant des anomalies. Théoriquement, les
méthodes supervisées offrent un meilleur taux de détection que les méthodes semi-supervisées
et non supervisées, car elles ont accès à plus d’informations. Cependant, il existe des problèmes
techniques qui font que ces méthodes ne semblent pas exactes comme elles sont supposées
l’être. Par exemple, obtenir des étiquettes précises est un défi et les ensembles d’entraînement
contiennent généralement des bruits qui entraînent des taux de faux positifs plus élevés.
Les algorithmes supervisés les plus courants sont les suivants : réseaux de neurones supervisés,
machines à vecteurs de support (SVM), k-plus proches voisins et réseaux bayésiens.
III.3.2 Détection d’anomalie semi-supervisée
Les techniques de détection d’anomalie qui fonctionnent en mode semi-supervisé supposent
l’existence d’un sous-ensemble d’apprentissage dont seule la classe normale est étiquetée.
Comme elles ne nécessitent pas d’étiquettes pour la classe d’anomalie, elles sont plus largement
applicables que les techniques supervisées. Par exemple, dans la détection des pannes des
engins spatiaux, un scénario d’anomalie signifierait un incident, qui n’est pas facile à modéliser.
L’approche typique utilisée dans de telles techniques consiste à créer un modèle pour la classe
correspondant au comportement normal et à utiliser ce modèle pour identifier les anomalies
dans les données de test. Il existe un ensemble limité de techniques de détection d’anomalies
qui supposent que seules les instances d’anomalie sont disponibles pour la formation. De telles
techniques ne sont pas couramment utilisées, principalement parce qu’il est difficile d’obtenir
un ensemble de données d’apprentissage qui couvre tous les comportements anormaux possibles
pouvant survenir dans les données. [3]
22
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
III.3.3 Détection d’anomalie non supervisée
En mode non supervisé, les techniques de détection d’anomalie ne doivent pas se soucier des
données d’apprentissage. Ce genre d’algorithmes largement utilisés supposera que le comportement
normal est plus fréquent que les anomalies dans les données. Si cette hypothèse est fausse, de
telles techniques souffrent d’un taux élevé de fausses alertes.
Les algorithmes non supervisés les plus courants sont les suivants : One-Class Support
Vector Machine, Isolation Forest, Robust Cut Forest et LSTM.
La partie suivante détaillera les principes de fonctionnement de certains algorithmes utilisés
pour affecter des scores d’anomalies aux vecteurs de caractéristiques.
III.3.3.1 Standard Isolation Forest (iForest)
L’article scientifique de l’algorithme intitulé "Isolation Forest" a été publié en 2008 par Fei
Tony Liu, Kai Ming Ting et Zhi-Hua Zhou dans la conférence IEEE International Conference on
Data Mining en Italie. [5]
La technique de l’algorithme Isolation Forest repose sur l’hypothèse que les anomalies sont
rares. La procédure simplifiée en pseudo-code est la suivante pour chaque point du jeu de
données :
1. Sélectionnez le point à isoler.
2. Pour chaque caractéristique, réglez la plage entre le minimum et le maximum.
3. Choisissez une caractéristique au hasard.
4. Choisissez une valeur qui se situe dans la plage, encore une fois de façon aléatoire :
• Si la valeur choisie maintient le point ci-dessus, commuter le minimum de la plage
de la caractéristique sur la valeur.
• Si la valeur choisie maintient le point en dessous, commuter le maximum de la
plage de la caractéristique sur la valeur.
5. Répétez les étapes 3 et 4 jusqu’à ce que le point soit isolé à l’intérieur de la plage pour
toutes les caractéristiques.
6. Comptez combien de fois vous avez dû répéter les étapes 3 et 4. Nous appelons cette
quantité le nombre d’isolements.
23
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
L’algorithme iForest considère un point comme valeur aberrante que s’il n’a pas à répéter les
étapes 3 et 4.
Figure III.1 – Isolation d’une donnée aberrantes [18]
La figure ci-dessus est une illustration de l’application de l’algorithme IF. Ce dernier arrive
à détecter l’anomalie avec un nombre d’isolements ou nombre de partitions égale à 8.
iForest est basé sur l’isolement des anomalies avec une efficacité élevée plutôt que sur le
profilage d’une instance normale dans les séries temporelles ou dans d’autres types de données.
En conséquence, iForest a une complexité temporelle linéaire avec une faible constante et
un faible besoin en mémoire ce qui est idéal pour les ensembles de données à volume élevé.
III.3.3.2 Extended Isolation Forest (EIF)
Extended Isolation Forest est une extension de l’algorithme isolation forest, publiée par
Sahand Hariri et al. en 2018.[6], est une extension de l’algorithme isolation forest.
Le changement, publié dans [5], apporté à l’algorithme par rapport à l’original est faible.
En fait, l’inconvénient du premier algorithme et qui peut poser des problèmes provient des
coupes qui sont horizontales ou verticales(valeur aléatoire d’une caractéristique aléatoire). Par
exemple, dans la figure ci-dessous, nous observons des distributions de données comme la
distribution sinusoïdale dont le nombre de partitionnements est très élevé.
24
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
Figure III.2 – iForest sur différentes distributions de données
EIF aborde cette question un peu différemment. Au lieu de sélectionner une caractéristique
aléatoire puis une valeur aléatoire dans la plage de données, il sélectionne :
• une pente aléatoire pour la coupe de branchement
• une interception aléatoire choisie au hasard parmi l’éventail des valeurs disponibles à
partir des données d’entraînement
Figure III.3 – Coupe de branches générées par la forêt d’isolation étendue.
Nous pouvons voir dans la figure ci-dessus la différence principale d’EIF avec l’algorithme
iForest original avec les coupes qui ne sont pas parallèles aux axes .
L’algorithme Extended Isolation Forest est certainement intéressant et mérite d’être approfondi.
Il surmonte facilement les limites du modèle d’origine avec un ensemble d’exemples artificiels.
25
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
Cependant, il semble exister un problème lors de son implémentation dans un jeu de données
réel.
III.3.3.3 LSTM
Bien que le LSTM soit devenu le modèle d’apprentissage machine de choix pour les données
séquentielles, son fonctionnement et ses limites sont encore assez mal comprises. En raison de
son architecture complexe, le LSTM est considéré comme une boîte noire avec peu de clarté.
Dans cette partie, nous essayons de fournir une meilleure compréhension des LSTM pour la
modélisation des séries chronologiques et la détection des anomalies.[9]
Un réseau Long short-term memory (LSTM), en français réseau récurrent à mémoire court
et long terme a été proposé par Sepp Hochreiter et Jürgen Schmidhuber en 1997. Les principaux
composants de l’architecture LSTM introduits dans [7] sont les suivants :
1. Constant error carousel (CEC) : Unité centrale ayant une connexion récurrente avec un
poids unitaire. La connexion récurrente représente une boucle de rétroaction avec un
pas de temps égal à 1, l’activation du CEC est l’état interne qui sert comme mémoire des
informations passées.
2. Input Gate (IG) : une unité multiplicative qui protège les informations stockées dans le
CEC des perturbations dues à des entrées non pertinentes.
3. Output Gate (OG) : unité multiplicative qui protège les autres unités des interférences
causées par les informations stockées dans le CEC.
Les Input Gate et l’Output Gate contrôlent l’accès au CEC. Pendant l’apprentissage, l’IG
apprend quand laisser de nouvelles informations à l’intérieur du CEC. Tant que l’IG a une
valeur de zéro, aucune information n’est autorisée à l’intérieur. De même, l’OG apprend quand
laisser les informations circuler depuis le CEC.
Le modèle LSTM standard a donné de meilleurs résultats que les RNN dans l’apprentissage
des dépendances à long terme. Cependant, dans [8], une lacune a été identifiée. Sur de longs
flux d’entrée continus sans points de début et fin de séquence marqués, l’état LSTM se développerait
sans limites et finira par rendre le réseau instable. Idéalement, le LSTM devrait apprendre à
réinitialiser le contenu de la cellule mémoire après avoir terminé le traitement d’une séquence
et avant de commencer une nouvelle séquence. Pour résoudre ce problème, une nouvelle
architecture LSTM avec des Forget Gate a été introduite dans l’article Learning to forget :
Continual Prediction with LSTM [8].
26
CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES
Long Short Term Memory Networks for Anomaly Detection in Time Series de Pankaj Malhotra
et al.[10] est un article qui explique l’adaptation de ces réseaux de neurones pour détecter les
anomalies dans une série chronologique. Le réseau est entrainé sur des données normales
et utilisées comme prédicteurs sur plusieurs pas de temps. Les erreurs de prédiction qui en
résultent sont modélisées sous la forme d’une distribution gaussienne, utilisée pour évaluer la
probabilité d’un comportement anormal.
L’efficacité de cette approche appelée LSTM-AD est démontrée sur quatre jeux de données
d’après l’article. Il a donné des résultats meilleurs ou similaires à RNN-AD, ce qui suggère que
les modèles de prédiction basés sur LSTM pourraient être plus robustes que les modèles basés
sur RNN, en particulier lorsque nous ne savons pas au préalable si le comportement normal
implique des dépendances à long terme ou non.
Conclusion
L’étude de certains articles scientifiques dans cette partie nous a confirmé l’intérêt d’appliquer
des algorithmes d’apprentissage non supervisés à l’analyse des séries temporelles, afin de
détecter des anomalies. Dans la partie suivante, nous allons présenter une expérimentation
d’algorithmes de détection d’anomalies appliquées à des données piézométriques réelles.
27
CHAPITRE IV :
EXPÉRIENCES & DISCUSSION
IVEXPÉRIENCES & DISCUSSION
Introduction
Dans ce chapitre, nous étudions le comportement des techniques de détection des anomalies
décrites dans le chapitre précédent avec nos données. Nous allons comparer et tester les méthodes
statistiques et les algorithmes de machine learning et leurs limites sur les données piézométriques
au fur et à mesure nous présentons l’environnement de développement et les librairies adoptées.
IV.1 Les données
L’accès aux données de l’eau est devenu simple et possible pour le grand public grâce aux
API du projet Hub’Eau du BRGM.
IV.1.1 Collection et structure des données
L’API "Piézométrie", des données issues du portail national d’accès aux données sur les eaux
souterraines et qui portent sur les mesures de niveau d’eau dans les nappes d’eau souterraine,
est notre source de jeu de données.Chaque lundi matin, les mises à jour sont intégrées à l’API.
1 # ! / bin / bash
2 c u r l −X GET −−header ’ Accept : t e x t / csv ’ ’ http : / / hubeau . eaufrance . f r / api / v1 / niveaux_nappes / s t a t i o n s . csv ? f i e l d s =code_bss ’
3 >codeBssHubeau . csv
4 IFS = " , "
5 i =0
6 while read f1
7 do
8 echo " codeBss : $f1 "
9 temp= " $ { f1 % " } "
10 temp= " $ { temp#  " } "
11 c u r l −X GET −−header ’ Accept : t e x t / csv ’ " http : / / hubeau . eaufrance . f r / api / v1 / niveaux_nappes / chroniques . csv ? code_bss =$temp "
12 > TS_$i . csv
13 i =$ ( ( $ i + 1) )
14 done < codeBssHubeau . csv
Listing IV.1 – script bash pour collecter toutes les données piézométriques via l’API
29
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Les données récupérées sont des fichiers CSV des niveaux des nappes des 5000 points d’eau
qui couvrent la France entière. Ci-dessous les colonnes qui constituent ces fichiers.
Figure IV.1 – Structure des données de mesures piézométriques
Chaque point d’eau est défini par un identifiant unique qui s’appelle le code_bss. Le champ
urn_bss (urn : Uniform Ressource Name) est l’identifiant unique dans le temps et l’espace pour
les données BSS ( banque du sous-sol ). La qualification de la mesure peut prendre trois valeurs :
correcte, incorrecte et non qualifiée. Ces étiquettes sont fixées par un technicien au moment de
la mesure. Les champs niveau_nappe_eau et date_mesure forment les informations nécessaires
pour avoir des séries chronologiques des données piézométriques.
IV.1.2 Jeu de données
En analysant les différentes séries temporelles, à l’aide du cadriciel Jupyter notebook et la
bibliothèque graphique Plotly, nous avons remarqué la présence des gros trous de données et
c’est le cas de la plupart des données réelles qui ne sont pas toujours parfaites vu le changement
de la fréquence et la technologie de l’acquisition.
Cela nous a poussés à constituer nos jeux de données manuellement en choisissant 100
séries temporelles et en évitant ce manque d’information qui pourra par la suite influencer
l’application des différents algorithmes. Ainsi, nous avons essayé de varier la sélection de ces
séries temporelles de façon que quelques-unes ne contiennent pas d’anomalies et celles qui
restent contiennent un ou plusieurs types d’anomalies remarquables.
30
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
IV.2 Application de méthodes statistiques
Après préparation des données, nous allons les analyser. Ensuite, nous appliquerons les
méthodes statistiques. Pour ce faire, la décomposition fournit un modèle abstrait utile pour
réfléchir aux séries chronologiques en général et pour mieux comprendre les problèmes des
valeurs aberrantes lors de l’analyse et de la prévision de séries chronologiques.
Une série chronologique donnée comprendrait trois composantes systématiques le niveau,
la tendance, la saisonnalité et une composante non systématique appelée bruit.
Figure IV.2 – Décomposition d’une série chronologique piézo
Ces composantes sont définies comme suit (Exemple :Figure IV.2 ) :
• Niveau : La valeur moyenne dans la série.
• Tendance : la valeur croissante ou décroissante de la série.
• Caractère saisonnier : cycle récurrent à court terme de la série.
• Bruit : La variation aléatoire dans la série.
31
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
IV.2.1 La règle N-sigma
La règle N-sigma est une simple méthode statistique qui supposent que presque toutes les
valeurs sont considérées comme des points qui se situent à moins de N écarts types de la
moyenne. Tout ce qui est en dehors de cette plage peut être traité comme anormal.
Pour un N = 2, ce filtre à la base d’écart type considère des points normaux évalués par les
hydrogéologues, au-delà de mean ±2 × sigma comme valeurs aberrantes (Figure IV.3).
Figure IV.3 – Règle 2-SIGMA
Pour N = 3, les résultats semblent plus acceptables (Figure IV.4) que N = 2 pour ce type
de séries temporelles où son axe central ne connaît pas des dérivations.
32
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Figure IV.4 – Règle 3-SIGMA
Cependant, la méthode de N-sigma perd vite de sa fiabilité dans le cas où l’axe central de la
série temporelle n’est pas constant comme l’évoque la Figure IV.5.
Figure IV.5 – Règle 3-SIGMA non valide
33
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
IV.2.2 La règle N-sigma basée sur la moyenne mobile
La moyenne mobile (ou MA pour Moving Average) est un indicateur largement utilisé
dans l’analyse technique qui aide à lisser des séries temporelles ( i.e utilisé pour supprimer
les valeurs du bord) comme nous l’avons indiqué dans la partie d’étude bibliographique. Il
s’agit d’un indicateur qui suit la tendance.
Afin de surmonter le problème rencontré dans la sous-section précédente nous avons pensé
à intégrer la moyenne mobile pour remplacer la moyenne classique. Par conséquent, nous
avons utilisé un ensemble de bibliothèques Python telles que statsmodels et scipy ce qui nous
a permis d’utiliser leurs fonctions statistiques prédéfinies dedans et pour gagner en terme de
temps de calcul et de développement.
En effet, nous visualisons ci-après (Figure IV.6) le résultat très satisfaisant de ce filtre
appliqué à une série chronologique uni variée avec un axe central variable et un N = 1 −
sigma.
Figure IV.6 – Règle N-SIGMA basée sur la MA
Les inconvénients les plus flagrants de ces méthodes sont de deux ordres. Tout d’abord, la
largeur de la fenêtre de la moyenne mobile dépend de la taille de la série chronologique et il
doit être choisi en fonction de l’objectif souhaité. D’autre part, le paramétrage du nombre N
des écarts types pour construire notre filtre doit être fixé manuellement, car la structure des
34
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
séries temporelles n’est pas toujours la même pour chaque point d’eau.
IV.2.3 Prophet : bibliothèque de Facebook
La bibliothèque "Prophet" a été développée par l’équipe scientifique Core Data Science de
Facebook. Elle est basée sur un modèle additif dans lequel les tendances non linéaires sont
ajustées aux variations saisonnières annuelles, hebdomadaires et journalières. Actuellement,
les implémentations de Prophet sont disponibles à la fois en Python et en R.
Pour former le modèle, nous allons tout d’abord définir quelques hyperparamètres de base
, tels que interval_width et changepoint_range, avant de l’appliquer sur notre jeu de données
réel et voir son potentiel. Ils peuvent être utilisés pour ajuster la largeur de la frontière et pour
obtenir un meilleur score.
Ensuite, nous définissons comme valeurs aberrantes tout ce qui dépasse les limites du
modèle. En outre, nous définissons l’importance des valeurs aberrantes en fonction de la distance
entre le point et la limite. (Figure IV.7 et IV.8 ) :
Figure IV.7 – Application de Prophet
Prophet exige que les noms de variables de la série chronologique soient :
• y - cible
35
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
• ds - Date et heure
Figure IV.8 – Exemple de liste d’anomalies détectées et un zoom sur la partie graphique
Pour s’adapter et prévoir les effets de la saisonnalité, Prophet s’appuie sur des séries de
Fourier pour fournir un modèle flexible. Les effets saisonniers s(t) sont décrits par la fonction
suivante :
s(t) =
N
n=1
(αn × cos(
2πnt
P
) + βn × sin(
2πnt
P
)) (IV.1)
avec P est la période (365,25 pour les données annuelles et 7 pour les données hebdomadaires),
αi..n et βi..n sont des valeurs estimées pour un paramètre N donné ( N est important à définir).
Pour une série chronologique, si l’utilisateur estime que les composantes haute fréquence
ne sont que du bruit et ne doivent pas être prises en compte pour la modélisation, il peut définir
les valeurs de N à partir d’une valeur inférieure.
Comme nous avons évoqué, "Prophet" est fait aussi pour prédire. Donc, si ma série chronologique
rencontre des changements sous-jacents dans les phénomènes, par exemple dans le cas d’une
catastrophe imprévue, le taux de croissance est autorisé à changer. Ces points de changement
(Changepoints) sont automatiquement sélectionnés. Cependant, un utilisateur peut également
alimenter les points de changement manuellement si cela est nécessaire. Une fois ce nombre de
36
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
points augmente, l’ajustement devient plus flexible. Il existe essentiellement 2 problèmes qu’un
analyste peut rencontrer lorsqu’il travaille avec la composante de tendance : "Overfitting" et
"Underfitting". Un paramètre appelé changepoint_prior_scale pourrait être utilisé pour ajuster
la flexibilité de la tendance et résoudre ces 2 problèmes.
Les points forts de "Prophet" et de certaines méthodes statistiques ce sont la simplicité et
la robustesse face aux données manquantes et aux changements de tendance. Ainsi, Prophet
peut détecter d’autres types d’anomalies autres que les pics tel que le décalage dans la série
chronologique ( voir (Figure IV.9).
Figure IV.9 – Détection d’anomalies de décalage avec Prophet
Cette bibliothèque de "Facebook" gère généralement bien les valeurs aberrantes par rapport
aux autres méthodes basées sur le principe de prédiction pour détecter les anomalies telles que
le modèle ARMA évoqué dans la partie bibliographie.
IV.2.4 AnomalyDetection : bibliothèque de Twitter
Ce produit a été développé par Twitter après une anomalie détectée sur la série temporelle
due à l’augmentation de photos téléchargées sur ce réseau social les soirs de Noël et du Nouvel
An. Cela a poussé Twitter à réaliser ce projet open source en R qui détecte automatiquement
de telles anomalies dans le Big Data de manière pratique et robuste.
Le "package"= paquetage est réalisé en utilisant une décomposition de séries temporelles
et en utilisant des métriques statistiques robustes , à savoir la médiane et l’ESD ("extreme
37
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
studentized deviate").En outre, pour les longues séries temporelles, l’algorithme utilise une
approximation par morceaux. Cela tient au fait que l’extraction de tendances en présence
d’anomalies influence la détection d’anomalies.
Figure IV.10 – Détection d’anomalies avec Twitter AnomalyDetection (Annexes - TS 92)
Nous avons testé l’algorithme de détection de Twitter sur pyculiarity/Python développé par
la communauté sur le même principe de calcul. Le résultat de test de la fonction prédéfinie pour
les séries temporelles detect_ts est dans la figure IV.10. Cette fonction a besoin principalement
de la série chronologique <timestamp, value> , max_anoms par défaut à 0,1 (équivalent contamination
dans iForest ) et d’autres variables en tant que paramètres. Dans cet exemple l’aire sous la
courbe ROC est à 75%, par contre en terme de temps d’exécution ça prenait environ 10 secondes
pour appliquer le modèle sur une série de 5000 valeurs ce qui est énorme par rapport aux autres
méthodes statistiques comme isolation forest (temps d’exécution inférieur à une seconde).
Dans la section suivante, nous testerons des algorithmes d’apprentissage automatique.
IV.3 Application de méthodes de machine learning
Cette section portera principalement sur les tests des deux algorithmes Isolation Forest et
LSTM.
38
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
IV.3.1 L’algorithme Isolation Forest
L’idée principale, qui diffère des autres méthodes de détection des valeurs aberrantes les
plus répandues, est qu’Isolation Forest identifie explicitement les anomalies au lieu de profiler
des points normaux de données.
La forêt d’isolation, comme toute méthode d’ensemble d’arbres, est construite sur la base
d’arbres de décision. Dans ces arborescences, les partitions sont créées en sélectionnant d’abord
de manière aléatoire une fonctionnalité, puis en sélectionnant une valeur de fractionnement
aléatoire entre la valeur minimale et maximale de la fonctionnalité sélectionnée.
En principe, les valeurs aberrantes sont moins fréquentes que les observations régulières et
en sont différentes en termes de valeurs (elles sont plus éloignées des observations régulières
dans l’espace des fonctions). C’est pourquoi, en utilisant ce type de partitionnement aléatoire,
ils doivent être identifiés plus près de la racine de l’arbre (longueur moyenne du trajet plus
court, c’est-à-dire le nombre de contours qu’une observation doit laisser passer dans l’arbre
allant de la racine au noeud terminal), avec moins de fractionnements nécessaires(Figure III.1).
Comme pour les autres méthodes de détection des valeurs aberrantes, un score d’anomalie
est nécessaire pour la prise de décision. Dans le cas de la forêt d’isolement, elle est définie
comme suit :
s(x,n) = 2
(−
E(h(x))
c(n)
)
(IV.2)
où n est le nombre de nœuds externes, c(n) est la longueur moyenne du chemin d’une recherche
infructueuse dans un arbre de recherche binaire et h(x) est la longueur du chemin d’observation
x.
Chaque observation reçoit un score d’anomalie et la décision suivante peut être prise sur
sa base :
• Un score proche de 1 indique des anomalies.
• Un score bien inférieur à 0,5 indique des observations normales.
• Si tous les scores sont proches de 0,5, l’ensemble de l’échantillon ne semble pas présenter
d’anomalies clairement distinctes.
Exemple pratique
Nous essayons de montrer un exemple pratique en Pyhton de l’algorithme "Isolation Forest"
sur notre jeu de données réelles. Nous utilisons l’implémentation de l’algorithme dans la
bibliothèque Scikit-learn. Les paramètres principaux à fixer avant d’exécuter l’algorithme sont :
39
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
• n_estimators : il est par défaut fixé à 100. C’est le nombre d’estimateurs de base dans
l’ensemble.
• max_samples : C’est le nombre d’échantillons à tirer de x pour former chaque estimateur
de base. il est par défaut "auto", mais il peut prendre les valeurs int ou float :
1. Si ”auto”, alors tirez max_samples = min(256,n_samples).
2. Si int, puis tirez des max_samples échantillons.
3. Si float, puis prélevez des échantillons (max_samples × X.shape[0]).
Si max_samples est supérieur au nombre d’échantillons fournis, tous les échantillons
seront utilisés pour tous les arbres et donc pas d’échantillonnage.
• contamination : c’est un flottant entre 0+ et 0.5 et par défaut à 0,1 dans la version 0.18
et 0,2 dans la version 0.22. Ce paramètre de contamination de l’ensemble de données,
c’est-à-dire la proportion de valeurs aberrantes dans l’ensemble de données. Utilisé lors
de l’ajustement pour définir le seuil de la fonction de décision.
Dans ce cadre de projet de Dataveillance (i.e surveillance de données), la Figure IV.11 ci
après montre les valeurs aberrantes détectées par l’algorithme. Nous avons laissé les valeurs
par défaut pour max_samples et n_estimators, mais nous avons mis la valeur de contamination
à 0.003 vu la densité des données. Cette méthode détecte les anomalies uniquement sur la base
du concept d’isolation sans utiliser de mesure de distance ou de densité, fondamentalement
différente de toutes les méthodes existantes.
40
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Figure IV.11 – Application de l’algorithme IF
Nous avons essayé dans cette phase de test de l’algorithme d’ajouter des informations telles
que la moyenne mobile aux données initiales en prétraitement, mais cette expérience n’a pas
abouti à donner des meilleurs résultats.
IV.3.2 Détection des anomalies avec LSTM
Une solution consiste à utiliser les LSTM pour créer un modèle de prévision, c’est -à- dire à
partir des valeurs actuelles et passées, prévoir les prochaines étapes de la série chronologique.
Ensuite, une erreur de prédiction donne une indication d’anomalie. Par exemple, si l’erreur
de prédiction est élevée, cela indique une anomalie. Une autre méthode consiste à utiliser
directement LSTM en tant que classificateur avec deux classes : normale et anormale.
Données de
l'api hub'eau
Extraction des
champs de la série
chronologique
Données
brutes
Prétraitement Lstm
Détection
d'anomalies
Figure IV.12 – Chaîne de traitement
41
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Exemple d’application
A l’aide de scikit-learn et l’implémentation du LSTM dans la bibliothèque Keras, nous avons
pu tester ce type de réseaux de neurones sur les données piézométriques.
Avant d’exécuter cet algorithme de machine learning, nous allons décomposer notre jeu
de données en 70% d’entraînement et 30% pour le test. Comme tout algorithme, il fallait le
paramétrer selon les spécificités de nos séries chronologiques univariées. Nous avons mis le
nombre de neurones à 3 et le nombre d’époques à 10. Pour prédire une valeur l’algorithme
utilisera les 10 précédentes, par exemple pour prédire t il faut utiliser l’ensemble [(t−10),(t−
9)...(t − 1)].
La première étape consiste à créer un modèle Keras avec le constructeur Sequential(). La
première couche du réseau est une couche d’intégration des données d’entraînement. Les
trois couches suivantes sont des couches d’apprentissage. Un "optimiseur" est l’un des deux
arguments nécessaires à la compilation d’un modèle Keras. Dans notre exemple l’optimiseur
est Adam avec un taux d’apprentissage lr = 0.0005.
Lors du calcul de l’erreur du modèle, pendant le processus d’optimisation, une fonction de
perte doit être choisie. Cela peut être un problème difficile, car la fonction doit capturer les
propriétés du problème. Nous avons utilisé la fonction de perte Erreur quadratique moyenne
(MSE), c’est la somme des distances au carré entre les valeurs cibles et les valeurs prédites.
Figure IV.13 – Lstm pour détecter les valeurs aberrantes
42
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Les statistiques de l’exemple (voir Figure IV.13) sont données ci-après. Elles reflètent le
temps nécessaire pour construire le modèle, l’entraîner et générer les résultats prévus ainsi que
d’autres valeurs telles que les moyennes de l’erreur absolue (MAE) et la moyenne quadratique
(MSE) et sa racine (RMSE).
Figure IV.14 – Statistiques sur l’exécution de l’exemple
Dans la section suivante, nous allons évaluer et commenter l’application de quelques algorithmes
sur les données piézométriques.
IV.4 Évaluation
Nous avons précisé dans la partie "jeu de données" de ce chapitre que nos données d’évaluation
sont une centaine de séries temporelles des niveaux de nappes sur des points d’eau français
choisis selon la persistance de l’information au cours du temps, mais de façon aléatoire géographiquement
pour que le comportement et la tendance des séries ne soient pas proches l’un de l’autre.
Pour commencer l’évaluation, il fallait étiqueter les données. Pour ce faire, la validation de
l’annotation des points aberrants a été vérifiée par un hydrogéologue du BRGM.
IV.4.1 Méthode d’évaluation : courbe AUC - ROC
En Machine Learning, la mesure de la performance est une tâche essentielle. Ainsi, lorsqu’il
s’agit d’un problème de classification, nous pouvons compter sur une courbe AUC - ROC.
Quand nous avons besoin de vérifier ou de visualiser les performances du multi - problème
de classification de la classe, nous utilisons AUC (Area Under Curve / aire sous la courbe )
ROC ( receiver operating characteristics curve). C’est l’un des paramètres d’évaluation les plus
importants pour la vérification des performances d’un modèle de classification. Cependant,
nous pouvons tracer ces courbes sans la matrice de confusion. Ainsi, elle est extrêmement
43
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
utile pour mesurer les rappels, la précision et la spécificité. Cette matrice est un tableau avec
4 combinaisons différentes de valeurs réelles et des données classifiées. Ces valeurs sont :
• VP (vrais positifs) représente le nombre de points considérés comme "anomalies" dans
la liste des points étiquetés "aberrants".
• FP (faux positifs) représente le nombre de points considérés comme "normaux" dans la
liste des points étiquetés "aberrants",
• FN (faux négatifs) représente le nombre de points considérés comme "anomalies" dans
la liste des points étiquetés "normaux",
• VN (vrais négatifs) représente le nombre de points considérés comme "normaux" dans
la liste des points étiquetés "normaux".
La sensibilité (ou Rappel) est la valeur donnée par les données détectées correctement comme
anomalies (VP) sur toutes les classes positives (VP+FN) :
sensibilité =
V P
V P + FN
(IV.3)
La sensibilité et la spécificité (ou Précision) (i.e Figure IV.15)sont inversement proportionnelles.
Donc, lorsque nous augmentons la sensibilité, la spécificité diminue et inversement. La spécificité
est la valeur donnée par :
spécificité =
V N
V N + FP
(IV.4)
44
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Figure IV.15 – Précision et Rappel [19]
Un excellent modèle a une AUC proche de 1, ce qui signifie qu’il a une bonne mesure de
séparabilité. Un modèle médiocre a une AUC proche de 0, ce qui signifie que sa séparabilité est
la pire mesure. En fait, cela signifie qu’il prédit que les 0 sont des 1 et les 1 sont des 0. Et lorsque
l’aire sur la courbe est de 0,5, cela signifie que le modèle n’a aucune capacité de séparation de
classe.
IV.5 Discussion
iForest
Nous avons fait l’évaluation sur les ensembles des données en choisissant deux valeurs du
paramètre contamination d’Isolation Forest. La mesure d’intégrale ou de l’aire sous la coube
45
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Roc (AUC) a donné une valeur de performance de 75% ( voir annexes) pour une valeur de
contamination de 3
1000 d’anomalies. La valeur de l’AUC (67%) était inférieure pour une contamination
de 7
1000. Cette différence est dû au fait que la plupart de nos séries temporelles ne contenait
pas beaucoup de point aberrants de type "pic" ce qui est plutôt bien pour la qualité du système
d’acquisition.
Figure IV.16 – Evaluation iForest : Matrice de confusion et courbe ROC (voir Annexes-TS 99)
La figure IV.16 montre bien que la performance l’algorithme Isolation Forest à détecter les
valeurs aberrantes sur cet exemple. Notamment le tableau ci-dessus prouve que "iForest" est
plus performant sur tout le jeu de données au niveau de la détection mais aussi en temps de
calcul par rapport à Prophet ainsi qu’au filtre basé sur la moyenne mobile.
Algorithme AUC
Prophet 0.60
Moyenne mobile 0.65
Isolation Forest 0.75
PyOD
La bibliothèque PyOD[11] est une boîte à outils Python complète et évolutive permettant
de détecter des objets distants dans des données. Depuis 2017, PyOD a été utilisé avec succès
dans diverses recherches universitaires et produits commerciaux. Nous l’avons testé dans une
série chronologique des données piézométriques sur les algorithmes suivants respectivement
(Figures IV.17) :
46
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
1. Angle-based Outlier Detector (ABOD) : La méthode ABOD est particulièrement utile
pour les données de grande dimension, car l’angle est une mesure plus robuste que la
distance dans un espace de grande dimension.
2. Cluster-based Local Outlier Factor (CBLOF) : CBLOF utilise une heuristique pour classer
les clusters résultants en grands et petits clusters. Enfin, un score d’anomalie est calculé
en fonction de la distance de chaque instance par rapport à son centre de cluster multiplié
par les instances appartenant à son cluster.
3. Feature Bagging : Bootstrap Aggregation (ou Bagging en abrégé) est une procédure
générale qui peut être utilisée pour réduire la variance pour les algorithmes ayant une
variance élevée. Les algorithmes à variance élevée sont des arbres de décision, comme
les arbres de classification et de régression (CART).
4. Histogram-base Outlier Detection (HBOS) : HBOS est un algorithme de détection de
valeurs aberrantes basé sur un histogramme.
5. Isolation Forest ( voir chapitre III)
6. K Nearest Neighbors (KNN) : L’algorithme KNN) est un algorithme d’apprentissage
automatique supervisé qui peut être utilisé pour résoudre les problèmes de classification
et de régression.
7. Average KNN : c’est une variante de KNN. Un super échantillon est créé pour chaque
classe, qui correspond à la moyenne de chaque échantillon d’apprentissage de cette
classe particulière.
8. Local Outlier Factor (LOF) : LOF calcule une densité locale pour les observations avec les
k-voisins les plus proches spécifiés par l’utilisateur. La densité est comparée à la densité
des voisins les plus proches respectifs, ce qui donne le facteur local aberrant.
9. Minimum Covariance Determinant (MCD) : MCD est un estimateur extrêmement robuste
de la localisation et de la dispersion multivariées.
10. One-class SVM (OCSVM) : OCSVM une variante de SVM avec une seule classe à classifier.
11. Principal Component Analysis (PCA) : L’idée principale de l’analyse en composantes
principales (ACP) est de réduire la dimensionnalité d’un ensemble de données constitué
de nombreuses variables corrélées entre elles, de manière forte ou légère, tout en conservant
au maximum (la variation)/(l’information) présente dans l’ensemble de données.
47
CHAPITRE IV. EXPÉRIENCES & DISCUSSION
Figure IV.17 – Comparaisons d’algorithmes avec PyOD
Le taux d’anomalies a été fixé à 3
100 pour tester tous ces algorithmes à la fois, ce qui explique
qu’Isolation Forest était moins performant par rapport à d’autres méthodes dans le cas de
l’exemple ci-dessus.
Conclusion
Nous avons présenté dans ce chapitre plusieurs méthodes pour détecter les anomalies de
type "pic" ascendant et descendant. Ensuite, nous avons essayé d’évaluer quelques algorithmes
sur un jeu de données étiquetés de 100 séries chronologiques.
48
CHAPITRE V :
CONCLUSION GÉNÉRALE
VCONCLUSION GÉNÉRALE
D’ une façon générale et particulièrement sur le plan professionnel,
une alternance représente sans doute une expérience enrichissante
pour chaque étudiant indépendamment du fait qu’il en sorte avec
des satisfactions ou des déceptions, l’essentiel c’est la découverte. Sur le plan personnel, cette
année au BRGM a été très enrichissante dans la mesure où elle m’a permis de découvrir le
métier d’hydrogéologue et de bien comprendre les aspects techniques de l’acquisition des
informations sur les nappes d’eau et surtout les enjeux du traitement de ces données. Mais
plus encore, elle m’a permis d’acquérir des compétences techniques et de me familiariser avec
l’environnement Big Data de l’entreprise en mettant en pratique des algorithmes de machine
learning et des outils de l’écosystème Hadoop qui constituent une nouvelle thématique de
recherche et de développement très active.
À titre de d’apprentissage, il semble intéressent de mettre en évidence les questions qui
se posent autour de la détection d’anomalies dans les séries temporelles piézométriques. En
plus, savoir comment exploiter les technologies modernes pour répondre aux attentes des
thematiciens de l’entreprise afin de veiller à une exploitation durable de l’eau, la ressource
nécessaire la plus rare et la plus précieuse de la Terre. En effet, une partie de mon alternance
adressait ces problématiques, plus précisément, le problème des pics dans les données collectées
et diffusées par le BRGM. Ainsi, la particularité de ce projet réside également dans la cohabitation
du domaine mathématique et du développement informatique, qui sont liés par l’algorithmique.
En premier lieu, il est primordial de prendre connaissance, de manière permanente, de l’état
de l’art des techniques impliquées, des fondations mathématiques de détection d’anomalies et
de la construction progressive des algorithmes avec leurs forces et leurs insuffisances/faiblesses.
50
CHAPITRE V. CONCLUSION GÉNÉRALE
C’est une attitude à cultiver, que ce soit pendant la phase de mise en place de l’environnement
de développement ou durant le développement, lui même, qui peut remettre en cause les
premiers choix. Ceci nécessite de s’adapter à ses situations changeantes.
Ensuite, nous avons mis en test des différentes méthodes qui se décomposaient en deux grandes
familles, statistiques, et Machine Learning. Par la suite, nous avons focalisé nos travaux sur
l’évaluation de ces derniers.
Nous comptons ajouter un service de détection d’anomalies dans le projet Pic’eau en exploitant
la méthode non supervisés Isolation Forest vu la performance et les résultats de cet algorithme
en mettant la contamination un paramètre à fixer dans l’API pour l’adapter aux spécificités de
la série chronologique.
Pour terminer, je souligne que c’est grâce au BRGM qu’il m’a été donné l’occasion de
découvrir le monde professionnel. Pour cela, comme pour l’accompagnement et l’encadrement
qui a été mis en place par l’entreprise, je voudrais exprimer ma sincère et profonde reconnaissance
à ses dirigeants et à tous ceux qui travaillent pour cette entreprise et particulièrement ceux de
la direction DISN pour leur encouragement permanent.
51
BIBLIOGRAPHIE
[1] Bernard Rosner.
Percentage Points for a Generalized ESD Many Outlier Procedure. Technometrics.
Université Harvard, 1983.
[2] Seif-Eddine Benkabou.
Détection d’anomalies dans les séries temporelles : application aux masses de données sur les
pneumatiques.
Université de Lyon, 2018.
[3] Md Rafiqul Islam, Naznin Sultana, Mohammad Ali Moni, Prohollad Chandra Sarkar et
Bushra Rahman.
A Comprehensive Survey of Time Series Anomaly Detection in Online Social Network Data.
International Journal of Computer Applications, 2017.
[4] Markus Goldstein et Seiichi Uchida.
A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate
Data.
PLOS ONE Journal, 2016.
[5] Fei Tony Liu, Kai Ming Ting et Zhi-Hua Zhou.
Isolation Forest.
IEEE International Conference on Data Mining, 2008
[6] Sahand Hariri, Matias Carrasco Kind, et Robert J. Brunner.
Extended Isolation Forest.
ACM Comput. Entertain.9, 2018.
52
BIBLIOGRAPHIE
[7] S. Hochreiter and J. Schmidhuber.
Long Short-Term Memory.
Neural computation, vol. 9, no. 8, pp. 1735–1780, 1997.
[8] F. A. Gers, J. Schmidhuber, and F. Cummins.
Learning to forget : Continual Prediction with LSTM.
Neural computation, vol. 12, no. 10, pp. 2451–2471, 2000.
[9] Pankaj Malhotra and al.
Long Short Term Memory Networks for Anomaly Detection in Time Series
KTH ROYAL INSTITUTE OF TECHNOLOGY,SWEDEN. 2017.
[10] AKASH SINGH.
Anomaly Detection for Temporal Data using Long Short-Term Memory (LSTM).
European Symposium on Artificial Neural Networks, Computational Intelligence and
Machine Learning (ESANN). Bruges (Belgium), 22-24 April 2015.
[11] Zhao, Yue et Nasrullah, Zain et Li, Zheng
PyOD : A Python Toolbox for Scalable Outlier Detection.
Journal of Machine Learning Research,2019.
Webographie
[12] Bureau de recherches géologiques et minières https://fr.wikipedia.org/
wiki/Bureau_de_recherches_géologiques_et_minières
[13] Organigramme du BRGM https://m.brgm.fr/sites/default/files/
organigramme_brgm_2019-03.pdf
[14] La surexploitation des eaux souterraines : Enjeux et gouvernance https://www.
cairn.info/revue-natures-sciences-societes-2004-2-page-146.
html
[15] Hub’Eau : http://hubeau.eaufrance.fr/
[16] Plateforme ouverte des données publiques françaises : https://www.data.gouv.
fr/fr/datasets/piezometres/
53
BIBLIOGRAPHIE
[17] LES 3 DIFFÉRENTS TYPES D’ANOMALIES https://leanbi.ch/fr/blog/
les_3_differents_types_danomalies/
[18] Isolation forest : the art of cutting off from the world, T. Fuertes, 2018 https://
quantdare.com/isolation-forest-algorithm/
[19] Précision et rappel https://fr.wikipedia.org/wiki/Précision_et_
rappel#/media/Fichier:Precisionrappel.svg
54
CHAPITRE VI :
ANNEXES
AAnnexes : Étiquetages des données de test
Dans ce chapitre nous allons afficher une partie du travail d’étiquetage, rassemblé dans un
document. L’évaluation a été faite sur ce jeu de données piézométrique (ci-après un exemple).
56
ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST
Étiquetage des données
TS 1:
manual_anomaly_list_index=[754, 755, 756]
TS 2:
manual_anomaly_list_index=[]
TS 3:
manual_anomaly_list_index=[3959, 3960]
TS 4:
manual_anomaly_list_index=[]
TS 5:
manual_anomaly_list_index=[129,189]
TS 6:
manual_anomaly_list_index=[ 2852, 2853, 2854, 2855, 2856, 2857, 2858,2859]
TS 7:
manual_anomaly_list_index=[548, 549, 550]
TS 8:
manual_anomaly_list_index=[347, 348, 349,3569, 3570,3571]
57
ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST
TS 9:
manual_anomaly_list_index=[176,177,178]
TS 10:
manual_anomaly_list_index= [4540, 4541, 4542]
TS 11:
manual_anomaly_list_index= [2930, 2931, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985]
TS 12:
manual_anomaly_list_index= [606, 607, 733]
TS 13:
manual_anomaly_list_index=[ 1588]
TS 14:
manual_anomaly_list_index= [707, 708, 709, 712, 713, 719, 720, 721, 722]
TS 15:
manual_anomaly_list_index= [2062, 2063]
TS 16:
manual_anomaly_list_index= [2786, 3011, 3113, 3124]
58
ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST
TS 17:
manual_anomaly_list_index= []
TS 18:
manual_anomaly_list_index=[ 2124, 2128, 2135, 2143, 2144, 2157, 2167, 217
1]
TS 19:
manual_anomaly_list_index= [2400, 2861, 2862, 2863, 2864, 2876, 2877, 2878, 2880, 2989]
TS 20:
manual_anomaly_list_index= [858, 895]
TS 21:
manual_anomaly_list_index=[]
TS 22:
manual_anomaly_list_index= [2309]
TS 23:
manual_anomaly_list_index= [ 604, 605]
TS 24:
manual_anomaly_list_index=[]
59
ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST
TS 25:
manual_anomaly_list_index=[ 18, 19]
TS 26:
manual_anomaly_list_index=[]
TS 27:
manual_anomaly_list_index= [580, 581, 582]
TS 28:
manual_anomaly_list_index= [2996, 2997, 2998, 299]
TS 29:
manual_anomaly_list_index=[]
TS 30:
manual_anomaly_list_index=[1419]
TS 31:
manual_anomaly_list_index= [ 451, 452, 453]
TS 32:
manual_anomaly_list_index= [ 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88]
60
ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST
TS 33:
manual_anomaly_list_index=[]
TS 34:
manual_anomaly_list_index= [370, 371, 372 ]
TS 35:
manual_anomaly_list_index= [3099]
TS 36:
manual_anomaly_list_index= [0, 1, 6, 7, 52]
TS 37:
manual_anomaly_list_index=[ 4092]
TS 38:
manual_anomaly_list_index= [ 34,67]
TS 39:
manual_anomaly_list_index= [ 1121]
TS 40:
manual_anomaly_list_index= [48, 49, 51, 514]
61
BAnnexes : Exemple : Évaluation d’Isolation
Forest
Cette section d’annexes est réservée pour le tableau "Excel" (ci-après) qui contient
l’évaluation de l’algorithme isolation forest sur les données piézométriques de test et avec
deux valeurs de contamination choisies selon la densité des séries chronologiques.
62
ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST
Évaluation : ISOLATION FOREST
Code_bss IF AUC(cont= 0,003) IF AUC(cont=0,007)
07657X0018/P1 0,64 0,6
06667X0006/P1 0,54 0,5
06894X0018/P1 0,57 0,59
00217X0068/P1 0,63 0,64
00057X0032/S1 0,75 0,75
06426X0015/P1 0,75 0,71
03783X0046/71 0,8 0,8
07143X0017/P1 0,73 0,74
07853X0027/P1 0,62 0,6
00172X0037/P1 0,6 0,59
00286X0037/P1 0,94 0,9
09761X0106/R1 0,7 0,66
08275X0068/F 0,54 0,51
06638X0048/P1 0,77 0,8
01205X0448/P1 0,67 0,66
00574X0053/S1 0,7 0,69
04538X0027/F 0,62 0,6
04555X0093/F1 0,98 0,9
12288X0089/PIEZO. 0,57 0,54
06505X0093/PZ10 0,68 0,58
10197X0554/PZ10 0,57 0,53
05986X0103/P16-20 0,65 0,56
07004X0046/D6-20 0,58 0,53
02706X0074/S77-20 0,7 0,58
04131X0111/120 0,75 0,61
04137X0009/C20 0,65 0,65
09654X0569/CNRP20 0,73 0,61
09924X0136/PZ20 0,6 0,63
04133X0006/30 0,86 0,7
03786X0074/130 0,8 0,63
09406X0643/P130 0,97 0,74
03426X0223/140 0,75 0,66
09145X0059/N340 0,77 0,63
09735X0070/P40 0,8 0,7
03791X0042/V50 0,78 0,68
09892X0679/EXH70 0,77 0,66
08022X0013/SP0 0,61 0,55
09648X0083/F90-1 0,77 0,67
01987X0124/631-1 0,88 0,8
10906X0039/C2-1 0,93 0,7
06216X0226/P30-01 0,73 0,67
07662X0277/45B-01 0,96 0,71
04514X0018/01 0,99 0,72
09788X0014/PCE101 0,62 0,7
63
ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST
00955X0023/S1 0,99 0,87
02645X0038/D601 0,77 0,61
09505X0034/GO01 0,67 0,57
02588X0006/S1 0,67 0,64
01373X0132/P01 0,77 0,62
10383X0025/111111 0,83 0,72
09645X0035/111111 0,86 0,77
10972X0088/111111 0,92 0,71
05373X0545/5411 0,67 0,57
07791X0220/PZEM11 0,96 0,71
04808X0027/N11 0,64 0,64
12288X0078/P11 0,83 0,64
04454X0033/S11 0,99 0,87
05986X0106/P16-21 0,69 0,58
05005X0131/CG-21 0,77 0,62
04138X0005/21 0,85 0,8
09516X0030/P21 0,97 0,7
09931X0263/PZ21 0,57 0,53
04434X0089/P 0,62 0,62
05202X0099/P 0,54 0,51
BSS002PZXU/P 0,99 0,99
09436X0138/1P 0,67 0,61
09437X0036/23P 0,77 0,63
04132X0413/VN5P 0,59 0,68
00684X0051/F-AEP 0,67 0,65
04997X0002/AEP 0,99 0,83
10592X0012/AEP 0,93 0,97
05124X0509/AEP 0,98 0,99
05432X0024/F1AEP 0,73 0,69
05458X0002/F2AEP 0,73 0,76
02533X2003/PCAEP 0,73 0,71
05411X1010/FAEP 0,7 0,59
02905X0020/FAEP 0,99 0,93
04931X0001/FAEP 1 0,72
04604X0001/FAEP 0,57 0,53
01095X0001/FAEP 0,93 0,69
04926X0001/FAEP 0,63 0,57
05696X0002/FAEP 0,7 0,59
04862X0003/FAEP 0,73 0,76
04881X0035/FAEP 0,9 0,67
05706X0003/PFAEP 0,51 0,57
05205X0001/PAEP 0,73 0,6
05458X0003/PAEP 0,51 0,64
10944X0012/ALCAMP 0,83 0,73
06335X0003/SPOMP 0,77 0,71
07167X0089/ESP 0,7 0,61
07095X0117/CAR 0,53 0,51
64
ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST
10971X0198/LAFAR 0,8 0,63
01322X0049/PZADER 0,77 0,66
10953X0022/GORNER 0,56 0,52
10908X0263/FIGUER 0,63 0,61
09975X0009/FR 0,9 0,67
10402X0046/BOUR 0,53 0,56
06331X0010/S 0,96 0,69
06123X0040/S 0,99 0,98
MOYENNE = 0,75 0,670246914
65
ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST
66

Contenu connexe

Tendances

Rapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence ArtificielleRapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence ArtificielleYanis Marchand
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Ines Ben Kahla
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPTriyadadva
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe rimeh moussi
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIAAhmed BEN JEMIA
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Alaaeddine Tlich
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...mouafekmazia
 
Développement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médicalDéveloppement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médicallitayem bechir
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...rim elaire
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiquejihene Ab
 

Tendances (20)

Rapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence ArtificielleRapport projet Master 2 - Intelligence Artificielle
Rapport projet Master 2 - Intelligence Artificielle
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
Rapport stage pfe
Rapport stage  pfe Rapport stage  pfe
Rapport stage pfe
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIA
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Mémoire de Master 2
Mémoire de Master 2Mémoire de Master 2
Mémoire de Master 2
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
 
Pfe 2015
Pfe 2015Pfe 2015
Pfe 2015
 
Front office back office caisse
Front office back office caisseFront office back office caisse
Front office back office caisse
 
Développement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médicalDéveloppement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médical
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...Mon Projet Fin d'étude: Conception et développement d'une application de géol...
Mon Projet Fin d'étude: Conception et développement d'une application de géol...
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 

Similaire à Mahdi smida Rapport master2 Big data et fouille de données

PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfBacemHlabba
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsUniversité de Rennes 1
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAbderrahim Bouharaoua
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifsSafaAballagh
 
Mémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventionsMémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventionsMohamed Arar
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFEDonia Hammami
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Adem Amen Allah Thabti
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRouâa Ben Hammouda
 
Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...Houssem Eddine Jebri
 
2009 these servant (1)
2009 these servant (1)2009 these servant (1)
2009 these servant (1)bessem ellili
 
Cours gratuit.com--id-2614
Cours gratuit.com--id-2614Cours gratuit.com--id-2614
Cours gratuit.com--id-2614SergeCowouvi1
 
Ingénierie du chaos, Approche par rétro-ingénierie
Ingénierie du chaos, Approche par rétro-ingénierieIngénierie du chaos, Approche par rétro-ingénierie
Ingénierie du chaos, Approche par rétro-ingénieriePatrice Coppens
 

Similaire à Mahdi smida Rapport master2 Big data et fouille de données (20)

PFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdfPFA___Hlabba_Bacem.pdf
PFA___Hlabba_Bacem.pdf
 
thesis
thesisthesis
thesis
 
rapport_stage_TBLB.pdf
rapport_stage_TBLB.pdfrapport_stage_TBLB.pdf
rapport_stage_TBLB.pdf
 
Memoire_final
Memoire_finalMemoire_final
Memoire_final
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
iRecruite
iRecruiteiRecruite
iRecruite
 
Report Master
Report MasterReport Master
Report Master
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application android
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifs
 
Mémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventionsMémoire fin d'étude gestion des interventions
Mémoire fin d'étude gestion des interventions
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master Recherche
 
Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...
 
2009 these servant (1)
2009 these servant (1)2009 these servant (1)
2009 these servant (1)
 
Cours gratuit.com--id-2614
Cours gratuit.com--id-2614Cours gratuit.com--id-2614
Cours gratuit.com--id-2614
 
Ingénierie du chaos, Approche par rétro-ingénierie
Ingénierie du chaos, Approche par rétro-ingénierieIngénierie du chaos, Approche par rétro-ingénierie
Ingénierie du chaos, Approche par rétro-ingénierie
 

Dernier

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 

Dernier (8)

JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 

Mahdi smida Rapport master2 Big data et fouille de données

  • 1. Université Paris 8 Vincennes Saint Denis Master Informatique MIASHS Big Data et Fouille de Données Projet Fin d’Études Détection d’anomalies dans les séries temporelles des données piezométriques Réalisé par : SMIDA Mahdi Tutorat : M. LABBÉ Vincent M. DAACHI Boubaker Classe : Master 2 Entreprise d’accueil : Année universitaire : 2018/2019
  • 3. Dédicaces A Tous ceux que j’aime ... Je dédie ce modeste travail et ma profonde gratitude à tous celui qui a sacrifié pour m’offrir les conditions propices à ma russite : A l’âme de mon grand-père . Je ne saurais exprimer mon grand chagrin en ton absence. Il n’a jamais arrêté de m’encourager à apprendre. J’aurais aimé que tu sois à mes côtés ce jour. Que ce travail soit une prière pour le repos de ton âme. A ma chère mère Asma et mon cher père Jalel, ma sœur Maryem mes frères Ahmed et Abdelkader et mon ami proche Younes . Sans oublier bien évidemment tous ceux qui m’ont offert les conditions propices à ma réussite ...tous ceux de ma grande famille et de mes chers amis qui s’intéressent à ma réussite.
  • 4. Remerciements Du plus profond de mon cœur... Tout d’abord, je tiens à remercier l’université de Paris 8 et mon tuteur M. DAACHI Boubaker pour son aide. Ainsi, pour tous les enseignants et les responsables de ce master Big data et fouille de données nous vous remercions d’avoir enrichi nos connaissances et de nous avoir guidé durant toute cette année. Il n’est jamais facile pour un étudiant de trouver un bon environnement de travail, c’est pourquoi je remercie l’entreprise BRGM de m’avoir accueilli durant cette année d’alternance. Je tiens à remercier tout particulièrement M LABBÉ Vincent qui a supervisé mon travail en donnant de son temps et de ses efforts. Valider ma dernière année d’études en ingénierie dans cette entreprise a été un plaisir, j’ai pu apprendre beaucoup grâce à toute l’équipe, et j’ai surtout été conforté dans mon projet professionnel, ce qui est un aboutissement de mon cursus universitaire.
  • 5. GLOSSAIRE ADES portail national d’Accès aux Données sur les Eaux Souterraines. 10 AR Autoregression. 20 BRGM Bureau de Recherches Géologiques et Minières. vi, 2, 3, 5–7, 9, 43, 50, 51 BSS La Banque du Sous-Sol. 10 CEC Constant error carousel. 26 IG Input Gate. 26 LSTM Long short-term memory. 26 MA Moving Average. 20, 21 OG Output Gate. 26 RNN Recurrent neural network. 26 i
  • 6. RÉSUMÉ Le présent projet, lié à la détection d’anomalies dans des séries temporelles, a pour objectif d’aboutir à l’intégration de plusieurs capacités de traitement soit sous forme d’une amélioration éventuelle de l’existant, soit par la réalisation de nouveaux utilitaires de traitement, destinés, a priori, à être appliqués sur des données d’observation piézométrique : • collecter les données à traiter dénommées par l’anglicisme «Data collection», à partir de l’API piézométrie de Hub’Eau [15]. • extraire les séries temporelles et prétraiter les données, • détection d’anomalie par apprentissage et par des fonctions statistiques, • évaluation des algorithmes utilisés. L’opération de détection d’anomalies appliquée sur des données d’observation piézométrique, s’appuie communément sur des algorithmes d’apprentissage non supervisés et des méthodes statistiques que nous allons particulièrement étudier. La détection d’anomalies sur des données de type temps réel n’est pas nécessairement adaptée à notre problématique, nous nous intéresserons davantage à un traitement sur un circuit froid (batch). Mots-clés : Détection d’anomalies, Séries temporelles, Apprentissage automatique, Piézométrie, Statistiques, Apprentissage non supervisé, LSTM, Données des capteurs de niveau piézométriques, Eaux souterraines. ii
  • 7. ABSTRACT The present project, about anomaly detection in time series, aims to achieve the integration of several processing capacities either in the form of an improvement of the existing one, either by making processing utilities, applied to piezometric observation data : • data collection from the piezometry API of Hub’Eau, • preprocess data, • anomaly detection with statistical methods and machine learning, • benchmarking. The anomaly detection operation applied to piezometric observation data is commonly based on unsupervised learning algorithms and statistical methods that we will study in particular. The detection of anomalies on real-time data, is not necessarily adapted to our problematic, we will be more interested in batch processing. Keywords : Anomaly detection, Time Series, Machine Learning, Statistic, Unsupervised algorithms, LSTM, Sensors Data, Piezometric Data, Groundwater. iii
  • 8. Table des matières Page I INTRODUCTION GÉNÉRALE 2 II Contexte de travail 5 II.1 Présentation de l’entreprise BRGM . . . . . . . . . . . . . . . . . . . . . . . . . 5 II.1.1 BRGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 II.1.2 Domaines d’expertise de l’entreprise . . . . . . . . . . . . . . . . . . . 5 II.1.2.1 Géologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 II.1.2.2 Ressources minérales . . . . . . . . . . . . . . . . . . . . . . 6 II.1.2.3 Géothermie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 II.1.2.4 Eau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 II.1.2.5 Risques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 II.1.3 Organigramme du BRGM . . . . . . . . . . . . . . . . . . . . . . . . . 9 II.2 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 II.2.1 Problématique et cas d’application . . . . . . . . . . . . . . . . . . . . 10 II.2.2 Enjeux et gouvernance . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 II.3 Diverses tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 II.3.1 Développements sur l’environnement Big Data . . . . . . . . . . . . . 14 II.3.2 Projet d’innovation "Zeb2Web" . . . . . . . . . . . . . . . . . . . . . . 16 III ÉTUDES BIBLIOGRAPHIQUES 19 III.1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 III.2 Aperçu des méthodes statistiques . . . . . . . . . . . . . . . . . . . . . . . . . 20 III.3 Aperçu des méthodes d’apprentissage automatique . . . . . . . . . . . . . . . 22 III.3.1 Détection d’anomalie supervisée . . . . . . . . . . . . . . . . . . . . . 22 III.3.2 Détection d’anomalie semi-supervisée . . . . . . . . . . . . . . . . . . 22 III.3.3 Détection d’anomalie non supervisée . . . . . . . . . . . . . . . . . . . 23 III.3.3.1 Standard Isolation Forest (iForest) . . . . . . . . . . . . . . . 23 III.3.3.2 Extended Isolation Forest (EIF) . . . . . . . . . . . . . . . . . 24 iv
  • 9. TABLE DES MATIÈRES III.3.3.3 LSTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 IV EXPÉRIENCES & DISCUSSION 29 IV.1 Les données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 IV.1.1 Collection et structure des données . . . . . . . . . . . . . . . . . . . . 29 IV.1.2 Jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 IV.2 Application de méthodes statistiques . . . . . . . . . . . . . . . . . . . . . . . 31 IV.2.1 La règle N-sigma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 IV.2.2 La règle N-sigma basée sur la moyenne mobile . . . . . . . . . . . . . . 34 IV.2.3 Prophet : bibliothèque de Facebook . . . . . . . . . . . . . . . . . . . . 35 IV.2.4 AnomalyDetection : bibliothèque de Twitter . . . . . . . . . . . . . . . 37 IV.3 Application de méthodes de machine learning . . . . . . . . . . . . . . . . . . 38 IV.3.1 L’algorithme Isolation Forest . . . . . . . . . . . . . . . . . . . . . . . . 39 IV.3.2 Détection des anomalies avec LSTM . . . . . . . . . . . . . . . . . . . . 41 IV.4 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 IV.4.1 Méthode d’évaluation : courbe AUC - ROC . . . . . . . . . . . . . . . . 43 IV.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 V CONCLUSION GÉNÉRALE 50 Bibliographie 52 A Annexes : Étiquetages des données de test 56 B Annexes : Exemple : Évaluation d’Isolation Forest 62 v
  • 10. Table des figures II.1 Principaux corps minéralisés découverts par le BRGM[12] . . . . . . . . . . . 7 II.2 Organigramme du BRGM [13] . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 II.3 Système d’acquisition des données piézométriques . . . . . . . . . . . . . . . . 10 II.4 Pics dans une série temporelle piézométrique . . . . . . . . . . . . . . . . . . . 11 II.5 Saturation,trou de données et pics dans une série temporelle piézométrique . . 11 II.6 Décalage et pic dans une série temporelle piézométrique . . . . . . . . . . . . 12 II.7 Changement de comportement dans une série temporelle piézométrique . . . 12 II.8 Dérive des capteurs dans une série temporelle piézométrique . . . . . . . . . . 13 II.9 Trou de données dans une série chronologique piézométrique . . . . . . . . . 13 II.10 Chaîne simplifiée de développement des projets Big Data au BRGM . . . . . . 15 II.11 Exemple d’une projection des données Lidar . . . . . . . . . . . . . . . . . . . 16 III.1 Isolation d’une donnée aberrantes [18] . . . . . . . . . . . . . . . . . . . . . . 24 III.2 iForest sur différentes distributions de données . . . . . . . . . . . . . . . . . 25 III.3 Coupe de branches générées par la forêt d’isolation étendue. . . . . . . . . . . 25 IV.1 Structure des données de mesures piézométriques . . . . . . . . . . . . . . . . 30 IV.2 Décomposition d’une série chronologique piézo . . . . . . . . . . . . . . . . . 31 IV.3 Règle 2-SIGMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 IV.4 Règle 3-SIGMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 IV.5 Règle 3-SIGMA non valide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 IV.6 Règle N-SIGMA basée sur la MA . . . . . . . . . . . . . . . . . . . . . . . . . 34 IV.7 Application de Prophet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 IV.8 Exemple de liste d’anomalies détectées et un zoom sur la partie graphique . . 36 IV.9 Détection d’anomalies de décalage avec Prophet . . . . . . . . . . . . . . . . . 37 IV.10 Détection d’anomalies avec Twitter AnomalyDetection (Annexes - TS 92) . . 38 IV.11 Application de l’algorithme IF . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 IV.12 Chaîne de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 IV.13 Lstm pour détecter les valeurs aberrantes . . . . . . . . . . . . . . . . . . . . . 42 vi
  • 11. TABLE DES FIGURES IV.14 Statistiques sur l’exécution de l’exemple . . . . . . . . . . . . . . . . . . . . . . 43 IV.15 Précision et Rappel [19] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 IV.16 Evaluation iForest : Matrice de confusion et courbe ROC (voir Annexes-TS 99) 46 IV.17 Comparaisons d’algorithmes avec PyOD . . . . . . . . . . . . . . . . . . . . . 48 vii
  • 13. IINTRODUCTION GÉNÉRALE D e nos jours, la détection d’anomalie est une tâche essentielle en fouille de données et l’apprentissage automatique. Elle consiste à rechercher des observations non conformes au comportement normal attendu. Ces observations peuvent être nommées anomalies ou valeurs aberrantes dans différents domaines d’application. Les termes les plus utilisés dans la littérature sont les anomalies et les valeurs aberrantes. La détection d’anomalies est un problème réel dans divers domaines, tels que la détection de fraude, médecine et santé publique, traitement d’image, les réseaux de capteurs et autres domaines. Dans les domaines de la géoscience et, au cours de ces dernières années, l’évolution technique de la mesure de niveau de la nappe d’eau souterraine, grâce à des objets connectés, a été modernisée par l’apport des capteurs de niveau piézométriques. Historiquement, les mesures ont été effectuées par lecture visuelle du niveau de la nappe à l’aide d’une sonde manuelle. Actuellement, le dispositif de mesure utilisé par le BRGM est constitué d’un capteur plongé dans l’ouvrage et il est relié à une centrale d’acquisition de données située dans une armoire de protection à proximité du point d’eau (puits, forage), et enfin d’un modem qui permet de transmettre les données enregistrées à la centrale. Derrière ce changement de fréquence d’acquisition qui est passée du trimestre à la journée et donc du volume de données multiplié par 100 environ, vient le besoin de détecter les données aberrantes envoyées par le système et qui peuvent influencer les mesures à prendre pour préserver la nappe d’eau et assurer l’alimentation du réseau d’eau potable. Aussi, si l’acquisition des données a fait de grands progrès, la détection d’anomalies sur les données horodatées connaît une grande effervescence au niveau mondial par des méthodes statistiques, mais encore plus avec les algorithmes d’apprentissage automatique. 2
  • 14. CHAPITRE I. INTRODUCTION GÉNÉRALE La présente étude sera phasée en deux étapes : 1. après une première recherche bibliographique, vu le rôle fondateur et la popularité des méthodes statistiques et des investigations qui se poursuivent sur celles-ci, afin de surmonter les problématiques rencontrées, il est procédé à une identification de ces fonctions statistiques tout en l’ayant testées en examinant l’adéquation possible de ces méthodes aux données collectées par le BRGM; 2. ayant connaissance, a priori, des limites des fonctions statistiques, tout en l’ayant testé sur les différents types d’anomalies, une seconde recherche bibliographique examinera particulièrement les nouveaux axes de recherches qui, sans exclure nécessairement le premier axe, s’articulent autour des algorithmes d’apprentissage automatique. Cependant en préambule à la présente étude il a été procédé à un premier travail de découverte de la structure des données, organisées dans le format (*.csv), et collectées à partir de l’API Rest (Hub’Eau - Piézométrie). À cette fin, afin de se familiariser avec les approches statistiques de la détection des points aberrants et découvrir les bibliothèques de traitement associées, mettant en œuvre une grande variété d’algorithmes, il a été procédé à la construction d’un utilitaire permettant de trouver les points anormaux dans les séries temporelles. 3
  • 16. IIContexte de travail Introduction Dans ce chapitre, nous présenterons l’entreprise d’accueil, ses domaines d’expertise ainsi que son organigramme. Ensuite, nous expliquerons la problématique et les enjeux de la détection d’anomalies pour le BRGM. II.1 Présentation de l’entreprise BRGM Cette section est destinée pour présenter Brgm et définir ses activités. II.1.1 BRGM Le Bureau de recherches géologiques et minières ou "BRGM" est le service géologique national français. C’est l’organisme public français de référence spécialisé dans le domaine des sciences des risques du sol et du sous-sol et de la Terre pour la gestion des ressources. BRGM a le statut d’établissement public à caractère industriel et commercial ou "EPIC" de recherche et d’expertise depuis sa création en 1959. Il est placé sous la tutelle des ministères, de l’Industrie et du Numérique, de l’Enseignement supérieur et de la Recherche, de l’Environnement, de l’Énergie et de la Mer et de l’Économie et de l’Éducation nationale. II.1.2 Domaines d’expertise de l’entreprise II.1.2.1 Géologie Service géologique national, le BRGM met en œuvre les compétences de ses chercheurs pour améliorer et développer la connaissance géologique du sol et du sous-sol. Il produit, mais aussi il diffuse des données géologiques sur le sous-sol et les formations de surface, à travers 5
  • 17. CHAPITRE II. CONTEXTE DE TRAVAIL ses programmes de recherche et des campagnes géophysiques et géologiques, pour répondre aux nécessités de la société : industriels, administrations,enseignants, aménageurs, en France et également au niveau international. Le BRGM établit des cartes géologiques papier et numériques ,des modèles de 3 dimensions et des bases de données, pour des applications dans les domaines de la gouvernance des ressources minérales et des ressources en eau, des précautions des risques naturels, d’emmagasinage géologique de CO2 et de l’environnement tel que la pollution des sols et de la valorisation du patrimoine géologique. II.1.2.2 Ressources minérales La gestion et la connaissance des substances premières minérales : • Connaissance des modèles de formation des gisements et des minéralisations,caractérisation des ressources et réserves identification des gisements. • Conséquence environnementale et économique des utilisations. • Explication des cycles de vie des matières. • Connaissance précise des ressources minérales de France et des exploitations en cours. • La base de données des exploitations de matériaux. • L’inventaire minier national est réévalué et remis à jour en 2011 dans l’espoir de mieux trouver de nouvelles ressources minérales stratégiques. • Pour l’Afrique, le BRGM organise la cartographie panafricaine des ressources minérales, en eau de nappe et géothermiques au sein de l’observatoire African European georesources observation system ou "AEGOS" qui réunit 23 partenaires, au sein du projet Global Earth Observation System of Systems ou "GEOSS", en essayant à développer une gouvernance locale prenant mieux en compte la conservation du patrimoine culturel menacé par l’exploitation minière traditionnelle. • Expertise minière et intelligence économique. 6
  • 18. CHAPITRE II. CONTEXTE DE TRAVAIL Figure II.1 – Principaux corps minéralisés découverts par le BRGM[12] II.1.2.3 Géothermie Développement et promotion de la géothermie sous toutes ses formes : • Toutes filières électricité et chaleur, intégration de la géothermie dans les bâtiments. • Qualification du potentiel et de la ressource géothermique du sous-sol. • Recherche sur les systèmes géothermiques d’actualité. • Développement de la géothermie dans les îles volcaniques et en outremer. "Le BRGM a créé en 2006 avec l’Agence de l’environnement et de la maîtrise de l’énergie (ADEME) un Département Géothermie, après s’être associé à différents programmes de travaux de service public et de recherche. II.1.2.4 Eau Gestion de la ressource en eau souterraine : • Recherche de la ressource à partir de modèles prédictifs et de cartographies 2D et 3D des aquifères. • Protection et fonctionnement des hydrosystèmes (inondations, remontées de nappes ). 7
  • 19. CHAPITRE II. CONTEXTE DE TRAVAIL • Connaissance d’agissement des pollutions de l’eau. • Depuis peu, le BRGM commence aussi à étendre sa zone de compétence pour couvrir l’eau profonde. II.1.2.5 Risques Prévention et anticipation de différents risques (principalement séismes, glissements de terrain, éruptions volcaniques, effondrements, retrait-gonflements des argiles, tsunami, érosion côtière et submersion marine) : • Étude des mécanismes des aléas géologiques (systèmes de surveillance,modèles prédictifs, bases de données). • Évaluer la vulnérabilité systémique et physique des éléments exposés aux différents aléas. • Développer des outils d’aide à la décision et de diagnostic pour l’aménagement du territoire. • Sécuriser l’entreposage dans le sous-sol ainsi que son exploitation. • Évaluer les conséquences du changement climatique sur les aléas géologiques (submersions marines et par remontée de nappes,érosion côtière et des sols et mouvements gravitaires)[12]. 8
  • 20. CHAPITRE II. CONTEXTE DE TRAVAIL II.1.3 Organigramme du BRGM Cette sous section présente l’organigramme et les directions de l’entreprise. Mise à jour 1er trimestre 2019 Organigramme du BRGM Service de l’Audit, Risques et Qualité J.-C. Perrussel Secrétariat Général D. Camut Direction Ressources Humaines I. Plaid Direction de la Stratégie, de la Recherche et de la Communication P. Freyssinet Direction des Géoressources En attente Direction des Laboratoires H. Gaboriau Direction des Infrastructures et Services Numériques J.-M. Trouillard Direction des Actions Territoriales S. Roy Direction Eau, Environnement & Ecotechnologies P. Gombert Direction Risques et Prévention K. Ben Slimane Direction Financière X. MignonDirection du Développement P. Papay Directeur délégué à la Production J-L. Foucher Division Comptable J. Laurès Direction Internationale J-C. Guillaneau Présidente Directrice Générale M. Rousseau Directeur Général Délégué Directeur Scientifique P. Toulhoat Figure II.2 – Organigramme du BRGM [13] II.2 Motivations Cette section est destinée à définir la problématique, notre cas d’application et les différents enjeux pour le BRGM et également à l’échelle du pays. 9
  • 21. CHAPITRE II. CONTEXTE DE TRAVAIL II.2.1 Problématique et cas d’application Observer des points de donnés au fils du temps peut révéler des informations précieuses sur les comportements et les tendances des systèmes. Cependant, le système ne peut pas être toujours stable. Figure II.3 – Système d’acquisition des données piézométriques Dans notre cas d’application, notre point d’observation est un piézométre , qui est soit un ouvrage construit par l’homme (puits, forage, gravière ...), ou bien un point naturel (source, aven, grotte...) qui permet de mesurer le niveau d’une nappe. Chaque point d’eau représenté par un identifiant unique qui s’appelle code BSS (La Banque du Sous-Sol). Théoriquement, un piézométre ne mesure que le niveau d’une et une seule nappe. Dans les faits, un piézométre peut atteindre plusieurs nappes dont les niveaux piézométriques peuvent être différents. Les données diffusées proviennent directement du portail national d’accès aux données sur les eaux souterraines (ADES). [16] Les points d’observations envoient les données quotidiennement. En conséquence, les séries temporelles peuvent contenir plusieurs types d’alertes et d’anomalies : • Les pics considérés comme anomalies peuvent représenter une surexploitation, rechargement inhabituel de la nappe ou une valeur aberrante comme indiqué dans la figure ci-dessous : 10
  • 22. CHAPITRE II. CONTEXTE DE TRAVAIL Figure II.4 – Pics dans une série temporelle piézométrique • Saturations :considérées comme alertes elles sont des données de mesures qui restent constantes au cours du temps. Cette invariance vient du système d’acquisition qui connaît un malfonctionnement ou il est mal positionné. Figure II.5 – Saturation,trou de données et pics dans une série temporelle piézométrique • Décalage : ce type d’anomalie est un décalage axial brutal de la structure de données. 11
  • 23. CHAPITRE II. CONTEXTE DE TRAVAIL Figure II.6 – Décalage et pic dans une série temporelle piézométrique • Changement de comportement des données comme indique la figure suivante : Figure II.7 – Changement de comportement dans une série temporelle piézométrique 12
  • 24. CHAPITRE II. CONTEXTE DE TRAVAIL • Dérive des capteurs comme le montre la figure suivante Figure II.8 – Dérive des capteurs dans une série temporelle piézométrique La majorité de ces séries temporelles contiennent des trous de données. Ce bruit blanc est dû au changement de la méthode de l’acquisition de l’information. Il peut être très important dans certaines séries chronologiques comme ci-dessous. Figure II.9 – Trou de données dans une série chronologique piézométrique 13
  • 25. CHAPITRE II. CONTEXTE DE TRAVAIL II.2.2 Enjeux et gouvernance Les eaux souterraines font partie d’une catégorie de ressources difficiles à appréhender. Elles relèvent typiquement des biens d’environnement et semblent appartenir à tout le monde, en même temps qu’elles n’appartiennent à personne.[14] De l’apport hivernal, qu’elles reçoivent irrégulièrement d’ailleurs, les nappes d’eau assurent une restitution étalée dans le temps sous la forme : • de l’alimentation des milieux aquatiques et des cours d’eau périphériques; • des prélèvements divers liés aux activités humaines (eau potable, industrie, irrigation). Les prélèvements pour l’agriculture, qui se sont très fortement développés, peuvent dépasser des seuils fixés. Ainsi pour contrôler ces prélèvements et garantir la sécurité de l’alimentation en eau potable il faut faire un suivi attentif du niveau de la nappe d’où l’intérêt d’un indicateur de référence constitué par la moyenne pondérée des piézométres télétransmis. La surexploitation de la ressource doit faire l’objet d’une alerte pour prévenir les préfectures afin qu’elles prennent de mesure pour préserver cette richesse et la biodiversité. Également, une fausse alerte pourrait avoir un impact sur l’économie (les secteurs agricoles et industriels) de la commune ou même de la région. II.3 Diverses tâches L’introduction générale faisait apparaître deux étapes dans la méthodologie de travail, concernant la détection d’anomalies. Cependant compte tenu des tâches affectées, en tant qu’alternant, elles n’était pas reliées uniquement au thème de détection d’anomalies. II.3.1 Développements sur l’environnement Big Data Cette année d’alternance m’a permis de participer aux tâches de développement sur l’environnement Big Data de l’entreprise. En effet, nous avons développé toutes les étapes de la chaîne Big Data (voir figure ci-dessous) de l’API Indicateurs des services et de l’API Hydrobio du projet Hub’Eau sur une nouvelle architecture interne. Ainsi, nous avons aussi participé à l’enrichissement des données des collections existantes du projet ADES et à la migration des tables PostegreSQL de la base de données nationale BSS vers la zone brute sur le Datalake BRGM. 14
  • 26. CHAPITRE II. CONTEXTE DE TRAVAIL Collecte de données Entreposage Indexation Ingestion de données dans la zone brute du hive ZONE RAW Valorisation des données ZONE REFINED Indexation API Indexation des données  Diffusion Figure II.10 – Chaîne simplifiée de développement des projets Big Data au BRGM Cette chaîne est constituée des étapes suivantes : • Collection de données à partir des différentes sources de données. (des fichiers CSV pour l’API Indicateurs des services) • Ingestion de ces données en brut (RAW) dans le Datalake. • Valorisation des données selon les besoins métiers (format Parquet). • Indexation avec un moteur de recherche. Ces tâches étaient principalement des tâches d’enrichissement, croisement de données et migration vers une nouvelle architecture à l’aide entre autres de ces technologies : • Apache Hive qui est un système d’entrepôt de données open source. Il permet d’interroger et d’analyser des ensembles de données volumineux stockés dans des fichiers Hadoop (hdfs). • Apache SolR qui intervient pour permettre à l’utilisateur de fouiller dans les données stockées dans Hadoop. Les projets sont stockés dans la forge du BGRM qui est un entrepôt de projets de Redmine. L’intégration continue de ces derniers se fait avec Jenkins et Rundeck. 15
  • 27. CHAPITRE II. CONTEXTE DE TRAVAIL II.3.2 Projet d’innovation "Zeb2Web" L’idée de ce projet c’est de créer un service web Big Data pour rendre les nuages de points issus d’un laser Lidar mobile "Zebedee/Zeb-Rezo" disponible. Le défi à relever dans ce projet c’est de convertir les données massives de ces nuages de points (Exemple d’acquisition : Carrière de la Bordé - Argonne 110 millions de points sur presque un hectare) sous le format des données raster en représentant la hauteur de vide, l’épaisseur de recouvrement et l’altitude du sol de la cavité. Ce projet pourra faciliter la tâche des chercheurs du BRGM pour trouver les sources d’instabilité potentielles du sous-sol – gestion du risque plus précise : eg. cartographie dérivée pertinente au 1/5000 (i.e. zones de danger infra parcellaire) et pour compléter/informer les modèles géologiques et géotechniques 3D urbains dans la tranche 0-20m (fondations d’ouvrages). Figure II.11 – Exemple d’une projection des données Lidar 16
  • 28. CHAPITRE II. CONTEXTE DE TRAVAIL Concernant la première brique du développement de ce projet, le langage scala, spark et la bibliothèque IQMULUS nous ont facilité les tâches de lecture et stockage des données sur le Datalake des fichiers LAS des nuages de points dans le cluster Big Data. Il nous reste à compléter les briques de "Rasterizing" des bouts de fichiers distribués sur l’environnement Big Data et les rendre disponibles pour la diffusion à travers une API. Conclusion En conclusion, ce premier chapitre a présenté un survol sur les activités de l’entreprise ainsi que sur la motivation du projet. Le chapitre suivant portera sur la partie bibliographique. 17
  • 29. CHAPITRE III : ÉTUDES BIBLIOGRAPHIQUES
  • 30. IIIÉTUDES BIBLIOGRAPHIQUES Introduction Les techniques de détection d’anomalies s’avèrent nécessaires pour analyser et détecter le comportement inhabituel des systèmes d’informations. Elles sont souvent utilisées dans des séries temporelles univariées ou multivariées. Dans ce chapitre, nous introduisons les études bibliographiques de la détection d’anomalies dans les séries temporelles. Nous nous intéressons principalement à deux familles de méthodes : celles basées sur les approches statistiques et celles basées sur les algorithmes de l’apprentissage automatique. III.1 Préliminaires Définition 1. Une série temporelle ou série chronologique est une suite d’observations d’un phénomène faites au cours du temps. Il s’agit d’une suite finie de valeurs réelles, indicées par un temps continu ou discret régulier, typiquement d’un signal échantillonné à une fréquence fixe. Les principales composantes d’une série chronologique sont qualifiées de : tendancielle, cyclique, saisonnière et résiduelle. Définition 2. La détection d’anomalies (outliers = aberrations) est en enjeu crucial et ancien des applications industrielles de la Statistique notamment pour la détection des défauts de fabrication ou d’une défaillance système. Historiquement très présente dans les activités de suivi de la qualité par contrôle statistique des procédés (Statistical Process Control), la détection d’anomalies utilise beaucoup de techniques largement répandues et dominées par la normalisation : dépassement d’un seuil fixé par un expert métier, diagramme boîte, tests séquentiels et cartes de contrôles, tests paramétriques de discordance.[1] Définition 3. Différents types d’anomalies Nous pouvons assigner les anomalies en trois groupes : les anomalies ponctuelles,collectives et contextuelles. 19
  • 31. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES • Anomalies ponctuelles Si la valeur spécifique dans l’ensemble de données est anormale par rapport à l’ensemble des données, elle est appelée Anomalies ponctuelles(e.g transaction frauduleuse) • Anomalies contextuelles Si une donnée seule est considérée comme anormale dans un contexte spécifique, mais pas autrement, il s’agit d’une anomalie contextuelle. • Anomalies collectives Si un groupe de données est anormal par rapport au reste des données, les données de ce groupe sont définies comme des anomalies collectives.[17] (e.g changement de comportement dans les données de niveau de nappe d’eau) III.2 Aperçu des méthodes statistiques Le statisticien est d’abord confronté aux énigmes de la modélisation de la série chronologique. Il estime concevoir un modèle qui représente au mieux les données. Alors, l’objectif est de décrire et extraire la structure du signal et éliminer la partie bruitage, les erreurs de mesure ou encore les données aléatoires non explicables. Les méthodes de détection d’anomalies basées sur les statistiques n’ont pas besoin de connaître les types des anomalies ou leurs caractéristiques. Elles utilisent directement des techniques d’analyse statistique, calculant des statistiques telles que la moyenne et la variance des données. Afin de surmonter les questions liées à la détection d’anomalies dans les séries temporelles, et notamment ceux liés à la fréquence temporelle d’acquisition des données, certaines approches précédentes assurent le traitement par des transformations telles que la transformation d’un espace temporel vers l’espace fréquentiel. Les estimateurs statistiques des séries chronologiques sont basés sur des modèles simples pour représenter les séries temporelles telles que l’autorégression (AR), la moyenne mobile (MA) et l’ARIMA ou l’ARMA la combinaison des deux premiers modèles.[2] • L’autorégression (AR) : Le modèle d’autorégression représente la série temporelle d’une manière régressive. La prédiction faite à l’instant t dépend des anticipations faites sur l’historique h des observations passées : b(t) = h i=0 αi × b(t − i) + (t) (III.1) avec αi i = 0,..,h les coefficients du modèle (AR) et (t) représente le bruit blanc à l’instant t. 20
  • 32. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES • La moyenne mobile (MA) : La moyenne mobile est utilisée pour lisser une série temporelle, et donc, faire disparaître les perturbations locales. On considère h l’historique, ainsi, la valeur à instant t dépend linéairement des valeurs a(t − k), avec 0 ≤ k ≤ h : b(t) = h i=0 βi × a(t − i) + (t) (III.2) avec βi i = 0,..,h (t) représente respectivement les coefficients du modèle (MA) et le bruit blanc à l’instant t. • Le modèle ARMA : Le modèle ARMA est une combinaison avec les deux précédents modèles. En effet, il calcule la prédiction en utilisant un filtre régressif et un autre non régressif : b(t) = h i=0 αi × b(t − i) + (t) AR + h i=0 βi × a(t − i) + (t) MA (III.3) Pour ajuster les modèles, les méthodes décrites ci-dessus se basent sur l’historique de chaque série temporelle. En effet, la taille de l’historique doit être choisie avec précaution, car si la taille est relativement grande, ce qui pourrait avoir un effet considérable sur la complexité temporelle. Si la taille de l’historique est très petite, on peut perdre des informations. Les statisticiens ont proposé aussi des méthodes plus simples pour identifier les irrégularités. En effet, ces techniques consistent à marquer les points de données qui s’écartent des propriétés statistiques communes d’une distribution, y compris la moyenne, la médiane et le filtre passe-bas. Le filtre passe-bas vous permet d’identifier des anomalies dans des cas d’utilisation simples, mais il existe certaines situations dans lesquelles cette technique ne fonctionnera pas. Voici quelques-uns : • Les données contiennent du bruit qui pourrait ressembler à un comportement anormal, car la limite entre comportement normal et anormal est souvent imprécise. • La définition d’anormal ou de normal peut changer fréquemment. Par conséquent, le seuil basé sur la moyenne mobile peut ne pas toujours s’appliquer. • Le modèle est basé sur la saisonnalité. Cela implique des méthodes plus sophistiquées, telles que la décomposition des données en plusieurs tendances afin d’identifier le changement de saisonnalité. 21
  • 33. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES III.3 Aperçu des méthodes d’apprentissage automatique Cette section est consacrée pour quelques méthodes de détection intelligentes dans la littérature basée sur l’apprentissage automatique et la fouille de données. III.3.1 Détection d’anomalie supervisée Les méthodes supervisées sont également appelées méthodes de classification binaire. En mode supervisé, les techniques de détection d’anomalies supposent qu’il existe un ensemble de données d’apprentissage contenant d’une part des mesures jugées correctes à opposer à d’autres mesures identifiées par un expert comme étant des anomalies. Théoriquement, les méthodes supervisées offrent un meilleur taux de détection que les méthodes semi-supervisées et non supervisées, car elles ont accès à plus d’informations. Cependant, il existe des problèmes techniques qui font que ces méthodes ne semblent pas exactes comme elles sont supposées l’être. Par exemple, obtenir des étiquettes précises est un défi et les ensembles d’entraînement contiennent généralement des bruits qui entraînent des taux de faux positifs plus élevés. Les algorithmes supervisés les plus courants sont les suivants : réseaux de neurones supervisés, machines à vecteurs de support (SVM), k-plus proches voisins et réseaux bayésiens. III.3.2 Détection d’anomalie semi-supervisée Les techniques de détection d’anomalie qui fonctionnent en mode semi-supervisé supposent l’existence d’un sous-ensemble d’apprentissage dont seule la classe normale est étiquetée. Comme elles ne nécessitent pas d’étiquettes pour la classe d’anomalie, elles sont plus largement applicables que les techniques supervisées. Par exemple, dans la détection des pannes des engins spatiaux, un scénario d’anomalie signifierait un incident, qui n’est pas facile à modéliser. L’approche typique utilisée dans de telles techniques consiste à créer un modèle pour la classe correspondant au comportement normal et à utiliser ce modèle pour identifier les anomalies dans les données de test. Il existe un ensemble limité de techniques de détection d’anomalies qui supposent que seules les instances d’anomalie sont disponibles pour la formation. De telles techniques ne sont pas couramment utilisées, principalement parce qu’il est difficile d’obtenir un ensemble de données d’apprentissage qui couvre tous les comportements anormaux possibles pouvant survenir dans les données. [3] 22
  • 34. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES III.3.3 Détection d’anomalie non supervisée En mode non supervisé, les techniques de détection d’anomalie ne doivent pas se soucier des données d’apprentissage. Ce genre d’algorithmes largement utilisés supposera que le comportement normal est plus fréquent que les anomalies dans les données. Si cette hypothèse est fausse, de telles techniques souffrent d’un taux élevé de fausses alertes. Les algorithmes non supervisés les plus courants sont les suivants : One-Class Support Vector Machine, Isolation Forest, Robust Cut Forest et LSTM. La partie suivante détaillera les principes de fonctionnement de certains algorithmes utilisés pour affecter des scores d’anomalies aux vecteurs de caractéristiques. III.3.3.1 Standard Isolation Forest (iForest) L’article scientifique de l’algorithme intitulé "Isolation Forest" a été publié en 2008 par Fei Tony Liu, Kai Ming Ting et Zhi-Hua Zhou dans la conférence IEEE International Conference on Data Mining en Italie. [5] La technique de l’algorithme Isolation Forest repose sur l’hypothèse que les anomalies sont rares. La procédure simplifiée en pseudo-code est la suivante pour chaque point du jeu de données : 1. Sélectionnez le point à isoler. 2. Pour chaque caractéristique, réglez la plage entre le minimum et le maximum. 3. Choisissez une caractéristique au hasard. 4. Choisissez une valeur qui se situe dans la plage, encore une fois de façon aléatoire : • Si la valeur choisie maintient le point ci-dessus, commuter le minimum de la plage de la caractéristique sur la valeur. • Si la valeur choisie maintient le point en dessous, commuter le maximum de la plage de la caractéristique sur la valeur. 5. Répétez les étapes 3 et 4 jusqu’à ce que le point soit isolé à l’intérieur de la plage pour toutes les caractéristiques. 6. Comptez combien de fois vous avez dû répéter les étapes 3 et 4. Nous appelons cette quantité le nombre d’isolements. 23
  • 35. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES L’algorithme iForest considère un point comme valeur aberrante que s’il n’a pas à répéter les étapes 3 et 4. Figure III.1 – Isolation d’une donnée aberrantes [18] La figure ci-dessus est une illustration de l’application de l’algorithme IF. Ce dernier arrive à détecter l’anomalie avec un nombre d’isolements ou nombre de partitions égale à 8. iForest est basé sur l’isolement des anomalies avec une efficacité élevée plutôt que sur le profilage d’une instance normale dans les séries temporelles ou dans d’autres types de données. En conséquence, iForest a une complexité temporelle linéaire avec une faible constante et un faible besoin en mémoire ce qui est idéal pour les ensembles de données à volume élevé. III.3.3.2 Extended Isolation Forest (EIF) Extended Isolation Forest est une extension de l’algorithme isolation forest, publiée par Sahand Hariri et al. en 2018.[6], est une extension de l’algorithme isolation forest. Le changement, publié dans [5], apporté à l’algorithme par rapport à l’original est faible. En fait, l’inconvénient du premier algorithme et qui peut poser des problèmes provient des coupes qui sont horizontales ou verticales(valeur aléatoire d’une caractéristique aléatoire). Par exemple, dans la figure ci-dessous, nous observons des distributions de données comme la distribution sinusoïdale dont le nombre de partitionnements est très élevé. 24
  • 36. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES Figure III.2 – iForest sur différentes distributions de données EIF aborde cette question un peu différemment. Au lieu de sélectionner une caractéristique aléatoire puis une valeur aléatoire dans la plage de données, il sélectionne : • une pente aléatoire pour la coupe de branchement • une interception aléatoire choisie au hasard parmi l’éventail des valeurs disponibles à partir des données d’entraînement Figure III.3 – Coupe de branches générées par la forêt d’isolation étendue. Nous pouvons voir dans la figure ci-dessus la différence principale d’EIF avec l’algorithme iForest original avec les coupes qui ne sont pas parallèles aux axes . L’algorithme Extended Isolation Forest est certainement intéressant et mérite d’être approfondi. Il surmonte facilement les limites du modèle d’origine avec un ensemble d’exemples artificiels. 25
  • 37. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES Cependant, il semble exister un problème lors de son implémentation dans un jeu de données réel. III.3.3.3 LSTM Bien que le LSTM soit devenu le modèle d’apprentissage machine de choix pour les données séquentielles, son fonctionnement et ses limites sont encore assez mal comprises. En raison de son architecture complexe, le LSTM est considéré comme une boîte noire avec peu de clarté. Dans cette partie, nous essayons de fournir une meilleure compréhension des LSTM pour la modélisation des séries chronologiques et la détection des anomalies.[9] Un réseau Long short-term memory (LSTM), en français réseau récurrent à mémoire court et long terme a été proposé par Sepp Hochreiter et Jürgen Schmidhuber en 1997. Les principaux composants de l’architecture LSTM introduits dans [7] sont les suivants : 1. Constant error carousel (CEC) : Unité centrale ayant une connexion récurrente avec un poids unitaire. La connexion récurrente représente une boucle de rétroaction avec un pas de temps égal à 1, l’activation du CEC est l’état interne qui sert comme mémoire des informations passées. 2. Input Gate (IG) : une unité multiplicative qui protège les informations stockées dans le CEC des perturbations dues à des entrées non pertinentes. 3. Output Gate (OG) : unité multiplicative qui protège les autres unités des interférences causées par les informations stockées dans le CEC. Les Input Gate et l’Output Gate contrôlent l’accès au CEC. Pendant l’apprentissage, l’IG apprend quand laisser de nouvelles informations à l’intérieur du CEC. Tant que l’IG a une valeur de zéro, aucune information n’est autorisée à l’intérieur. De même, l’OG apprend quand laisser les informations circuler depuis le CEC. Le modèle LSTM standard a donné de meilleurs résultats que les RNN dans l’apprentissage des dépendances à long terme. Cependant, dans [8], une lacune a été identifiée. Sur de longs flux d’entrée continus sans points de début et fin de séquence marqués, l’état LSTM se développerait sans limites et finira par rendre le réseau instable. Idéalement, le LSTM devrait apprendre à réinitialiser le contenu de la cellule mémoire après avoir terminé le traitement d’une séquence et avant de commencer une nouvelle séquence. Pour résoudre ce problème, une nouvelle architecture LSTM avec des Forget Gate a été introduite dans l’article Learning to forget : Continual Prediction with LSTM [8]. 26
  • 38. CHAPITRE III. ÉTUDES BIBLIOGRAPHIQUES Long Short Term Memory Networks for Anomaly Detection in Time Series de Pankaj Malhotra et al.[10] est un article qui explique l’adaptation de ces réseaux de neurones pour détecter les anomalies dans une série chronologique. Le réseau est entrainé sur des données normales et utilisées comme prédicteurs sur plusieurs pas de temps. Les erreurs de prédiction qui en résultent sont modélisées sous la forme d’une distribution gaussienne, utilisée pour évaluer la probabilité d’un comportement anormal. L’efficacité de cette approche appelée LSTM-AD est démontrée sur quatre jeux de données d’après l’article. Il a donné des résultats meilleurs ou similaires à RNN-AD, ce qui suggère que les modèles de prédiction basés sur LSTM pourraient être plus robustes que les modèles basés sur RNN, en particulier lorsque nous ne savons pas au préalable si le comportement normal implique des dépendances à long terme ou non. Conclusion L’étude de certains articles scientifiques dans cette partie nous a confirmé l’intérêt d’appliquer des algorithmes d’apprentissage non supervisés à l’analyse des séries temporelles, afin de détecter des anomalies. Dans la partie suivante, nous allons présenter une expérimentation d’algorithmes de détection d’anomalies appliquées à des données piézométriques réelles. 27
  • 40. IVEXPÉRIENCES & DISCUSSION Introduction Dans ce chapitre, nous étudions le comportement des techniques de détection des anomalies décrites dans le chapitre précédent avec nos données. Nous allons comparer et tester les méthodes statistiques et les algorithmes de machine learning et leurs limites sur les données piézométriques au fur et à mesure nous présentons l’environnement de développement et les librairies adoptées. IV.1 Les données L’accès aux données de l’eau est devenu simple et possible pour le grand public grâce aux API du projet Hub’Eau du BRGM. IV.1.1 Collection et structure des données L’API "Piézométrie", des données issues du portail national d’accès aux données sur les eaux souterraines et qui portent sur les mesures de niveau d’eau dans les nappes d’eau souterraine, est notre source de jeu de données.Chaque lundi matin, les mises à jour sont intégrées à l’API. 1 # ! / bin / bash 2 c u r l −X GET −−header ’ Accept : t e x t / csv ’ ’ http : / / hubeau . eaufrance . f r / api / v1 / niveaux_nappes / s t a t i o n s . csv ? f i e l d s =code_bss ’ 3 >codeBssHubeau . csv 4 IFS = " , " 5 i =0 6 while read f1 7 do 8 echo " codeBss : $f1 " 9 temp= " $ { f1 % " } " 10 temp= " $ { temp# " } " 11 c u r l −X GET −−header ’ Accept : t e x t / csv ’ " http : / / hubeau . eaufrance . f r / api / v1 / niveaux_nappes / chroniques . csv ? code_bss =$temp " 12 > TS_$i . csv 13 i =$ ( ( $ i + 1) ) 14 done < codeBssHubeau . csv Listing IV.1 – script bash pour collecter toutes les données piézométriques via l’API 29
  • 41. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Les données récupérées sont des fichiers CSV des niveaux des nappes des 5000 points d’eau qui couvrent la France entière. Ci-dessous les colonnes qui constituent ces fichiers. Figure IV.1 – Structure des données de mesures piézométriques Chaque point d’eau est défini par un identifiant unique qui s’appelle le code_bss. Le champ urn_bss (urn : Uniform Ressource Name) est l’identifiant unique dans le temps et l’espace pour les données BSS ( banque du sous-sol ). La qualification de la mesure peut prendre trois valeurs : correcte, incorrecte et non qualifiée. Ces étiquettes sont fixées par un technicien au moment de la mesure. Les champs niveau_nappe_eau et date_mesure forment les informations nécessaires pour avoir des séries chronologiques des données piézométriques. IV.1.2 Jeu de données En analysant les différentes séries temporelles, à l’aide du cadriciel Jupyter notebook et la bibliothèque graphique Plotly, nous avons remarqué la présence des gros trous de données et c’est le cas de la plupart des données réelles qui ne sont pas toujours parfaites vu le changement de la fréquence et la technologie de l’acquisition. Cela nous a poussés à constituer nos jeux de données manuellement en choisissant 100 séries temporelles et en évitant ce manque d’information qui pourra par la suite influencer l’application des différents algorithmes. Ainsi, nous avons essayé de varier la sélection de ces séries temporelles de façon que quelques-unes ne contiennent pas d’anomalies et celles qui restent contiennent un ou plusieurs types d’anomalies remarquables. 30
  • 42. CHAPITRE IV. EXPÉRIENCES & DISCUSSION IV.2 Application de méthodes statistiques Après préparation des données, nous allons les analyser. Ensuite, nous appliquerons les méthodes statistiques. Pour ce faire, la décomposition fournit un modèle abstrait utile pour réfléchir aux séries chronologiques en général et pour mieux comprendre les problèmes des valeurs aberrantes lors de l’analyse et de la prévision de séries chronologiques. Une série chronologique donnée comprendrait trois composantes systématiques le niveau, la tendance, la saisonnalité et une composante non systématique appelée bruit. Figure IV.2 – Décomposition d’une série chronologique piézo Ces composantes sont définies comme suit (Exemple :Figure IV.2 ) : • Niveau : La valeur moyenne dans la série. • Tendance : la valeur croissante ou décroissante de la série. • Caractère saisonnier : cycle récurrent à court terme de la série. • Bruit : La variation aléatoire dans la série. 31
  • 43. CHAPITRE IV. EXPÉRIENCES & DISCUSSION IV.2.1 La règle N-sigma La règle N-sigma est une simple méthode statistique qui supposent que presque toutes les valeurs sont considérées comme des points qui se situent à moins de N écarts types de la moyenne. Tout ce qui est en dehors de cette plage peut être traité comme anormal. Pour un N = 2, ce filtre à la base d’écart type considère des points normaux évalués par les hydrogéologues, au-delà de mean ±2 × sigma comme valeurs aberrantes (Figure IV.3). Figure IV.3 – Règle 2-SIGMA Pour N = 3, les résultats semblent plus acceptables (Figure IV.4) que N = 2 pour ce type de séries temporelles où son axe central ne connaît pas des dérivations. 32
  • 44. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Figure IV.4 – Règle 3-SIGMA Cependant, la méthode de N-sigma perd vite de sa fiabilité dans le cas où l’axe central de la série temporelle n’est pas constant comme l’évoque la Figure IV.5. Figure IV.5 – Règle 3-SIGMA non valide 33
  • 45. CHAPITRE IV. EXPÉRIENCES & DISCUSSION IV.2.2 La règle N-sigma basée sur la moyenne mobile La moyenne mobile (ou MA pour Moving Average) est un indicateur largement utilisé dans l’analyse technique qui aide à lisser des séries temporelles ( i.e utilisé pour supprimer les valeurs du bord) comme nous l’avons indiqué dans la partie d’étude bibliographique. Il s’agit d’un indicateur qui suit la tendance. Afin de surmonter le problème rencontré dans la sous-section précédente nous avons pensé à intégrer la moyenne mobile pour remplacer la moyenne classique. Par conséquent, nous avons utilisé un ensemble de bibliothèques Python telles que statsmodels et scipy ce qui nous a permis d’utiliser leurs fonctions statistiques prédéfinies dedans et pour gagner en terme de temps de calcul et de développement. En effet, nous visualisons ci-après (Figure IV.6) le résultat très satisfaisant de ce filtre appliqué à une série chronologique uni variée avec un axe central variable et un N = 1 − sigma. Figure IV.6 – Règle N-SIGMA basée sur la MA Les inconvénients les plus flagrants de ces méthodes sont de deux ordres. Tout d’abord, la largeur de la fenêtre de la moyenne mobile dépend de la taille de la série chronologique et il doit être choisi en fonction de l’objectif souhaité. D’autre part, le paramétrage du nombre N des écarts types pour construire notre filtre doit être fixé manuellement, car la structure des 34
  • 46. CHAPITRE IV. EXPÉRIENCES & DISCUSSION séries temporelles n’est pas toujours la même pour chaque point d’eau. IV.2.3 Prophet : bibliothèque de Facebook La bibliothèque "Prophet" a été développée par l’équipe scientifique Core Data Science de Facebook. Elle est basée sur un modèle additif dans lequel les tendances non linéaires sont ajustées aux variations saisonnières annuelles, hebdomadaires et journalières. Actuellement, les implémentations de Prophet sont disponibles à la fois en Python et en R. Pour former le modèle, nous allons tout d’abord définir quelques hyperparamètres de base , tels que interval_width et changepoint_range, avant de l’appliquer sur notre jeu de données réel et voir son potentiel. Ils peuvent être utilisés pour ajuster la largeur de la frontière et pour obtenir un meilleur score. Ensuite, nous définissons comme valeurs aberrantes tout ce qui dépasse les limites du modèle. En outre, nous définissons l’importance des valeurs aberrantes en fonction de la distance entre le point et la limite. (Figure IV.7 et IV.8 ) : Figure IV.7 – Application de Prophet Prophet exige que les noms de variables de la série chronologique soient : • y - cible 35
  • 47. CHAPITRE IV. EXPÉRIENCES & DISCUSSION • ds - Date et heure Figure IV.8 – Exemple de liste d’anomalies détectées et un zoom sur la partie graphique Pour s’adapter et prévoir les effets de la saisonnalité, Prophet s’appuie sur des séries de Fourier pour fournir un modèle flexible. Les effets saisonniers s(t) sont décrits par la fonction suivante : s(t) = N n=1 (αn × cos( 2πnt P ) + βn × sin( 2πnt P )) (IV.1) avec P est la période (365,25 pour les données annuelles et 7 pour les données hebdomadaires), αi..n et βi..n sont des valeurs estimées pour un paramètre N donné ( N est important à définir). Pour une série chronologique, si l’utilisateur estime que les composantes haute fréquence ne sont que du bruit et ne doivent pas être prises en compte pour la modélisation, il peut définir les valeurs de N à partir d’une valeur inférieure. Comme nous avons évoqué, "Prophet" est fait aussi pour prédire. Donc, si ma série chronologique rencontre des changements sous-jacents dans les phénomènes, par exemple dans le cas d’une catastrophe imprévue, le taux de croissance est autorisé à changer. Ces points de changement (Changepoints) sont automatiquement sélectionnés. Cependant, un utilisateur peut également alimenter les points de changement manuellement si cela est nécessaire. Une fois ce nombre de 36
  • 48. CHAPITRE IV. EXPÉRIENCES & DISCUSSION points augmente, l’ajustement devient plus flexible. Il existe essentiellement 2 problèmes qu’un analyste peut rencontrer lorsqu’il travaille avec la composante de tendance : "Overfitting" et "Underfitting". Un paramètre appelé changepoint_prior_scale pourrait être utilisé pour ajuster la flexibilité de la tendance et résoudre ces 2 problèmes. Les points forts de "Prophet" et de certaines méthodes statistiques ce sont la simplicité et la robustesse face aux données manquantes et aux changements de tendance. Ainsi, Prophet peut détecter d’autres types d’anomalies autres que les pics tel que le décalage dans la série chronologique ( voir (Figure IV.9). Figure IV.9 – Détection d’anomalies de décalage avec Prophet Cette bibliothèque de "Facebook" gère généralement bien les valeurs aberrantes par rapport aux autres méthodes basées sur le principe de prédiction pour détecter les anomalies telles que le modèle ARMA évoqué dans la partie bibliographie. IV.2.4 AnomalyDetection : bibliothèque de Twitter Ce produit a été développé par Twitter après une anomalie détectée sur la série temporelle due à l’augmentation de photos téléchargées sur ce réseau social les soirs de Noël et du Nouvel An. Cela a poussé Twitter à réaliser ce projet open source en R qui détecte automatiquement de telles anomalies dans le Big Data de manière pratique et robuste. Le "package"= paquetage est réalisé en utilisant une décomposition de séries temporelles et en utilisant des métriques statistiques robustes , à savoir la médiane et l’ESD ("extreme 37
  • 49. CHAPITRE IV. EXPÉRIENCES & DISCUSSION studentized deviate").En outre, pour les longues séries temporelles, l’algorithme utilise une approximation par morceaux. Cela tient au fait que l’extraction de tendances en présence d’anomalies influence la détection d’anomalies. Figure IV.10 – Détection d’anomalies avec Twitter AnomalyDetection (Annexes - TS 92) Nous avons testé l’algorithme de détection de Twitter sur pyculiarity/Python développé par la communauté sur le même principe de calcul. Le résultat de test de la fonction prédéfinie pour les séries temporelles detect_ts est dans la figure IV.10. Cette fonction a besoin principalement de la série chronologique <timestamp, value> , max_anoms par défaut à 0,1 (équivalent contamination dans iForest ) et d’autres variables en tant que paramètres. Dans cet exemple l’aire sous la courbe ROC est à 75%, par contre en terme de temps d’exécution ça prenait environ 10 secondes pour appliquer le modèle sur une série de 5000 valeurs ce qui est énorme par rapport aux autres méthodes statistiques comme isolation forest (temps d’exécution inférieur à une seconde). Dans la section suivante, nous testerons des algorithmes d’apprentissage automatique. IV.3 Application de méthodes de machine learning Cette section portera principalement sur les tests des deux algorithmes Isolation Forest et LSTM. 38
  • 50. CHAPITRE IV. EXPÉRIENCES & DISCUSSION IV.3.1 L’algorithme Isolation Forest L’idée principale, qui diffère des autres méthodes de détection des valeurs aberrantes les plus répandues, est qu’Isolation Forest identifie explicitement les anomalies au lieu de profiler des points normaux de données. La forêt d’isolation, comme toute méthode d’ensemble d’arbres, est construite sur la base d’arbres de décision. Dans ces arborescences, les partitions sont créées en sélectionnant d’abord de manière aléatoire une fonctionnalité, puis en sélectionnant une valeur de fractionnement aléatoire entre la valeur minimale et maximale de la fonctionnalité sélectionnée. En principe, les valeurs aberrantes sont moins fréquentes que les observations régulières et en sont différentes en termes de valeurs (elles sont plus éloignées des observations régulières dans l’espace des fonctions). C’est pourquoi, en utilisant ce type de partitionnement aléatoire, ils doivent être identifiés plus près de la racine de l’arbre (longueur moyenne du trajet plus court, c’est-à-dire le nombre de contours qu’une observation doit laisser passer dans l’arbre allant de la racine au noeud terminal), avec moins de fractionnements nécessaires(Figure III.1). Comme pour les autres méthodes de détection des valeurs aberrantes, un score d’anomalie est nécessaire pour la prise de décision. Dans le cas de la forêt d’isolement, elle est définie comme suit : s(x,n) = 2 (− E(h(x)) c(n) ) (IV.2) où n est le nombre de nœuds externes, c(n) est la longueur moyenne du chemin d’une recherche infructueuse dans un arbre de recherche binaire et h(x) est la longueur du chemin d’observation x. Chaque observation reçoit un score d’anomalie et la décision suivante peut être prise sur sa base : • Un score proche de 1 indique des anomalies. • Un score bien inférieur à 0,5 indique des observations normales. • Si tous les scores sont proches de 0,5, l’ensemble de l’échantillon ne semble pas présenter d’anomalies clairement distinctes. Exemple pratique Nous essayons de montrer un exemple pratique en Pyhton de l’algorithme "Isolation Forest" sur notre jeu de données réelles. Nous utilisons l’implémentation de l’algorithme dans la bibliothèque Scikit-learn. Les paramètres principaux à fixer avant d’exécuter l’algorithme sont : 39
  • 51. CHAPITRE IV. EXPÉRIENCES & DISCUSSION • n_estimators : il est par défaut fixé à 100. C’est le nombre d’estimateurs de base dans l’ensemble. • max_samples : C’est le nombre d’échantillons à tirer de x pour former chaque estimateur de base. il est par défaut "auto", mais il peut prendre les valeurs int ou float : 1. Si ”auto”, alors tirez max_samples = min(256,n_samples). 2. Si int, puis tirez des max_samples échantillons. 3. Si float, puis prélevez des échantillons (max_samples × X.shape[0]). Si max_samples est supérieur au nombre d’échantillons fournis, tous les échantillons seront utilisés pour tous les arbres et donc pas d’échantillonnage. • contamination : c’est un flottant entre 0+ et 0.5 et par défaut à 0,1 dans la version 0.18 et 0,2 dans la version 0.22. Ce paramètre de contamination de l’ensemble de données, c’est-à-dire la proportion de valeurs aberrantes dans l’ensemble de données. Utilisé lors de l’ajustement pour définir le seuil de la fonction de décision. Dans ce cadre de projet de Dataveillance (i.e surveillance de données), la Figure IV.11 ci après montre les valeurs aberrantes détectées par l’algorithme. Nous avons laissé les valeurs par défaut pour max_samples et n_estimators, mais nous avons mis la valeur de contamination à 0.003 vu la densité des données. Cette méthode détecte les anomalies uniquement sur la base du concept d’isolation sans utiliser de mesure de distance ou de densité, fondamentalement différente de toutes les méthodes existantes. 40
  • 52. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Figure IV.11 – Application de l’algorithme IF Nous avons essayé dans cette phase de test de l’algorithme d’ajouter des informations telles que la moyenne mobile aux données initiales en prétraitement, mais cette expérience n’a pas abouti à donner des meilleurs résultats. IV.3.2 Détection des anomalies avec LSTM Une solution consiste à utiliser les LSTM pour créer un modèle de prévision, c’est -à- dire à partir des valeurs actuelles et passées, prévoir les prochaines étapes de la série chronologique. Ensuite, une erreur de prédiction donne une indication d’anomalie. Par exemple, si l’erreur de prédiction est élevée, cela indique une anomalie. Une autre méthode consiste à utiliser directement LSTM en tant que classificateur avec deux classes : normale et anormale. Données de l'api hub'eau Extraction des champs de la série chronologique Données brutes Prétraitement Lstm Détection d'anomalies Figure IV.12 – Chaîne de traitement 41
  • 53. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Exemple d’application A l’aide de scikit-learn et l’implémentation du LSTM dans la bibliothèque Keras, nous avons pu tester ce type de réseaux de neurones sur les données piézométriques. Avant d’exécuter cet algorithme de machine learning, nous allons décomposer notre jeu de données en 70% d’entraînement et 30% pour le test. Comme tout algorithme, il fallait le paramétrer selon les spécificités de nos séries chronologiques univariées. Nous avons mis le nombre de neurones à 3 et le nombre d’époques à 10. Pour prédire une valeur l’algorithme utilisera les 10 précédentes, par exemple pour prédire t il faut utiliser l’ensemble [(t−10),(t− 9)...(t − 1)]. La première étape consiste à créer un modèle Keras avec le constructeur Sequential(). La première couche du réseau est une couche d’intégration des données d’entraînement. Les trois couches suivantes sont des couches d’apprentissage. Un "optimiseur" est l’un des deux arguments nécessaires à la compilation d’un modèle Keras. Dans notre exemple l’optimiseur est Adam avec un taux d’apprentissage lr = 0.0005. Lors du calcul de l’erreur du modèle, pendant le processus d’optimisation, une fonction de perte doit être choisie. Cela peut être un problème difficile, car la fonction doit capturer les propriétés du problème. Nous avons utilisé la fonction de perte Erreur quadratique moyenne (MSE), c’est la somme des distances au carré entre les valeurs cibles et les valeurs prédites. Figure IV.13 – Lstm pour détecter les valeurs aberrantes 42
  • 54. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Les statistiques de l’exemple (voir Figure IV.13) sont données ci-après. Elles reflètent le temps nécessaire pour construire le modèle, l’entraîner et générer les résultats prévus ainsi que d’autres valeurs telles que les moyennes de l’erreur absolue (MAE) et la moyenne quadratique (MSE) et sa racine (RMSE). Figure IV.14 – Statistiques sur l’exécution de l’exemple Dans la section suivante, nous allons évaluer et commenter l’application de quelques algorithmes sur les données piézométriques. IV.4 Évaluation Nous avons précisé dans la partie "jeu de données" de ce chapitre que nos données d’évaluation sont une centaine de séries temporelles des niveaux de nappes sur des points d’eau français choisis selon la persistance de l’information au cours du temps, mais de façon aléatoire géographiquement pour que le comportement et la tendance des séries ne soient pas proches l’un de l’autre. Pour commencer l’évaluation, il fallait étiqueter les données. Pour ce faire, la validation de l’annotation des points aberrants a été vérifiée par un hydrogéologue du BRGM. IV.4.1 Méthode d’évaluation : courbe AUC - ROC En Machine Learning, la mesure de la performance est une tâche essentielle. Ainsi, lorsqu’il s’agit d’un problème de classification, nous pouvons compter sur une courbe AUC - ROC. Quand nous avons besoin de vérifier ou de visualiser les performances du multi - problème de classification de la classe, nous utilisons AUC (Area Under Curve / aire sous la courbe ) ROC ( receiver operating characteristics curve). C’est l’un des paramètres d’évaluation les plus importants pour la vérification des performances d’un modèle de classification. Cependant, nous pouvons tracer ces courbes sans la matrice de confusion. Ainsi, elle est extrêmement 43
  • 55. CHAPITRE IV. EXPÉRIENCES & DISCUSSION utile pour mesurer les rappels, la précision et la spécificité. Cette matrice est un tableau avec 4 combinaisons différentes de valeurs réelles et des données classifiées. Ces valeurs sont : • VP (vrais positifs) représente le nombre de points considérés comme "anomalies" dans la liste des points étiquetés "aberrants". • FP (faux positifs) représente le nombre de points considérés comme "normaux" dans la liste des points étiquetés "aberrants", • FN (faux négatifs) représente le nombre de points considérés comme "anomalies" dans la liste des points étiquetés "normaux", • VN (vrais négatifs) représente le nombre de points considérés comme "normaux" dans la liste des points étiquetés "normaux". La sensibilité (ou Rappel) est la valeur donnée par les données détectées correctement comme anomalies (VP) sur toutes les classes positives (VP+FN) : sensibilité = V P V P + FN (IV.3) La sensibilité et la spécificité (ou Précision) (i.e Figure IV.15)sont inversement proportionnelles. Donc, lorsque nous augmentons la sensibilité, la spécificité diminue et inversement. La spécificité est la valeur donnée par : spécificité = V N V N + FP (IV.4) 44
  • 56. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Figure IV.15 – Précision et Rappel [19] Un excellent modèle a une AUC proche de 1, ce qui signifie qu’il a une bonne mesure de séparabilité. Un modèle médiocre a une AUC proche de 0, ce qui signifie que sa séparabilité est la pire mesure. En fait, cela signifie qu’il prédit que les 0 sont des 1 et les 1 sont des 0. Et lorsque l’aire sur la courbe est de 0,5, cela signifie que le modèle n’a aucune capacité de séparation de classe. IV.5 Discussion iForest Nous avons fait l’évaluation sur les ensembles des données en choisissant deux valeurs du paramètre contamination d’Isolation Forest. La mesure d’intégrale ou de l’aire sous la coube 45
  • 57. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Roc (AUC) a donné une valeur de performance de 75% ( voir annexes) pour une valeur de contamination de 3 1000 d’anomalies. La valeur de l’AUC (67%) était inférieure pour une contamination de 7 1000. Cette différence est dû au fait que la plupart de nos séries temporelles ne contenait pas beaucoup de point aberrants de type "pic" ce qui est plutôt bien pour la qualité du système d’acquisition. Figure IV.16 – Evaluation iForest : Matrice de confusion et courbe ROC (voir Annexes-TS 99) La figure IV.16 montre bien que la performance l’algorithme Isolation Forest à détecter les valeurs aberrantes sur cet exemple. Notamment le tableau ci-dessus prouve que "iForest" est plus performant sur tout le jeu de données au niveau de la détection mais aussi en temps de calcul par rapport à Prophet ainsi qu’au filtre basé sur la moyenne mobile. Algorithme AUC Prophet 0.60 Moyenne mobile 0.65 Isolation Forest 0.75 PyOD La bibliothèque PyOD[11] est une boîte à outils Python complète et évolutive permettant de détecter des objets distants dans des données. Depuis 2017, PyOD a été utilisé avec succès dans diverses recherches universitaires et produits commerciaux. Nous l’avons testé dans une série chronologique des données piézométriques sur les algorithmes suivants respectivement (Figures IV.17) : 46
  • 58. CHAPITRE IV. EXPÉRIENCES & DISCUSSION 1. Angle-based Outlier Detector (ABOD) : La méthode ABOD est particulièrement utile pour les données de grande dimension, car l’angle est une mesure plus robuste que la distance dans un espace de grande dimension. 2. Cluster-based Local Outlier Factor (CBLOF) : CBLOF utilise une heuristique pour classer les clusters résultants en grands et petits clusters. Enfin, un score d’anomalie est calculé en fonction de la distance de chaque instance par rapport à son centre de cluster multiplié par les instances appartenant à son cluster. 3. Feature Bagging : Bootstrap Aggregation (ou Bagging en abrégé) est une procédure générale qui peut être utilisée pour réduire la variance pour les algorithmes ayant une variance élevée. Les algorithmes à variance élevée sont des arbres de décision, comme les arbres de classification et de régression (CART). 4. Histogram-base Outlier Detection (HBOS) : HBOS est un algorithme de détection de valeurs aberrantes basé sur un histogramme. 5. Isolation Forest ( voir chapitre III) 6. K Nearest Neighbors (KNN) : L’algorithme KNN) est un algorithme d’apprentissage automatique supervisé qui peut être utilisé pour résoudre les problèmes de classification et de régression. 7. Average KNN : c’est une variante de KNN. Un super échantillon est créé pour chaque classe, qui correspond à la moyenne de chaque échantillon d’apprentissage de cette classe particulière. 8. Local Outlier Factor (LOF) : LOF calcule une densité locale pour les observations avec les k-voisins les plus proches spécifiés par l’utilisateur. La densité est comparée à la densité des voisins les plus proches respectifs, ce qui donne le facteur local aberrant. 9. Minimum Covariance Determinant (MCD) : MCD est un estimateur extrêmement robuste de la localisation et de la dispersion multivariées. 10. One-class SVM (OCSVM) : OCSVM une variante de SVM avec une seule classe à classifier. 11. Principal Component Analysis (PCA) : L’idée principale de l’analyse en composantes principales (ACP) est de réduire la dimensionnalité d’un ensemble de données constitué de nombreuses variables corrélées entre elles, de manière forte ou légère, tout en conservant au maximum (la variation)/(l’information) présente dans l’ensemble de données. 47
  • 59. CHAPITRE IV. EXPÉRIENCES & DISCUSSION Figure IV.17 – Comparaisons d’algorithmes avec PyOD Le taux d’anomalies a été fixé à 3 100 pour tester tous ces algorithmes à la fois, ce qui explique qu’Isolation Forest était moins performant par rapport à d’autres méthodes dans le cas de l’exemple ci-dessus. Conclusion Nous avons présenté dans ce chapitre plusieurs méthodes pour détecter les anomalies de type "pic" ascendant et descendant. Ensuite, nous avons essayé d’évaluer quelques algorithmes sur un jeu de données étiquetés de 100 séries chronologiques. 48
  • 61. VCONCLUSION GÉNÉRALE D’ une façon générale et particulièrement sur le plan professionnel, une alternance représente sans doute une expérience enrichissante pour chaque étudiant indépendamment du fait qu’il en sorte avec des satisfactions ou des déceptions, l’essentiel c’est la découverte. Sur le plan personnel, cette année au BRGM a été très enrichissante dans la mesure où elle m’a permis de découvrir le métier d’hydrogéologue et de bien comprendre les aspects techniques de l’acquisition des informations sur les nappes d’eau et surtout les enjeux du traitement de ces données. Mais plus encore, elle m’a permis d’acquérir des compétences techniques et de me familiariser avec l’environnement Big Data de l’entreprise en mettant en pratique des algorithmes de machine learning et des outils de l’écosystème Hadoop qui constituent une nouvelle thématique de recherche et de développement très active. À titre de d’apprentissage, il semble intéressent de mettre en évidence les questions qui se posent autour de la détection d’anomalies dans les séries temporelles piézométriques. En plus, savoir comment exploiter les technologies modernes pour répondre aux attentes des thematiciens de l’entreprise afin de veiller à une exploitation durable de l’eau, la ressource nécessaire la plus rare et la plus précieuse de la Terre. En effet, une partie de mon alternance adressait ces problématiques, plus précisément, le problème des pics dans les données collectées et diffusées par le BRGM. Ainsi, la particularité de ce projet réside également dans la cohabitation du domaine mathématique et du développement informatique, qui sont liés par l’algorithmique. En premier lieu, il est primordial de prendre connaissance, de manière permanente, de l’état de l’art des techniques impliquées, des fondations mathématiques de détection d’anomalies et de la construction progressive des algorithmes avec leurs forces et leurs insuffisances/faiblesses. 50
  • 62. CHAPITRE V. CONCLUSION GÉNÉRALE C’est une attitude à cultiver, que ce soit pendant la phase de mise en place de l’environnement de développement ou durant le développement, lui même, qui peut remettre en cause les premiers choix. Ceci nécessite de s’adapter à ses situations changeantes. Ensuite, nous avons mis en test des différentes méthodes qui se décomposaient en deux grandes familles, statistiques, et Machine Learning. Par la suite, nous avons focalisé nos travaux sur l’évaluation de ces derniers. Nous comptons ajouter un service de détection d’anomalies dans le projet Pic’eau en exploitant la méthode non supervisés Isolation Forest vu la performance et les résultats de cet algorithme en mettant la contamination un paramètre à fixer dans l’API pour l’adapter aux spécificités de la série chronologique. Pour terminer, je souligne que c’est grâce au BRGM qu’il m’a été donné l’occasion de découvrir le monde professionnel. Pour cela, comme pour l’accompagnement et l’encadrement qui a été mis en place par l’entreprise, je voudrais exprimer ma sincère et profonde reconnaissance à ses dirigeants et à tous ceux qui travaillent pour cette entreprise et particulièrement ceux de la direction DISN pour leur encouragement permanent. 51
  • 63. BIBLIOGRAPHIE [1] Bernard Rosner. Percentage Points for a Generalized ESD Many Outlier Procedure. Technometrics. Université Harvard, 1983. [2] Seif-Eddine Benkabou. Détection d’anomalies dans les séries temporelles : application aux masses de données sur les pneumatiques. Université de Lyon, 2018. [3] Md Rafiqul Islam, Naznin Sultana, Mohammad Ali Moni, Prohollad Chandra Sarkar et Bushra Rahman. A Comprehensive Survey of Time Series Anomaly Detection in Online Social Network Data. International Journal of Computer Applications, 2017. [4] Markus Goldstein et Seiichi Uchida. A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data. PLOS ONE Journal, 2016. [5] Fei Tony Liu, Kai Ming Ting et Zhi-Hua Zhou. Isolation Forest. IEEE International Conference on Data Mining, 2008 [6] Sahand Hariri, Matias Carrasco Kind, et Robert J. Brunner. Extended Isolation Forest. ACM Comput. Entertain.9, 2018. 52
  • 64. BIBLIOGRAPHIE [7] S. Hochreiter and J. Schmidhuber. Long Short-Term Memory. Neural computation, vol. 9, no. 8, pp. 1735–1780, 1997. [8] F. A. Gers, J. Schmidhuber, and F. Cummins. Learning to forget : Continual Prediction with LSTM. Neural computation, vol. 12, no. 10, pp. 2451–2471, 2000. [9] Pankaj Malhotra and al. Long Short Term Memory Networks for Anomaly Detection in Time Series KTH ROYAL INSTITUTE OF TECHNOLOGY,SWEDEN. 2017. [10] AKASH SINGH. Anomaly Detection for Temporal Data using Long Short-Term Memory (LSTM). European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (ESANN). Bruges (Belgium), 22-24 April 2015. [11] Zhao, Yue et Nasrullah, Zain et Li, Zheng PyOD : A Python Toolbox for Scalable Outlier Detection. Journal of Machine Learning Research,2019. Webographie [12] Bureau de recherches géologiques et minières https://fr.wikipedia.org/ wiki/Bureau_de_recherches_géologiques_et_minières [13] Organigramme du BRGM https://m.brgm.fr/sites/default/files/ organigramme_brgm_2019-03.pdf [14] La surexploitation des eaux souterraines : Enjeux et gouvernance https://www. cairn.info/revue-natures-sciences-societes-2004-2-page-146. html [15] Hub’Eau : http://hubeau.eaufrance.fr/ [16] Plateforme ouverte des données publiques françaises : https://www.data.gouv. fr/fr/datasets/piezometres/ 53
  • 65. BIBLIOGRAPHIE [17] LES 3 DIFFÉRENTS TYPES D’ANOMALIES https://leanbi.ch/fr/blog/ les_3_differents_types_danomalies/ [18] Isolation forest : the art of cutting off from the world, T. Fuertes, 2018 https:// quantdare.com/isolation-forest-algorithm/ [19] Précision et rappel https://fr.wikipedia.org/wiki/Précision_et_ rappel#/media/Fichier:Precisionrappel.svg 54
  • 67. AAnnexes : Étiquetages des données de test Dans ce chapitre nous allons afficher une partie du travail d’étiquetage, rassemblé dans un document. L’évaluation a été faite sur ce jeu de données piézométrique (ci-après un exemple). 56
  • 68. ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST Étiquetage des données TS 1: manual_anomaly_list_index=[754, 755, 756] TS 2: manual_anomaly_list_index=[] TS 3: manual_anomaly_list_index=[3959, 3960] TS 4: manual_anomaly_list_index=[] TS 5: manual_anomaly_list_index=[129,189] TS 6: manual_anomaly_list_index=[ 2852, 2853, 2854, 2855, 2856, 2857, 2858,2859] TS 7: manual_anomaly_list_index=[548, 549, 550] TS 8: manual_anomaly_list_index=[347, 348, 349,3569, 3570,3571] 57
  • 69. ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST TS 9: manual_anomaly_list_index=[176,177,178] TS 10: manual_anomaly_list_index= [4540, 4541, 4542] TS 11: manual_anomaly_list_index= [2930, 2931, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985] TS 12: manual_anomaly_list_index= [606, 607, 733] TS 13: manual_anomaly_list_index=[ 1588] TS 14: manual_anomaly_list_index= [707, 708, 709, 712, 713, 719, 720, 721, 722] TS 15: manual_anomaly_list_index= [2062, 2063] TS 16: manual_anomaly_list_index= [2786, 3011, 3113, 3124] 58
  • 70. ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST TS 17: manual_anomaly_list_index= [] TS 18: manual_anomaly_list_index=[ 2124, 2128, 2135, 2143, 2144, 2157, 2167, 217 1] TS 19: manual_anomaly_list_index= [2400, 2861, 2862, 2863, 2864, 2876, 2877, 2878, 2880, 2989] TS 20: manual_anomaly_list_index= [858, 895] TS 21: manual_anomaly_list_index=[] TS 22: manual_anomaly_list_index= [2309] TS 23: manual_anomaly_list_index= [ 604, 605] TS 24: manual_anomaly_list_index=[] 59
  • 71. ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST TS 25: manual_anomaly_list_index=[ 18, 19] TS 26: manual_anomaly_list_index=[] TS 27: manual_anomaly_list_index= [580, 581, 582] TS 28: manual_anomaly_list_index= [2996, 2997, 2998, 299] TS 29: manual_anomaly_list_index=[] TS 30: manual_anomaly_list_index=[1419] TS 31: manual_anomaly_list_index= [ 451, 452, 453] TS 32: manual_anomaly_list_index= [ 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88] 60
  • 72. ANNEXE A. ANNEXES : ÉTIQUETAGES DES DONNÉES DE TEST TS 33: manual_anomaly_list_index=[] TS 34: manual_anomaly_list_index= [370, 371, 372 ] TS 35: manual_anomaly_list_index= [3099] TS 36: manual_anomaly_list_index= [0, 1, 6, 7, 52] TS 37: manual_anomaly_list_index=[ 4092] TS 38: manual_anomaly_list_index= [ 34,67] TS 39: manual_anomaly_list_index= [ 1121] TS 40: manual_anomaly_list_index= [48, 49, 51, 514] 61
  • 73. BAnnexes : Exemple : Évaluation d’Isolation Forest Cette section d’annexes est réservée pour le tableau "Excel" (ci-après) qui contient l’évaluation de l’algorithme isolation forest sur les données piézométriques de test et avec deux valeurs de contamination choisies selon la densité des séries chronologiques. 62
  • 74. ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST Évaluation : ISOLATION FOREST Code_bss IF AUC(cont= 0,003) IF AUC(cont=0,007) 07657X0018/P1 0,64 0,6 06667X0006/P1 0,54 0,5 06894X0018/P1 0,57 0,59 00217X0068/P1 0,63 0,64 00057X0032/S1 0,75 0,75 06426X0015/P1 0,75 0,71 03783X0046/71 0,8 0,8 07143X0017/P1 0,73 0,74 07853X0027/P1 0,62 0,6 00172X0037/P1 0,6 0,59 00286X0037/P1 0,94 0,9 09761X0106/R1 0,7 0,66 08275X0068/F 0,54 0,51 06638X0048/P1 0,77 0,8 01205X0448/P1 0,67 0,66 00574X0053/S1 0,7 0,69 04538X0027/F 0,62 0,6 04555X0093/F1 0,98 0,9 12288X0089/PIEZO. 0,57 0,54 06505X0093/PZ10 0,68 0,58 10197X0554/PZ10 0,57 0,53 05986X0103/P16-20 0,65 0,56 07004X0046/D6-20 0,58 0,53 02706X0074/S77-20 0,7 0,58 04131X0111/120 0,75 0,61 04137X0009/C20 0,65 0,65 09654X0569/CNRP20 0,73 0,61 09924X0136/PZ20 0,6 0,63 04133X0006/30 0,86 0,7 03786X0074/130 0,8 0,63 09406X0643/P130 0,97 0,74 03426X0223/140 0,75 0,66 09145X0059/N340 0,77 0,63 09735X0070/P40 0,8 0,7 03791X0042/V50 0,78 0,68 09892X0679/EXH70 0,77 0,66 08022X0013/SP0 0,61 0,55 09648X0083/F90-1 0,77 0,67 01987X0124/631-1 0,88 0,8 10906X0039/C2-1 0,93 0,7 06216X0226/P30-01 0,73 0,67 07662X0277/45B-01 0,96 0,71 04514X0018/01 0,99 0,72 09788X0014/PCE101 0,62 0,7 63
  • 75. ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST 00955X0023/S1 0,99 0,87 02645X0038/D601 0,77 0,61 09505X0034/GO01 0,67 0,57 02588X0006/S1 0,67 0,64 01373X0132/P01 0,77 0,62 10383X0025/111111 0,83 0,72 09645X0035/111111 0,86 0,77 10972X0088/111111 0,92 0,71 05373X0545/5411 0,67 0,57 07791X0220/PZEM11 0,96 0,71 04808X0027/N11 0,64 0,64 12288X0078/P11 0,83 0,64 04454X0033/S11 0,99 0,87 05986X0106/P16-21 0,69 0,58 05005X0131/CG-21 0,77 0,62 04138X0005/21 0,85 0,8 09516X0030/P21 0,97 0,7 09931X0263/PZ21 0,57 0,53 04434X0089/P 0,62 0,62 05202X0099/P 0,54 0,51 BSS002PZXU/P 0,99 0,99 09436X0138/1P 0,67 0,61 09437X0036/23P 0,77 0,63 04132X0413/VN5P 0,59 0,68 00684X0051/F-AEP 0,67 0,65 04997X0002/AEP 0,99 0,83 10592X0012/AEP 0,93 0,97 05124X0509/AEP 0,98 0,99 05432X0024/F1AEP 0,73 0,69 05458X0002/F2AEP 0,73 0,76 02533X2003/PCAEP 0,73 0,71 05411X1010/FAEP 0,7 0,59 02905X0020/FAEP 0,99 0,93 04931X0001/FAEP 1 0,72 04604X0001/FAEP 0,57 0,53 01095X0001/FAEP 0,93 0,69 04926X0001/FAEP 0,63 0,57 05696X0002/FAEP 0,7 0,59 04862X0003/FAEP 0,73 0,76 04881X0035/FAEP 0,9 0,67 05706X0003/PFAEP 0,51 0,57 05205X0001/PAEP 0,73 0,6 05458X0003/PAEP 0,51 0,64 10944X0012/ALCAMP 0,83 0,73 06335X0003/SPOMP 0,77 0,71 07167X0089/ESP 0,7 0,61 07095X0117/CAR 0,53 0,51 64
  • 76. ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST 10971X0198/LAFAR 0,8 0,63 01322X0049/PZADER 0,77 0,66 10953X0022/GORNER 0,56 0,52 10908X0263/FIGUER 0,63 0,61 09975X0009/FR 0,9 0,67 10402X0046/BOUR 0,53 0,56 06331X0010/S 0,96 0,69 06123X0040/S 0,99 0,98 MOYENNE = 0,75 0,670246914 65
  • 77. ANNEXE B. ANNEXES : EXEMPLE : ÉVALUATION D’ISOLATION FOREST 66