Qu'est-ce que la détection des anomalies ?
Définition de la détection des anomalies
La détection des anomalies est le processus qui consiste à identifier des points de données en dehors de la norme dans un ensemble de données ou un système. Lors de l'analyse des données ou de l'utilisation du Machine Learning, la détection des anomalies signale les instances qui ne se conforment pas à vos schémas ou à vos modèles statistiques habituels. Les anomalies peuvent être des valeurs anormales, des changements inattendus ou des erreurs. Tout dépend du type de données que vous analysez et des éventuels paramètres prédéfinis que vous avez appliqués. La détection des anomalies est utile, car vous pouvez rapidement cibler des menaces ou des problèmes potentiels, et préserver l'intégrité et la fiabilité de votre système.
Types d'anomalies
Voici quelques types d'anomalies que les méthodes de détection peuvent révéler. (Il est important de noter que ces catégories ne s'excluent pas entre elles ; les anomalies peuvent présenter des caractéristiques de plusieurs catégories.)
- Les anomalies ponctuelles sont des points de données individuels qui sont sensiblement différents du reste de l'ensemble de données. Il peut s'agir, par exemple, d'un achat par carte bancaire d'un montant élevé inhabituel pour le détenteur de cette carte. Il faut alors examiner cette anomalie ponctuelle pour déterminer s'il s'agit d'une fraude à la carte bancaire.
- On parle d'anomalies contextuelles lorsque le comportement normal d'un point de données est susceptible de varier en fonction du contexte. Il peut s'agir, par exemple, d'un site de détail constatant une augmentation majeure de son trafic réseau et de ses ventes le jour du Black Friday, qui est le jour le plus chargé de l'année en ce qui concerne le shopping. Un tel pic serait anormal à d'autres moments de l'année. Aussi, des paramètres spéciaux sont définis pour cette journée.
- Les anomalies collectives impliquent un groupe de points de données qui affichent un comportement anormal lorsqu'ils sont ensemble, même s'ils semblent normaux lorsqu'on les prend individuellement. On identifie ces anomalies en observant les relations ou les schémas sur plusieurs points de données. Une attaque par déni de service (DDoS) est un exemple d'anomalie collective, car elle crée du trafic à partir de plusieurs sources qui ne correspond pas à un schéma de trafic normal.
- Les anomalies temporelles et les anomalies de séries temporelles se produisent lorsqu'il y a des écarts dans les données d'une séquence temporelle, par exemple une séquence d'événements ou un changement saisonnier. Il peut s'agir, par exemple, d'un changement dans la haute saison touristique vers une destination de vacances, de schémas météorologiques inhabituels lors d'une saison donnée, ou d'un afflux de trafic alors que ce n'est pas l'heure de pointe.
- En ce qui concerne les anomalies spatiales et les anomalies géographiques, ce sont des anomalies qui se produisent dans les données spatiales ou géographiques. Il est possible de repérer ces anomalies en étudiant les relations spatiales qui existent entre les points de données. Par exemple, dans les données de santé publique, une concentration élevée inhabituelle d'individus diagnostiqués malades dans une région spécifique constituerait une anomalie spatiale considérée comme une épidémie localisée.
Pourquoi la détection des anomalies est-elle importante ?
La détection des anomalies est importante, car elle vous aide à identifier les schémas, comportements ou événements inhabituels susceptibles d'entraîner des problèmes par la suite. Votre organisation peut être alertée sur les éventuels risques, inefficacités et anormalités de chaque système ou ensemble de données que vous avez choisi pour les monitorer. Vous avez ainsi les informations dont vous avez besoin pour intervenir rapidement et de manière proactive avant que les problèmes ne prennent de l'ampleur. En ayant conscience de ces anomalies qui peuvent affecter différents aspects de votre entreprise, vous favorisez un fonctionnement fluide, vous pouvez vous concentrer sur les domaines à améliorer et vous vous protégez des attaques internes et externes.
Fonctionnement de la détection des anomalies
Dans le cadre de la détection des anomalies, il faut tout d'abord établir un profil de comportement de référence. Ce profil représente les schémas et comportements attendus des données lorsque tout fonctionne normalement. On le crée généralement à l'aide de données historiques ou d'un échantillon représentatif d'un comportement normal.
Une fois le profil de comportement normal établi, les nouvelles données entrantes sont comparées à ce profil. Les points de données sont évalués pour déterminer leur degré de correspondance avec les caractéristiques attendues du profil de comportement normal. Tout point de données qui s'en écarte de manière significative est alors signalé comme une anomalie. (Ces écarts peuvent être identifiés grâce à différentes techniques statistiques, des algorithmes de Machine Learning ou des approches basées sur des règles que nous expliquerons dans la prochaine section.)
Ensuite, les anomalies détectées font l'objet d'un examen plus poussé pour en déterminer les causes et les répercussions. Il est important de vérifier les anomalies pour confirmer qu'il ne s'agit pas d'un faux positif ou d'une valeur anormale découlant d'une erreur de mesure ou de fluctuations aléatoires. Une fois les anomalies confirmées, il est temps de prendre des mesures. Il peut s'agir d'approfondir l'examen de ces anomalies, de procéder à la maintenance ou à la réparation, d'appliquer des mesures de sécurité, d'ajuster le contrôle qualité, ou de mettre en place toute autre étape qui permettrait d'en amoindrir les effets.
Techniques de détection des anomalies
La plupart des techniques de détection des anomalies se basent soit sur des règles, soit sur le Machine Learning. Dans ce dernier cas, les techniques se répartissent en trois groupes : les techniques supervisées, les techniques non supervisées et les techniques semi-supervisées. La technique à adopter dépend des exigences spécifiques qu'implique le problème que vous essayez de résoudre, ainsi que du volume de données étiquetées dont vous disposez.
Les techniques de détection des anomalies par ML supervisé sont des techniques qui s'appuient sur des données étiquetées définissant clairement les instances normales et anormales lors de l'entraînement. Le modèle apprend les schémas des données normales, puis classe les nouveaux points de données comme étant normaux ou anormaux en fonction de ce qu'il a appris.
Les techniques de détection des anomalies par ML non supervisé fonctionnent sans données étiquetées. Elles partent du principe que les anomalies sont rares et qu'elles diffèrent sensiblement de la majorité des données. Ces techniques visent à identifier des schémas inhabituels, des valeurs anormales ou des écarts par rapport à un comportement normal.
Les techniques de détection des anomalies par ML semi-supervisé utilisent une combinaison de données étiquetées et non étiquetées. Elles tirent parti des données étiquetées pour établir le comportement normal de référence, puis identifient les écarts par rapport à cette référence à l'aide des données non étiquetées. Ces techniques sont particulièrement utiles lorsque vous travaillez avec des données non structurées.
Même si le Machine Learning est couramment utilisé dans la détection des anomalies, il convient de mentionner qu'il existe également d'autres techniques, comme les méthodes statistiques, les approches basées sur des règles et les techniques de traitement des signaux. Ces techniques qui n'exploitent pas le Machine Learning reposent sur des principes et des algorithmes différents pour identifier les anomalies qui se trouvent dans les données.
Cas d'utilisation de la détection des anomalies
La détection des anomalies a un vaste éventail de cas d'utilisation dans différents domaines. En voici quelques exemples :
- Cybersécurité : la détection des anomalies aide à identifier les schémas ou comportements inhabituels dans le trafic réseau, les logs système et les activités des utilisateurs. Vous pouvez ainsi repérer les cybermenaces comme les tentatives d'intrusion, les malwares et les violations de données.
- Monitoring des applications et des systèmes : la détection des anomalies est cruciale pour monitorer les performances de vos applications, de vos serveurs et de votre infrastructure réseau. Elle peut vous aider à éviter des pannes potentielles, car elle peut repérer et signaler rapidement les anomalies dans les indicateurs, tels que la latence, l'utilisation du processeur et l'utilisation de la mémoire.
- Détection de la fraude : la détection des anomalies peut se concentrer sur la fraude à la carte bancaire et identifier un vol en repérant des schémas de dépenses anormaux, des achats effectués à partir d'emplacements géographiques inhabituels et d'autres activités suspectes.
- Maintenance du matériel : vous pouvez vous servir de la détection des anomalies pour monitorer les performances de votre matériel. Vous pouvez surveiller différents aspects, comme la température du processeur, la vitesse des ventilateurs ou encore les niveaux de tension. La détection des anomalies vous permet de repérer les symptômes annonciateurs d'une panne, afin de procéder aux réparations avant que celle-ci ne se produise.
- Analyses du comportement des utilisateurs : la détection des anomalies peut analyser les schémas et les tendances de comportement des utilisateurs dans vos applications, vos sites web et d'autres plateformes en ligne, tout en évitant le profilage des utilisateurs. Elle aide à identifier les interactions utilisateur inhabituelles et peut aussi aider à personnaliser les mesures de sécurité.
Avantages de la détection des anomalies
La détection des anomalies présente de nombreux avantages. En voici quelques-uns :
- Elle vous permet de détecter les problèmes tôt avant qu'ils ne prennent de l'ampleur. Si vous repérez rapidement des anomalies, vous pouvez prendre immédiatement des mesures pour éviter tout endommagement ou interruption.
- Elle joue un rôle clé dans l'identification des activités suspectes potentiellement malveillantes, comme les cyberattaques ou la fraude. Vous pouvez ainsi repérer rapidement les menaces potentielles et améliorer votre sécurité.
- Elle peut repérer les inefficacités en étudiant les écarts par rapport aux performances optimales d'un système. Vous pouvez ainsi rationaliser vos processus et trouver de nouvelles idées pour améliorer vos systèmes de façon générale.
- Elle est vitale pour le service client car elle identifie des anomalies qui pourraient nuire à la satisfaction des clients. Il peut s'agir de perturbations de services ou d'une augmentation inhabituelle des demandes de service client pouvant indiquer l'existence d'un problème.
- La détection des anomalies basée sur le Machine Learning présente l'avantage supplémentaire de pouvoir monitorer vos systèmes à tout moment.
- Elle peut également vous aider sur le plan de la conformité réglementaire, car elle peut repérer les écarts par rapport aux exigences réglementaires et aux normes du secteur.
Limitations et défis de la détection des anomalies
Les techniques de détection des anomalies s'accompagnent de certaines limitations et certains défis. Voici quelques inconvénients dont vous devez tenir compte :
- Les modèles de Machine Learning peuvent avoir besoin d'énormes volumes de données étiquetées pour fonctionner correctement. Si le modèle d'entraînement de la détection des anomalies n'a pas suffisamment de données, sa précision peut en pâtir.
- Le fait de définir des seuils inexacts peut induire l'algorithme de détection des anomalies en erreur et entraîner des signalements qui n'ont pas lieu d'être.
- Si l'algorithme a été entraîné sur un modèle ancien, désormais obsolète, les performances du modèle risquent de se dégrader. La mise à jour du modèle peut être laborieuse et chronophage.
- Même avec des seuils adaptés, l'algorithme peut être amené à générer des faux positifs (c'est-à-dire signaler des points de données normaux comme des anomalies) ou des faux négatifs (c'est-à-dire des anomalies non détectées). Il peut être difficile d'équilibrer ces deux types d'erreurs, car généralement le fait d'atténuer l'un entraîne l'augmentation de l'autre.
- Les algorithmes de détection des anomalies peuvent être sensibles au bruit dans les données ou à leur inadéquation. Vous pouvez vous servir de techniques de prétraitement et d'autres méthodes de réduction du bruit pour y pallier.
- La scalabilité peut être un véritable défi lorsque vous appliquez la détection des anomalies à des larges ensembles de données ou à des données de diffusion en temps réel. Pour pouvoir tout traiter, votre organisation peut avoir besoin d'un volume de ressources de calcul plus conséquent que celui dont vous disposez.
Bonnes pratiques en matière de détection des anomalies
Pour obtenir des résultats optimaux, il est important de suivre les bonnes pratiques en matière de détection des anomalies. En voici quelques-unes qu'il convient de garder à l'esprit :
- Avant de vous lancer, assurez-vous de bien comprendre les schémas et les caractéristiques de vos données.
- Établissez des schémas ou des seuils de référence qui soient aussi précis que possible pour les comportements attendus. Ne lésinez pas sur cette étape : dans le cas contraire, vous risquez de vous retrouver face à des obstacles par la suite.
- Choisissez une technique de détection des anomalies qui soit adaptée au type de données que votre organisation génère. (Vous pouvez combiner plusieurs techniques si vous pensez que c'est la meilleure approche.)
- Monitorez régulièrement les performances de votre système de détection des anomalies et mettez-le à jour si les données que vous produisez évoluent.
- Si vous avez des questions, veillez à ajouter dans la boucle les membres de votre équipe qui sont experts dans le domaine analysé. Ils pourront vous aider à interpréter les résultats avec plus de précision.
La détection des anomalies avec Elastic
Elastic met à votre disposition une interface claire et facile à utiliser qui s'appuie sur différentes techniques de Machine Learning pour vous permettre d'effectuer des analyses sophistiquées en temps réel de vos données. Les fonctionnalités de détection des anomalies d'Elastic comprennent notamment des workflows détaillés pour vous aider à mettre en place des tâches de détection des anomalies par Machine Learning qui soient optimales. Elles incluent également des visualisations qui facilitent la compréhension de vos anomalies et de leur cause probable, ainsi qu'une détection fiable des comportements anormaux sur vos différents domaines.
Découvrez le Machine Learning d'Elastic et l'aide que peut vous apporter Elastic Observability aujourd'hui.
Ressources sur la détection des anomalies
Kibana guide: Anomaly detection
Getting started with anomaly detection
Detecting anomalous locations in geographic data