🏦 Détecteur de blanchiment d'argent — Clustering DBSCAN en direct
Observez un véritable algorithme de clustering par densité DBSCAN scanner en direct des réseaux de transactions simulés, en signalant les groupes de comptes étroitement liés et suspects qu'une simple règle de seuil manquerait.
À propos de cette simulation
Cette simulation exécute un véritable passage DBSCAN (Density-Based Spatial Clustering of Applications with Noise) sur un réseau de transactions simulé : chaque compte bancaire simulé devient un point dans un espace de caractéristiques 3D construit à partir de sa fréquence de transaction, du montant moyen de transaction, et de sa centralité dans le réseau de comptes. Pour chaque point, l'algorithme calcule son véritable ε-voisinage, le teste par rapport au seuil de densité minPts pour décider si le point est un point central, puis étend les clusters vers l'extérieur par véritable accessibilité en densité — exactement l'algorithme de l'article de 1996 d'Ester, Kriegel, Sander & Xu, pas un blob de rayon stylisé ni un k-means rebaptisé.
🔬 Ce que ça montre
Environ 110 comptes simulés se trouvent dans un cube 3D défini par la fréquence, le montant à échelle logarithmique et la centralité. Une poignée de comptes sont semés comme des réseaux « de structuration » compacts et à haute densité — montants similaires, fréquence similaire, centralité élevée — aux côtés de clusters de clients ordinaires plus lâches et d'une dispersion de comptes irréguliers isolés. DBSCAN classe chaque point en direct comme point central (intérieur solide et dense), point frontière (accessible en densité depuis un point central mais non dense lui-même), ou bruit (une valeur aberrante inaccessible depuis aucun cluster). Les clusters qui ressortent anormalement denses et compacts sont en outre signalés en rouge comme réseaux de blanchiment potentiels.
🎮 Comment l'utiliser
Faites glisser le curseur ε (epsilon) pour changer la distance à laquelle chaque point recherche des voisins, et minPts pour changer le nombre de voisins requis pour qu'un point compte comme dense. Regardez les clusters fusionner, se scinder ou se dissoudre en bruit en temps réel à mesure que vous déplacez l'un ou l'autre curseur. Activez ou désactivez les enveloppes de clusters, cliquez sur « Régénérer le réseau » pour un nouveau scénario aléatoire, faites glisser pour orbiter dans la scène 3D, et cliquez sur n'importe quelle sphère pour inspecter les caractéristiques brutes de ce compte et sa classification actuelle central/frontière/bruit.
💡 Le saviez-vous ?
L'astuce déterminante de DBSCAN est qu'il n'a jamais besoin qu'on lui dise combien de clusters existent — un paramètre que tout algorithme de type k-means exige à l'avance. C'est exactement pourquoi il convient si bien à l'analyse de fraude : les enquêteurs savent rarement à l'avance combien de réseaux de blanchiment, le cas échéant, se cachent dans un réseau de transactions, et la catégorie de bruit de DBSCAN donne à chaque compte ordinaire un endroit où se situer sans être forcé dans un cluster.
Questions fréquentes
Qu'est-ce que DBSCAN et en quoi diffère-t-il de k-means ?
DBSCAN (Density-Based Spatial Clustering of Applications with Noise, Ester et al. 1996) regroupe les points qui sont étroitement rassemblés dans l'espace des caractéristiques, en marquant comme bruit les points situés dans des régions de faible densité. Contrairement à k-means, DBSCAN ne nécessite pas de choisir à l'avance le nombre de clusters, peut trouver des clusters de forme arbitraire plutôt que de simples blobs ronds, et produit explicitement une catégorie de valeurs aberrantes au lieu de forcer chaque point dans un cluster. Cela le rend particulièrement adapté à la détection de fraude et d'anomalies, où le nombre de groupes suspects est inconnu et où la plupart des comptes ne sont qu'un simple bruit de fond ordinaire.
Que sont les points centraux, les points frontières et les points de bruit ?
Pour un rayon epsilon (ε) choisi et un nombre minimal de voisins minPts, un point est un point central si au moins minPts points (y compris lui-même) se trouvent dans son ε-voisinage — il se situe dans une région véritablement dense. Un point frontière ne satisfait pas lui-même ce seuil de densité, mais se trouve dans l'ε-voisinage d'un point central, il est donc accessible en densité et rejoint le cluster de ce point central. Tout point qui n'est ni un point central ni accessible en densité depuis l'un d'eux est étiqueté comme bruit — une valeur aberrante qui n'appartient à aucun cluster.
Que contrôlent epsilon (ε) et minPts, et comment changent-ils le résultat ?
Epsilon définit le rayon du voisinage recherché autour de chaque point ; minPts définit le nombre de voisins (y compris le point lui-même) requis pour que ce point soit considéré comme suffisamment dense pour être un point central. Augmenter ε ou diminuer minPts facilite la satisfaction du seuil de densité, donc les clusters grandissent et fusionnent et moins de points finissent en bruit. Diminuer ε ou augmenter minPts rend le seuil plus strict, donc seuls les groupes les plus compacts survivent comme clusters et tout ce qui est plus lâche est reclassé en bruit ou se scinde en clusters plus petits.
Pourquoi DBSCAN est-il particulièrement adapté pour repérer les réseaux de blanchiment d'argent par rapport à une simple règle de seuil ?
Une règle simple telle que « signaler tout compte avec plus de N transactions par semaine » traite chaque compte indépendamment et ignore la façon dont les comptes sont liés entre eux. Les réseaux de blanchiment se manifestent généralement par un petit ensemble de comptes anormalement regroupés sur plusieurs caractéristiques à la fois — fréquence de transaction similaire, montant similaire (souvent juste en dessous d'un seuil de déclaration, un schéma appelé structuration) et centralité de réseau élevée — tout en paraissant individuellement anodins. DBSCAN détecte exactement cela : un groupe compact et anormalement dense de points mutuellement proches, que des seuils sur une seule caractéristique ne peuvent pas voir car aucune valeur de caractéristique isolée n'est extrême en soi.
Que sont l'accessibilité en densité et la connexité en densité ?
Un point q est directement accessible en densité depuis un point central p si q se trouve dans l'ε-voisinage de p. L'accessibilité en densité est la fermeture transitive de cette relation — q est accessible en densité depuis p s'il existe une chaîne de points centraux p = p1, p2, ..., pn = q où chacun est directement accessible en densité depuis le précédent. Deux points p et q sont connectés en densité si un point central o existe depuis lequel p et q sont tous deux accessibles en densité. Les clusters de DBSCAN sont précisément les ensembles maximaux de points connectés en densité ; cet enchaînement est ce qui permet à un seul cluster de serpenter à travers des régions non convexes et de forme irrégulière plutôt que de ne former que des blobs ronds.
Quelles sont les limites de DBSCAN ?
DBSCAN utilise un seul ε global et un seul minPts pour l'ensemble du jeu de données, il éprouve donc des difficultés lorsque les clusters ont des densités très différentes — un réglage adapté à un réseau de blanchiment compact peut engloutir un cluster ordinaire et lâche dans le bruit, ou l'inverse (des algorithmes comme OPTICS et HDBSCAN traitent ce problème avec une approche à densité variable). Il évolue aussi de façon à peu près quadratique avec le nombre de points sans index spatial tel qu'un arbre k-d, et ses résultats dépendent du choix d'une métrique de distance sensée et d'une mise à l'échelle des caractéristiques, car des caractéristiques à des échelles très différentes peuvent fausser la définition de ce qui compte comme « proche ».
Un véritable passage DBSCAN — de vraies requêtes de ε-voisinage, des tests de densité minPts, et une expansion de cluster accessible en densité — s'exécute en direct sur un espace de caractéristiques de transactions 3D simulé, classant chaque compte comme central, frontière ou bruit et signalant les clusters anormalement denses comme des réseaux de blanchiment potentiels.
3D · Moteur de rendu Three.js / WebGL · Cible 60 FPS · fonctionne entièrement côté client, sans installation