dataPreprocess binning

Scénario Performance : Analyse de Risque sur un Grand Volume de Transactions

Scénario de test & Cas d'usage

Contexte Métier

Une institution financière doit analyser des millions de transactions pour identifier des anomalies. Le montant de chaque transaction doit être discrétisé en 1000 petits intervalles. La performance de l'action est cruciale pour traiter le volume de données dans des délais acceptables. On utilise également une variable de pondération pour donner plus d'importance à certaines transactions.
À propos du Set : dataPreprocess

Nettoyage, imputation et préparation des données.

Découvrir toutes les actions de dataPreprocess
Préparation des Données

Création d'une table volumineuse (2 millions de transactions) avec un montant et une pondération.

Copié !
1DATA mycas.transactions_risk (copies=3);
2 call streaminit(456);
3 DO id_tx = 1 to 2000000;
4 montant_tx = rand('LOGNORMAL', 4, 1.5) * 100;
5 poids = ifn(montant_tx > 5000, 2, 1); /* Pondération plus forte pour les grosses transactions */
6 OUTPUT;
7 END;
8RUN;

Étapes de réalisation

1
Exécution du binning sur la table volumineuse avec 1000 classes, une variable de pondération et la création d'une table de détails.
Copié !
1PROC CAS;
2 dataPreprocess.binning /
3 TABLE={name='transactions_risk', caslib='mycas'},
4 inputs={{name='montant_tx'}},
5 method='BUCKET',
6 nBinsArray=1000,
7 weight='poids',
8 casOut={name='tx_binned', caslib='mycas', replace=true, label='Transactions discrétisées'},
9 casOutBinDetails={name='tx_bin_details', caslib='mycas', replace=true};
10RUN;

Résultat Attendu


L'action s'exécute avec succès sur les 2 millions d'enregistrements. La table `mycas.tx_binned` contient les données originales et la nouvelle variable `bin_montant_tx` avec des valeurs de 1 à 1000. La table `mycas.tx_bin_details` est créée et contient les métadonnées pour chaque classe (bornes, nombre d'observations pondéré et non pondéré), permettant aux analystes de rapidement visualiser la distribution des montants de transaction.