optNetwork connectedComponents

Detección de Anillos de Fraude en Cuentas Vinculadas

Scénario de test & Cas d'usage

Contexto empresarial

Un banco desea identificar grupos de cuentas que están vinculadas indirectamente a través de información compartida (como números de teléfono o direcciones IP) para detectar posibles redes de fraude organizado (anillos de fraude). Se busca agrupar todas las entidades conectadas en el mismo componente.
Sobre el conjunto : optNetwork

Análisis de redes y algoritmos de grafos.

Descubrir todas las acciones de optNetwork
Preparación de datos

Creación de una tabla de enlaces que representa cuentas (nodos) y sus relaciones compartidas.

¡Copiado!
1DATA mycas.fraude_links;
2 INPUT from $ to $;
3 DATALINES;
4 CuentaA Tel1
5 CuentaB Tel1
6 CuentaB IP_Addr1
7 CuentaC IP_Addr1
8 CuentaD Tel2
9 CuentaE Tel2
10 ;
11RUN;

Étapes de réalisation

1
Carga de la tabla de enlaces en memoria.
¡Copiado!
1PROC CAS;
2 TABLE.loadTable RESULT=r STATUS=s /
3 caslib="casuser"
4 path="fraude_links.sashdat"
5 casout={name="fraude_links", replace=true};
6RUN;
2
Ejecución de connectedComponents para encontrar grupos de fraude (grafos no dirigidos) utilizando el algoritmo automático.
¡Copiado!
1PROC CAS;
2 optNetwork.connectedComponents /
3 links={name="fraude_links"}
4 outNodes={name="ResultadosFraude", replace=true}
5 algorithm="AUTOMATIC";
6RUN;

Resultado esperado


Se espera que la tabla de salida 'ResultadosFraude' agrupe a CuentaA, CuentaB y CuentaC en el mismo componente (ID 1), ya que están conectadas por Tel1 e IP_Addr1. CuentaD y CuentaE formarán un componente separado (ID 2). Esto permite al banco aislar e investigar cada grupo por separado.