network community

Analyse de Flux Dirigés avec Granularité Variable (Performance/Complexité)

Scénario de test & Cas d'usage

Contexte Métier

Un opérateur télécom analyse les flux d'appels entre antennes relais pour optimiser le routage. Les appels ont une direction (A appelle B). L'opérateur veut tester différentes échelles de regroupement (local vs régional) en une seule passe pour éviter de relancer le calcul sur des millions de lignes.
Préparation des Données

Simulation d'un réseau d'antennes avec des appels dirigés. Création d'une densité de liens plus élevée pour tester la charge et la direction.

Copié !
1 
2DATA mycas.antenna_traffic;
3call streaminit(123);
4DO i=1 to 100;
5from_ant = 'ANT_' || put(rand('Integer', 1, 10), z2.);
6to_ant = 'ANT_' || put(rand('Integer', 1, 10), z2.);
7IF from_ant ne to_ant THEN OUTPUT;
8END;
9 
10RUN;
11 

Étapes de réalisation

1
Exécution avec prise en compte de la direction et liste de résolutions multiples.
Copié !
1 
2PROC CAS;
3network.community / links={name='antenna_traffic'} direction='DIRECTED' resolutionList={0.5, 1.0, 2.0} outLevel={name='ResolutionLevels', replace=true} outNodes={name='AntennaCommunities', replace=true};
4 
5RUN;
6 

Résultat Attendu


L'action doit produire une table `ResolutionLevels` contenant les résultats pour les résolutions 0.5, 1.0 et 2.0. La table `AntennaCommunities` doit refléter la structure dirigée (A->B n'implique pas B->A pour l'appartenance communautaire si le flux est asymétrique).