?> assessBias - WeAreCAS
fairAITools

assessBias

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
tableSpécifie la table de données d'entrée à analyser.
responseSpécifie la variable de réponse (cible) réelle.
sensitiveVariableSpécifie la variable sensible (par exemple, le genre, l'ethnie) pour laquelle le biais doit être évalué.
predictedVariablesSpécifie la liste des variables contenant les prédictions du modèle.
referenceLevelSpécifie le niveau de référence pour la variable sensible, qui servira de base de comparaison.
eventSpécifie la valeur de l'événement d'intérêt dans la variable de réponse.
cutoffSpécifie le seuil de classification pour convertir les probabilités prédites en décisions binaires.
modelTableSpécifie la table contenant le modèle à évaluer (ASTORE ou code DATA step).
scoredTableSpécifie la table de sortie pour stocker les résultats du scoring.
codeSpécifie le code DATA step ou DS2 pour le scoring.
frequencySpécifie la variable de fréquence.
modelTablesSpécifie les tables de modèle lorsque plusieurs sont nécessaires.
modelTableTypeSpécifie le type de table de modèle (ASTORE, DATASTEP, NONE).
nBinsSpécifie le nombre de bins pour les calculs de lift.
responseLevelsSpécifie la liste des niveaux de la variable de réponse.
rocStepSpécifie la taille du pas pour les calculs de la courbe ROC.
selectionDepthSpécifie la profondeur de sélection pour les calculs de lift.
weightSpécifie la variable de pondération.
Préparation des Données
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`).

data casuser.HMEQ_PRED;
  set sampsio.hmeq;
  if _n_=1 then call streaminit(123);
  P_BAD1 = rand('UNIFORM');
  P_BAD0 = 1 - P_BAD1;
run;

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
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
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?