fairAITools

assessBias

L'essentiel
L'essentiel
Dans un écosystème décisionnel moderne, l'action assessBias du package fairAITools s'impose comme le rempart indispensable contre les dérives algorithmiques. Conçue pour les Data Scientists soucieux d'éthique, elle automatise l'extraction de métriques de disparité afin d'analyser comment un modèle traite divers groupes démographiques. Intégrer cet outil dans vos pipelines SAS Viya permet non seulement de valider la conformité de vos déploiements, mais aussi de renforcer la confiance envers vos systèmes d'IA. Cette page regroupe l'ensemble des questions techniques et des réponses stratégiques pour maîtriser l'évaluation de l'équité au sein de vos projets.

Description

L'action `assessBias` du jeu d'actions `fairAITools` est un outil essentiel pour évaluer l'équité des modèles prédictifs. Elle calcule un ensemble complet de métriques de biais, permettant aux data scientists d'identifier et de quantifier les disparités de performance du modèle entre différents sous-groupes démographiques. Cette évaluation est cruciale pour garantir que les modèles ne perpétuent pas ou n'amplifient pas les biais existants, favorisant ainsi le développement d'une IA responsable et éthique.

fairAITools.assessBias result=<results> status=<rc> / table={name='<table-name>' <caslib='caslib'> <where='where-expression'>}, response={name='<variable-name>'}, sensitiveVariable={name='<variable-name>'}, predictedVariables={{name='<variable-name>'} <, {...}>}, <referenceLevel='string'>, <event='string'>, <cutoff=double>;
Paramètres
ParamètreDescription
table Spécifie la table de données d'entrée à analyser.
response Spécifie la variable de réponse (cible) réelle.
sensitiveVariable Spécifie la variable sensible (par exemple, le genre, l'ethnie) pour laquelle le biais doit être évalué.
predictedVariables Spécifie la liste des variables contenant les prédictions du modèle.
referenceLevel Spécifie le niveau de référence pour la variable sensible, qui servira de base de comparaison.
event Spécifie la valeur de l'événement d'intérêt dans la variable de réponse.
cutoff Spécifie le seuil de classification pour convertir les probabilités prédites en décisions binaires.
modelTable Spécifie la table contenant le modèle à évaluer (ASTORE ou code DATA step).
scoredTable Spécifie la table de sortie pour stocker les résultats du scoring.
code Spécifie le code DATA step ou DS2 pour le scoring.
frequency Spécifie la variable de fréquence.
modelTables Spécifie les tables de modèle lorsque plusieurs sont nécessaires.
modelTableType Spécifie le type de table de modèle (ASTORE, DATASTEP, NONE).
nBins Spécifie le nombre de bins pour les calculs de lift.
responseLevels Spécifie la liste des niveaux de la variable de réponse.
rocStep Spécifie la taille du pas pour les calculs de la courbe ROC.
selectionDepth Spécifie la profondeur de sélection pour les calculs de lift.
weight Spécifie la variable de pondération.
Préparation des Données Voir la fiche de ce code dataprep
Création de la table d'exemple pour l'évaluation de biais

Ce bloc de code crée une table CAS nommée `HMEQ_PRED` qui servira d'entrée pour l'évaluation de biais. Elle contient des informations sur des prêts immobiliers, incluant la variable cible `BAD`, une variable sensible `RACE`, et les probabilités prédites par un modèle (`P_BAD1`).

Copié !
1DATA casuser.HMEQ_PRED;
2 SET sampsio.hmeq;
3 IF _n_=1 THEN call streaminit(123);
4 P_BAD1 = rand('UNIFORM');
5 P_BAD0 = 1 - P_BAD1;
6RUN;

Exemples

Cet exemple montre comment effectuer une évaluation de biais simple en utilisant l'action `assessBias`. Il spécifie la table d'entrée, la variable de réponse, la variable sensible et la variable prédite pour calculer les métriques de biais par défaut.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 fairAITools.assessBias
3 TABLE={name='HMEQ_PRED'},
4 response={name='BAD'},
5 sensitiveVariable={name='RACE'},
6 predictedVariables={{name='P_BAD1'}};
7RUN;
Résultat :
La sortie sera une série de tables de résultats dans SAS Studio, incluant 'BiasMetrics', 'MaxBias', et 'ROCInfo', qui quantifient les différentes métriques de biais comme la parité démographique et l'égalité des chances entre les différentes valeurs de la variable 'RACE'.

Cet exemple plus avancé démontre comment affiner l'évaluation de biais. Il définit 'White' comme niveau de référence pour la variable sensible `RACE`, spécifie '1' comme l'événement d'intérêt pour la variable `BAD`, et utilise un seuil de classification (`cutoff`) de 0.4. Cela permet une analyse plus ciblée et contextuelle des biais du modèle.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 fairAITools.assessBias
3 TABLE={name='HMEQ_PRED'},
4 response={name='BAD'},
5 sensitiveVariable={name='RACE'},
6 predictedVariables={{name='P_BAD1'}},
7 referenceLevel='White',
8 event='1',
9 cutoff=0.4;
10RUN;
Résultat :
Les tables de résultats, telles que 'BiasMetrics', compareront explicitement chaque groupe de la variable 'RACE' au groupe de référence 'White'. Les calculs de la matrice de confusion et les métriques qui en découlent (comme la précision, le rappel) seront basés sur le seuil de 0.4, fournissant une évaluation de l'équité ajustée à ce point de décision spécifique.

FAQ

À quoi sert l'action `assessBias` dans SAS Viya?
Comment spécifier la table de données d'entrée pour l'évaluation du biais?
Quel paramètre est utilisé pour définir la variable sensible dans l'analyse de biais?
Comment définir la variable de réponse (cible) du modèle?
À quoi sert le paramètre `predictedVariables`?
Comment spécifier le niveau de référence pour la variable sensible?
Quelle est l'utilité du paramètre `event`?
Peut-on utiliser un modèle stocké pour l'évaluation? Si oui, comment?
Est-il possible de sauvegarder les résultats de scoring dans une table?

Scénarios associés

Cas d'usage
Évaluation de Biais d'un Modèle de Scoring de Crédit

Une institution financière souhaite s'assurer que son modèle d'octroi de crédit n'est pas discriminatoire envers certains groupes démographiques. Ce scénario teste l'évaluation ...

Cas d'usage
Test de Robustesse avec Données Manquantes dans l'Évaluation de Biais RH

Un département des ressources humaines évalue un modèle prédisant le potentiel de promotion des employés. Le jeu de données est incomplet et contient des valeurs manquantes pour...

Cas d'usage
Comparaison de Biais pour Deux Modèles Marketing sur un Grand Volume de Données

Une entreprise de e-commerce a développé deux modèles concurrents (A/B) pour prédire la réponse des clients à une campagne marketing. L'objectif est de comparer leur équité resp...