D'après la formulation de la question, je suppose qu'il n'y a aucun "exemple" d'anomalies (c'est-à-dire d'étiquettes). Avec cette hypothèse, une approche réalisable serait d'utiliser des auto - encodeurs : des réseaux de neurones qui reçoivent en entrée vos données et sont formés pour sortir ces mêmes données. L'idée est que la formation a permis au réseau d'apprendre des représentations des distributions de données d'entrée sous forme de variables latentes.
Il existe un type d'auto-encodeur appelé auto - encodeur de débruitage , qui est formé avec des versions corrompues des données d'origine en entrée et avec des données d'origine non corrompues en sortie. Cela fournit un réseau qui peut supprimer le bruit (c'est-à-dire la corruption des données) des entrées.
Vous pouvez former un encodeur automatique de débruitage avec les données quotidiennes. Ensuite, utilisez-le sur de nouvelles données quotidiennes; de cette façon, vous avez les données quotidiennes originales et une version non corrompue de ces mêmes données. Vous pouvez ensuite comparer les deux pour détecter des différences significatives .
La clé ici est la définition de la différence significative que vous choisissez. Vous pouvez calculer la distance euclidienne et supposer que si elle dépasse un certain seuil arbitraire, vous avez une anomalie. Un autre facteur important est le type de corruption que vous introduisez; ils doivent être aussi proches que possible des anomalies raisonnables.
Une autre option consisterait à utiliser les réseaux contradictoires génératifs . Le sous-produit de la formation est un réseau discriminateur qui distingue les données quotidiennes normales des données anormales.