>

 Graphomaly < < <

English EN

Graphomaly - bibliotecă software pentru detectarea anomaliilor în grafuri ce modelează tranzacţii financiare

Proiect PN-III-P2-2.1-PED-2019-3248, PED 2019

Descriere şi obiective

Echipa

Documente

Articole în reviste

Articole la conferinţe

Software

Date

Scurtă prezentare a rezultatelor

Descriere şi obiective

Proiectul Graphomaly are ca scop crearea unui pachet Python pentru detecţia anomaliilor în grafuri ce modelează tranzacţii financiare, cu scopul de a descoperi comportamente frauduloase ca spălarea banilor, reţele ilegale, evaziune fiscală, escrocherii, etc. O astfel de bibliotecă este necesară în bănci, unde departamentele de descoperire a fraudelor încă se bazează mult pe experţii umani.

Urmărim să propunem şi să testăm algoritmi specifici pentru analiza grafurilor din domeniul bancar şi să aplicăm instrumente de detecţie de anomalii, între care cele bazate pe învăţarea dicţionarelor vor ocupa o poziţie importantă.

Metodele implementate vor fi capabile de procesarea grafurilor de dimensiuni mari. Vor fi proiectate metode online şi distribuite, astfel încât timpul de reacţie să fie mic şi deci fraudele să fie descoperite în fazele incipiente.

Acest proiect este finanţat de Ministerul Educaţiei şi Cercetării, CCCDI - UEFISCDI, prin proiectul PN-III-P2-2.1-PED-2019-3248, din cadrul PNCDI III.

Echipa
Cei trei parteneri implicaţi în acest proiect şi membrii echipei sunt
  • Universitatea Politehnica Bucureşti: prof. Bogdan Dumitrescu, prof. Florin Stoican, drd. Denis Ilie-Ablachim
  • Universitatea Bucureşti: conf. Paul Irofti, conf. Andrei Pătraşcu, drd. Andra Băltoiu, prof. Marius Popescu
  • Tremend Software Consulting SRL: Ioana Rădulescu, Ştefania Budulan, Alexandra Bodîrlău, Andrei Anton
Partener extern: Libra Internet Bank, furnizor al datelor despre tranzacţii.
Documente
Articole în reviste
  • B.Dumitrescu, A.Băltoiu, Ş.Budulan, "Anomaly Detection in Graphs of Bank Transactions for Anti Money Laundering Applications", IEEE Access, vol.10, pp.47699-47714, June 2022. Fişier: versiune revizuită, versiune publicată
  • A. Pătraşcu, P.Irofti, "Computational complexity of Inexact Proximal Point Algorithm for Convex Optimization under Holderian Growth", 2022. Fişier: versiune arXiv
Articole la conferinţe
  • B.Dumitrescu, D.Ilie-Ablachim, "Classification with Incoherent Kernel Dictionary Learning", Int. Conf. Control Systems and Computer Science, Bucharest, May 2021. Fişier: versiune finală
  • F.I.Miertoiu, B.Dumitrescu, "Shape Parameter and Sparse Representation Recovery under Generalized Gaussian Noise", EUSIPCO, Dublin, Ireland, Aug. 2021. Fişier: versiune finală
  • C.Rusu, P.Irofti, "Efficient and Parallel Separable Dictionary Learning", IEEE 27th International Conference on Parallel and Distributed Systems (ICPADS), Beijing, China, Dec. 2021. Fişier: versiune finală
  • P.Irofti, C.Rusu, A.Pătraşcu, "Dictionary Learning with Uniform Sparse Representations for Anomaly Detection", ICASSP, 2022. Fişier: versiune acceptată
  • D.C.Ilie-Ablachim, B.Dumitrescu, "Anomaly Detection with Selective Dictionary Learning", CoDIT, Istanbul, Turkey, May 2022. Fişier: versiune acceptată
  • P.Irofti, L.Romero-Ben, F.Stoican, V.Puig, "Data-driven Leak Localization in Water Distribution Networks via Dictionary Learning and Graph-based Interpolation", submitted to 2022 American Control Conference (ACC). Fişier: versiune trimisă
  • D.C.Ilie-Ablachim, B.Dumitrescu, "Reduced Kernel Dictionary Learning", submitted to EUSIPCO, Belgrade, Serbia, Aug. 2022. Fişier: versiune trimisă
Software
  • Graphomaly - bibliotecă Python pentru detecţia de anomalii în grafuri, scopul principal al acestui proiect: surse, documentaţie
  • dictlearn - bibliotecă Python pentru învăţarea dicţionarelor: surse, documentaţie
  • Detecţie de anomalii cu trăsături de tip egonet redus şi random walk: surse. Programe pentru articolul "Anomaly Detection in Graphs of Bank Transactions for Anti Money Laundering Applications", IEEE Access.
  • Generare de grafuri sintetice cu anomalii: surse
Date
Scurtă prezentare a rezultatelor

Biblioteca Graphomaly a fost realizată în limbajul Python. Structura prelucrărilor este ilustrată în figura de mai jos.

Graphomaly block structure

Lista tranzacţiilor bancare dintr-o perioadă de timp este transformată în graf, nodurile fiind clienţii, iar arcele tranzacţiile cumulate. Din graf se extrag trăsături, cu metode inovative ce constituie aportul teoretic al proiectului. Un succes deosebit l-au avut trăsăturile de tip egonet (graful format de vecinii unui nod central) şi egonet redus (egonet din care sunt eliminate nodurile care au doar singură o conexiune, cea cu centrul). Figura de mai jos ilustrează aceste concepte pentru un caz real. Nodul roşu este centrul egonetului, iar tranzacţiile dintre el şi nodul portocaliu sunt suspecte de fraudă. După eliminarea nodurilor verzi se obţine egonetul redus. Ansamblul trăsăturilor, format din densitatea arcelor, sume transferate, număr de conexiuni ale nodului, pentru egonet şi egonetul redus, permite detecţia, cu metode nesupervizate de învăţare automată, a anomaliilor.

Egonets Egonets

Validarea experimentală a bibliotecii Graphomaly a fost efectuată pe două tipuri de date: i) date reale furnizate de Libra Internet Bank; ii) date sintetice (un exemplu aici), constând din grafuri aleatoare în care sunt inserate structuri tipice de anomalii (clici, inele, stele). Rezultatele sunt foarte bune, pe ambele tipuri de date, spre deosebire de alte metode, care performează doar în anume condiţii, în special pe date artificiale. Timpii de execuţie pe date mari, adică grafuri cu sute de mii de noduri, sunt adecvaţi utilizării în aplicaţii bancare. Mai multe informaţ despre rezultate şi contribuţii pot fi găsite în acest articol. Având în vedere şi structura software a bibliotecii, similară unor pachete populare în învăţarea automată şi deci uşor de utilizat pentru cei specializaţi în acest domeniu, putem afirma că am produs un pachet de programe eficient, flexibil şi robust.