Grille de score
Transcription
Grille de score
Construction à partir d’une régression logistique Ricco RAKOTOMALALA Université Lumière Lyon 2 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 1 PLAN 1. Position du problème – Grille de score ? 2. Construction à partir des coefficients de la régression logistique 3. Processus d’affectation via le score 4. Traitement des variables explicatives quantitatives 5. Grille de score à partir du couplage AFCM et ADL (DISQUAL) 6. Bibliographie Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 2 Construire une grille de notation des individus indiquant leur « degré de positivité » (propension à être positif) Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 3 Contexte du « scoring » Contexte : apprentissage supervisé, • une variable cible Y binaire {+, - } • des descripteurs tous qualitatifs (codés 0/1, codage disjonctif complet) Exemple : apprécier les chances d’acceptation d’une demande de financement (un crédit) d’un achat effectuée par un client [oui = +, non = -] Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Acceptation 0 0 1 1 0 oui 0 1 0 0 1 non 0 1 0 0 1 non 0 1 0 1 0 oui 0 0 1 1 0 non 0 1 0 1 0 non 0 0 1 0 1 non 0 0 1 1 0 oui 0 0 1 1 0 oui 0 0 1 1 0 oui Motif : {App. Ménager, Mobilier, Hi Fi} Assurance : {oui, non} Variable cible : Y = Acceptation {+, -} On dispose de n = 944 observations Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 4 Grille de score = grille de notation Permettant d’apprécier les chances du client de se voir octroyer un crédit La grille de notation doit être calibrée, par ex. de 0 à 100. Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Note 20 0 7 80 0 Ex. 1 : client effectuant une demande pour « motif = mobilier » et ne prenant pas d’assurance « assurance = non » se voit attribuer la note 0 + 0 = 0 il a un minimum de chances de voir acceptée sa demande de crédit (pire cas). Ex. 2 : client effectuant une demande pour « motif = appareil ménager » et prenant une assurance « assurance = oui » se voit attribuer la note 20 + 80 = 100 il maximise ses chances de voir acceptée sa demande crédit (meilleur cas). Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 5 Point de départ : résultats de la régression logistique [Equation LOGIT] « Acceptation = oui » est la modalité « positive » Attribute constant Coef. 1.12037 « Motif = App.Ménager » est la modalité de référence M otif_M obilier -0.50059 M otif_HiFi -0.32038 « Assurance = oui » est la Assurance_non -1.98367 modalité de référence (1) EXP(Coef) = Odds-ratio surcroit de chances d’être positif Par rapport à ceux qui prennent une assurance, ceux qui n’en prennent pas ont 7.26 [ 1/exp(-1.98)] fois plus de chances d’essuyer un refus que de voir leur demande acceptée. (2) Calcul de la probabilité d’être positif (1ère version du « score ») X : (Motif = mobilier, Assurance = non) LOGIT = 1.12037 + (-0.50059) + (-1.98367) = -1.36389 P(Acceptation = oui / X) = 1/(1+ exp(-LOGIT)) = 0.204 NB. Le « pire cas » n’équivaut pas à une probabilité nulle ! On dispose déjà d’un système d’évaluation et de notation, mais il est peu intuitif, totalement abscons pour un non spécialiste… Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 6 Comment faire la transition ? Coefficients de la Grille de score régression logistique Attribute constant (Notation calibrée 0 à 100, ou 0 à 1000, etc.) Coef. Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non 1.12037 M otif_M obilier -0.50059 M otif_HiFi -0.32038 Assurance_non -1.98367 Note 20 0 7 80 0 Accessible aux non-spécialistes Directement exploitable en déploiement La grille est invariante par rapport au choix de la modalité de référence Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 7 A partir des coefficients de la régression logistique Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 8 Réécriture du LOGIT : caler la note minimale à 0 Attribute constant Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Coef. 1.12037 0.00000 -0.50059 -0.32038 0.00000 -1.98367 Etape 2 : Détection des valeurs min des coefficients par variable (la constante est mise de côté) Attribute Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Coef. 0.00000 -0.50059 -0.32038 0.00000 -1.98367 Minmotif = -0.50059 Minassurance = -1.98367 Etape 1 : faire apparaître les modalités de référence Etape 3 : Correction par variable pour rendre positifs tous les coefficients Coef + |Minvariable| Attribute Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Coef. 0.50059 0.00000 0.18021 1.98367 0.00000 Les points attribués seront toujours positifs Le minimum des points est égal à 0 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 9 Mise à l’échelle : caler la note maximale à 100 (ou 1000, ou 10000, etc.) Etape 4 : identifier le maximum des points Attribute Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Coef. 0.50059 0.00000 0.18021 1.98367 0.00000 (attention si des coefs. sont > 0, maxvariable est différent de |minvariable|) Maxmotif = 0.50059 MAXpoints = 0.50059 + 1.98367 = 2.48426 Maxassurance = 1.98367 Etape 5 : Calculer le Etape 6 : Multiplier les points modalités facteur de correction par le facteur de correction 0.50059 x 40.25342 20 100 MAX points 100 2.48426 40 .25342 Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Score 20 0 7 80 0 Les notes par modalité sont arrondies pour faciliter la lecture Le score est calibré, il est compris entre 0 et 100 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 10 Reproduire le processus d’affectation basé sur le LOGIT Calculer la valeur seuil du SCORE Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 11 Règle d’affectation basée sur le LOGIT Pour un individu à classer, on s’appuie sur le LOGIT Comment déterminer la valeur seuil si on s’appuie sur le score ? a0 Yˆ ( ) a1 x1 ( ) a2 x2 ( ) ˆ a0 Y ( ) seuil Yˆ ( ) SCORE ( ) ˆ seuil Y ( ) Il faut transformer la constante a0 du LOGIT en respectant le schéma de constitution du score. Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 12 Calcul du seuil d’affectation 1. Chaque variable a été corrigée de |Minvariable| 2. Somme des corrections : S = |Minvariable| 3. Seuil d’affectation avant calibrage : C = S - a0 4. Seuil d’affectation après mise à l’échelle du score : SEUIL = x C Attribute constant Motif_AppMenager Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non Coef. 1.12037 0.00000 -0.50059 -0.32038 0.00000 -1.98367 (Minmotif = -0.50059 ; Minassurance = -1.98367) S = 0.50059 + 1.98367 = 2.48426 On reproduit à l’identique le comportement de la régression logistique avec la règle de décision : 54 .9 Yˆ ( ) SCORE ( ) ˆ 54 .9 Y ( ) C = 2.48426 – 1.12037 = 1.36389 SEUIL = 40.25342 x 1.36389 = 54.9 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 13 Discrétisation (découpage en classes) des variables quantitatives Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 14 Transformation des variables quantitatives en indicatrices (1) Un arbre de décision permet de répondre à ces spécifications Etape 1 : découpage en classes Comment choisir le nombre de classes ? Comment choisir les bornes de découpage ? Découpage en fonction de la variable cible Y ! 3 intervalles avec les bornes (2030 et 3137.5) NB. La méthode MDLPC (Fayyad & Irani, 1993) disponible dans de nombreux logiciels (Tanagra, Weka, R [package ‘’discretization’’], etc.) est un arbre de décision avec une règle d’arrêt spécifique à la discrétisation. Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 15 Transformation des variables quantitatives en indicatrices (2) [3137.5 ; +[ [2030 ; 3137.5[ Etape 2 : codage disjonctif complet à partir des intervalles. Attention (1), codage non imbriqué parce qu’on ne sait pas si l’effet est monotone ; (2) le premier intervalle sert de modalité de référence. Régression logistique Attribute Coef. constant 1.59696 REV.A : [0 ; 2030[ 0.00000 REV.B : [2030 ; 3137.5[ -1.72488 REV.C : [3137.5 ; +00[ 0.02628 Motif_AppMenager 0.00000 Motif_Mobilier Motif_HiFi Assurance_oui Assurance_non -0.27986 -0.10055 0.00000 -2.07249 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ Revenu.Menage 2264 2181 4265 4431 3008 3042 4237 8454 3797 5193 REV.B REV.C 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 Grille de score Attribute REV.A : [0 ; 2030[ REV.B : [2030 ; 3137.5[ REV.C : [3137.5 ; +00[ Moti f_AppMena ger Moti f_Mobi l i er Moti f_Hi Fi As s ura nce_oui As s ura nce_non Score 42 0 43 7 0 4 51 0 16 Couplage AFCM (analyse factorielle des correspondances multiples) et ADL (analyse discriminante linéaire) Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 17 La méthode DISQUAL (Saporta, 1975) Calcul en 3 étapes : (1) AFCM sur les descripteurs (catégoriels ou discrétisés) (2) ADL sur une sélection (*) des facteurs de l’AFCM (3) Reconstitution de la fonction de classement sur les indicatrices originelles (*) Il est possible de les prendre tous (*) En ne sélectionnant que « q » premiers les plus pertinents, on peut obtenir des résultats plus stables (on a une meilleure régularisation, c’est une forme de « nettoyage » des données) Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 18 DISQUAL sur acceptation de crédit Coefficients Appliqués aux indicatrices des variables actives Attribute = Value AFCM : Coefficients des fonctions Motif = AppMenager Motif = Mobilier Axis_1 Axis_2 Axis_3 0.9750 -1.3746 -0.9750 -0.4900 -0.3314 0.4900 0.2617 0.7349 -0.2617 permettant d’obtenir les coordonnées Motif = HiFi factorielles des individus Assurance = oui -0.1633 0.0000 -0.1633 Assurance = non 1.5308 0.0000 1.5308 Attribute Coef. ADL : Fonction SCORE (obtenue par M CA_1_Axis_1 -0.4750 différenciation des fonctions de M CA_1_Axis_2 -0.0402 classement [oui – non]) définie sur M CA_1_Axis_3 -0.7749 les facteurs Fonction SCORE définie sur les indicatrices des variables originelles constant 0.6071 A ttri bute = V a l ue Coef. Constant 0 .6 0 7 1 Motif = AppMenager 0 .3 4 7 8 Motif = Mobilier -0 .1 3 3 6 Motif = HiFi 0 .0 4 8 9 Assurance = oui 0 .2 0 4 1 Assurance = non -1 .9 1 3 3 Ex. aMotif=AppMenager = -0.4750 x (0.9750) + (-0.0402) x (-1.3746) + (-0.7749) x (-0.9750) = 0.3478 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 19 Grille de score via DISQUAL Grille de score Attribute = Value Note (/100) Moti f = AppMena ger Moti f = Mobi l i er Moti f = Hi Fi As s ura nce = oui As s ura nce = non 19 0 7 81 0 Au final, la grille de score est très proche de celle de la régression logistique… ce n’est pas étonnant… ce sont là deux classifieurs linéaires. Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 20 Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 21 G. Saporta, « Probabilités, Analyse de données et Statistique », Technip, 2006 ; pp. 462 à 467, section 18.4.3 « Un exemple de ‘’credit scoring’’ ». J.P. Nakache, J. Confais, « Statistique explicative appliquée », Technip, 2003 ; pp. 58 à 60, section 2.2.2 « SCORE : construction d’un score ». Ricco Rakotomalala Tutoriels Tanagra - http://tutoriels-data-mining.blogspot.fr/ 22