Vous êtes sur la page 1sur 39

Master 2 SRO

Année scolaire 2009/2010

Crédit Scoring

Professeur : RICHARD EMILION

Réalisé par : MAHAMAT OUMAR ALHABO et OULD EL HADDAD CHEIKH

Master_2_SRO_Data-Mining | 1
Table des matières

PARTIE 1

1. Résumé (Abstract)…………………………………………………….
2. Introduction………………………………………………………...…
3. Le datamining…………………………………………………………..
4. Analyse exploratoire…………………………………………..............
5. Régression logistique………………………………………………….
6. Arbres de Décision………………………………………………………
7. Réseaux de neurones……………………………………………………
PARTIE 2

1. Présentations des données……………………………………………..

2. Méthodes de classification…………………………………………….

3. Détection des incidents ………………………………………………

Conclusion……………………………………………………..........
Rapport HTML……………………………………………………..
Annexe……………………………………………………………….

Master_2_SRO_Data-Mining | 2
PARTIE 1

1.Résumé

L’objectif est d’exploiter la méthodologie et les outils du Data Mining pour


construire un score de crédit en utilisant SAS Entreprise Miner ; mais aussi
faire une macro SAS qui permet de construire une typologie de la clientèle
particulière d’une banque.

Pour cela, nous disposons d’un échantillon de 5960 individus et de 13 variables


que nous avons importé de la bibliothèque SAS la base de données
SAMPSIO.HMEQ.

Nous avons utilisé plusieurs méthodes statistiques (régression logistique, arbres


de décision et réseaux de neurones pour la première partie et les techniques de
classification pour le second) afin de construire ce score et générer cette Macro.
Les résultats ont montré l’importance des variables DEBTINC (Taux de Dette-à-
revenu), DELINQ (Nombre de crédit non remboursé), et CLAGE (du crédit le
moins récent, en mois) dans la prédiction du défaut de paiement. Le modèle
retenu comme optimal est un modèle d’arbre de décision qui permet de prédire
correctement dans plus de 85% des cas les bons payeurs.

Mots clés : Crédit scoring, Régression logistique, Arbres de décision, Réseaux


de neurones.

Master_2_SRO_Data-Mining | 3
2. Introduction

Aujourd’hui, les accords de « Bâle 2 » sur la solvabilité des banques imposent à


ces dernières de calculer des probabilités de défauts et le montant des pertes en
cas de défauts en utilisant des techniques de scoring.
Le terme Crédit Scoring désigne un ensemble d’aide à la décision et de
techniques sous jacentes utilisées par les organismes financiers pour évaluer le
risque de non remboursement d’un prêt (Thomas et al. 2002). Le crédit scoring
utilise des mesures quantitatives de performances des prêts futurs avec des
caractéristiques similaires. Le crédit scoring n’approuve, ni rejette une demande
de prêt, il peut plutôt prédire la probabilité d’occurrence de mauvaise
performance (défaut) telle que définie le prêteur (Caire et Kossmann, 2003).
Le scoring permet de résoudre un problème qui peut paraître simple en
apparence puisqu’il s’agit en effet, de classer les clients des banques entre les
« bons » et les « mauvais » payeurs.
Pour cela on utilisera les techniques de Data Mining sous SAS Enterprise
Miner 4.3, plusieurs méthodes vont être étudiées (Régression Logistique, Arbres
de décisions et Réseaux de neurones). Cependant, les approches traditionnelles
de l’inférence statistique échouent avec les grosses bases de données, car en
présence de milliers ou de million de cas et de centaines ou de milliers de
variables, on trouvera forcément un niveau élevé de redondance parmi les
variables, certaines relations seront fausses, et même les relations les plus faibles
paraîtront statistiquement importantes dans tout test statistique. L’objectif est de
construire un modèle dont le pouvoir de prédiction est satisfaisant.
La base d’étude du projet concerne une entreprise de services financiers
qui offre à ses clients, qui ont un prêt hypothécaire avec elle, la possibilité
d’avoir une marge de crédit.
Dans le passé, plusieurs de ses clients ont obtenu et utilisé la marge de crédit et
un bon pourcentage d’entre eux (environ 20%) ont eu des défauts de paiement.

Master_2_SRO_Data-Mining | 4
3. Data Mining
Qu’est-ce que le data mining ?

Le data mining est l’exploration de données, aussi connue sous les noms fouille
de données, data mining (forage de données) ou encore Extraction de
Connaissances à partir de Données (ECD en français, KDD en Anglais), a pour
objet l’extraction d'un savoir ou d'une connaissance à partir de grandes quantités
de données, par des méthodes automatiques ou semi-automatiques, et
l'utilisation industrielle ou opérationnelle de ce savoir.

Elle est utilisée dans le monde professionnel pour résoudre des problématiques
très diverses, allant de la gestion de relation client à la maintenance préventive,
en passant par la détection de fraudes ou encore la prévision d’audience TV. Les
plus concernés sont les secteurs où d’importants volumes de données doivent
être analysés en vue de prendre des décisions. Le data mining permet aussi de
limiter la subjectivité humaine dans les processus de décision, et aussi, grâce à la
puissance grandissante des outils informatiques de traiter de plus en plus
rapidement de grands nombres de dossiers.

A quoi sert le data mining ?

Les banques, C’est dans le secteur bancaire qu’est né le scoring de risque,


au milieu du 20éme siècle, où les moyens de calcul étaient très rudimentaires.
Depuis de multiples techniques de data mining (Scoring, classification,
association des produits…) ont envahi la banque. Cet essor du data mining dans
l’activité bancaire s’explique par la conjonction de plusieurs éléments : le
développement des nouvelles technologies de communication (Internet,
téléphonie mobile…) et de traitement de l’information (Entrepôts de données),
les attentes accrues de qualité de service des clients, la concurrence exercée sur
les banques à réseau par les sociétés de crédit et les « nouveaux entrants » (La
grande distribution, les compagnies d’assurance…).

La grande distribution développe ses cartes de crédit privatives, lui


permettant de se constituer de grandes bases de données (près de 3 millions de
porteurs pour la carte Pass de carrefour) enrichies par les informations
comportementales provenant de tickets de caisses. En outre, les services associés
à ces cartes (caisse réservées, promotions exclusives…) sont facteurs de
fidélisation, ce qui n’est pas négligeable à l’heure de la concurrence des « hard
discounters ».

Master_2_SRO_Data-Mining | 5
En assurance de biens et de personnes, les études de ventes croisées
(cross-selling), de montées en gamme (up-selling). Le besoin du data mining
dans ce domaine s’est exacerbé avec le développement de la concurrence des
nouveaux entrants que sont les banques qui pratiquent ce qu’on appelle la
bancassurance.

4. Analyse exploratoire

Présentation des données


La table d’étude contient des données propres aux clients et celles relatives aux
crédits, elle est constituée de variables géographiques, démographiques et
financières permettant ainsi la construction et la comparaison des modèles en
concurrence.

 BAD : Variable cible binaire :


BAD = 1 : Bon client (client ayant remboursé son prêt
BAD = 0 : Mauvais client (client ayant commis une fraude ou défaut de
remboursement)

 CLAGE : Durée du crédit le moins récent, en mois


 CLNO : Nombre de crédit
 DEBTINC : Taux de Dette-à-revenu
 DELINQ : Nombre de crédit non remboursé
 DEROG : Nombre d'états dérogatoires principaux
 JOB : Catégorie professionnelle du client
 LOAN : Montant du crédit
 YOJ : Ancienneté du job le plus récent
 VALUE : La valeur de la propriété
 MORTDUE : Montant dû sur l'hypothèque existante
 NINQ : Nombre d'enquêtes récentes de degré de solvabilité
 REASON : DebtCon = Fusion de dette

Le tableau 1 ci-dessous représente les rôles, les formats et les descriptions des
variables de notre base d’étude, on peut se rendre compte que la variable BAD a
un rôle target car c’est la variable qu’on modélise, cependant, donc on a du
modifier son rôle de input à target :

Master_2_SRO_Data-Mining | 6
Tableau 1

Statistiques descriptives
Analyse de la variable cible à travers sa distribution sur la figure ci-dessous :
Figure 1

Master_2_SRO_Data-Mining | 7
20% des observations représentent des prêts pour lesquels le client n’ont pas
payé leur prêts (‘BAD=1’), contre 80% des observations correspondant aux
clients ayant payés leurs crédits (‘BAD=0’), pour les autres variables voir
l’annexe.

Sur le tableau 2 ci-dessus nous avons les statistiques descriptives des variables
quantitatives de la base travail :
Tableau 2

Name Min Max Mean Std Missing Skewness Kurtosis


Dev. %
LOAN 1100 89800 18674 11494 0% 2.1656 7.5769
MORTDUE 2800 391000 72188 42071 8% 1.5177 4.3457
VALUE 13933 854112 101165 53857 2% 2.7635 22.571
YOJ 0 41 9.0545 7.4629 8% 0.9454 0.3141
CLAGE 0.4867 1154.6 177.59 88.055 4% 1.7974 10.772
NINQ 0 14 1.231 1.7788 8% 2.4988 8.3449
CLNO 0 64 21.363 10.016 3% 0.7092 0.7882
DEBTINC 0.7203 203.31 33.647 8.9892 21% 4.2536 82.903

L’analyse de ces résultats n’indique pas des aberrations sauf pour la variable
DEBTINC dont le pourcentage des valeurs manquantes est relativement élevé
(21%).
Pour les variables qualitatives constituées de différentes classes, nous étudions
le pourcentage des valeurs manquantes, et l’option « Order » qui nous indique
l’ordre de tri de chacune des variables ainsi nous remarquons que pour toutes les
variables la commande de tri est croissante sauf pour la variable cible binaire à
savoir ‘BAD’ la commande de tri est décroissante, donc l’événement qui sera
modéliser correspond à ‘BAD=1’.

Name Values Missing % Order


BAD 2 0% Descending
REASON 2 5% Ascending
JOB 6 5% Ascending
DEROG 10 12% Ascending
DELINQ 10 9% Ascending

Master_2_SRO_Data-Mining | 8
Partitionnement de la base de travail
Entreprise Miner partitionne par défaut la base en trois sous
échantillons aléatoires: apprentissage représentant 40% de l’échantillon de base,
l’échantillon de validation avec 30% de la base d’étude et l’échantillon de test
constituant 30% de l’échantillon de base, la méthode utilisée est le tirage
aléatoire, ainsi toutes les observations de la base d’étude ont la même chance
d’être sélectionnées.

5. Régression logistique

Principe :

Dans la régression logistique binaire (dichotomique), on considère une variable


cible (Bad) binaire (Bad=1 ou 0), et des variables explicatives Xj continues,
binaires ou qualitatives (dont les indicatrices ramènent au cas d’une variable
binaire).

L’objectif de la régression logistique est celui de toute régression : modéliser


l’espérance conditionnelle E (Y|X=x). On veut connaître la valeur moyenne de
Y pour toute valeur de X. Pour une valeur Y valant 0 ou 1, cette moyenne est la
probabilité qu’Y=1 (loi Bernoulli). On a donc :

E (Y|X=x)= Prob (Y=1|X=x).

En résumé, la régression logistique avec fonction de lien Logit consiste à écrire :

π(x) = Prob (Y=1|X=x)

Sous la forme Log ( ) = β0+β1*x1+…+βp*xp.

Les avantages de la régression logistique sont très nombreux, cependant, on va


citer quelques un :

1. Les coefficients sont facilement interprétables en termes de ratios du


risque.
Master_2_SRO_Data-Mining | 9
2. Elle permet de détecter certain phénomène non linéaires.
3. Elle modélise directement une probabilité.
4. Elle détecte des phénomènes globaux (contrairement aux arbres de
décision qui ne détecte que les phénomènes locaux).
Cependant la régression logistique a des inconvénients non négligeables :
1. Elle ignore les valeurs manquantes (Sauf discrétisation, regroupement des
valeurs manquantes dans une classe spécifique).
2. Elle est sensible aux individus hors norme (Sauf discrétisation).

Sélection automatique des variables


Afin de déterminer le meilleur score, nous avons utilisé sous, la sélection
automatique des variables explicatives afin de retenir dans le modèle final que
les variables pertinentes parmi notre liste de variables candidates. Il existe 3
techniques différentes permettant la sélection des variables :

 Backward : Cette procédure estime le modèle avec la totalité des


variables explicatives. A l’aide d’un test de Wald, la moins
significative est retirée dès lors que son seuil de significativité est
supérieur à la valeur exigée (par slstay=). La procédure s’arrête lorsque
plus aucune n’est autorisée à sortir.
 Forward : Cette procédure estime le modèle avec constante et les k 0
premières explicatives de la liste de k variables, où k 0 est fixé par
l’option start= k 0 ou include= k 0 . Par défaut, k 0 = 0 . Ensuite la procédure
recherche parmi les k − k 0 variables restantes la plus significative et
l’ajoute au modèle si son seuil de significativité est inférieur au seuil
fixé par slentry=. Une fois entrée dans le modèle la variable n’est
jamais retirée.

Master_2_SRO_Data-Mining | 10
 Stepwise : La procédure s’exécute comme avec l’option forward à la
différence qu’une variable entrée à une étape de la sélection peut sortir
du modèle si à une étape ultérieure, et donc après prise en compte de
nouvelles explicatives, son seuil de significativité passe au-dessus de la
valeur requise par slstay.
On laissera les valeurs par défaut des différentes méthodes à savoir 0.05 comme
seuil de significativité et k0=0 pour la méthode Forward. Ces trois méthodes
donnent les mêmes résultats, cependant on retiendra la méthode Stepwise qui
combine les deux autres.

Mise en place d’un modèle de régression logistique

On relie le nœud de partition et celui de régression au nœud de cloison


de données. Le diagramme apparaît maintenant comme suit :

Résultats

Ci-dessous la courbe Lift associée à la régression Logistique par défaut, on


constate que le modèle n’est pas du tout bon car, la courbe présente une allure
non habituelle.

Master_2_SRO_Data-Mining | 11
Figure2

Ce problème peut être dû au pourcentage assez élevé de valeurs manquantes


dans certaines variables, car la régression logistique ne tient pas compte de ces
valeurs manquantes, D’où la nécessité d’exécuter l'imputation avant d'adapter un
modèle de régression. Pour se faire nous utilisons le nœud de remplacement.

Remplacement de Données :

Le nœud de remplacement nous permet de substituer les valeurs manquantes


pour chacune des variables. Ce remplacement est nécessaire pour utiliser toutes
les observations dans l’échantillon d’apprentissage quand on établit un modèle
de régression ou de réseau neurone car ceux là ignorent toutes les observations
manquantes. Tandis que les arbres de décision manipulent des valeurs
manquantes directement. Il est plus approprié de comparer les modèles qui sont
établis sur le même ensemble d'observations.

Par défaut, Entreprise miner emploie un échantillon provenant de l’échantillon


d’apprentissage pour choisir les valeurs pour le remplacement des données
manquantes.

Master_2_SRO_Data-Mining | 12
Le principe de base d’imputation des données manquantes se présente comme
suit :
• Les observations ayant une valeur manquante pour une variable
d'intervalle cette dernière est substituée avec la moyenne dans
l'échantillon pour la variable correspondante.
• Les données manquantes correspondantes aux variables binaire, nominale,
ou ordinale sont substituées la modalité la plus fréquente de la variable
correspondante dans l'échantillon.
Le nouveau diagramme apparaître comme suit

Après avoir exécuté notre modèle, on obtient la courbe Lift ci-dessous :

Figure3

Le diagramme cumulatif de %Response est construit de la façon suivante :

Master_2_SRO_Data-Mining | 13
 La réponse d'intérêt est le défaut de paiement (BAD=1). Pour chaque
client, le modèle de régression adapté prévoit une probabilité que le client
fasse défaut. Les observations sont triées selon la probabilité prévue la
plus élevée à la probabilité la plus basse.
 Les observations sont alors groupées dans des cases, chacune contient
approximativement 10% des données.
 En utilisant la variable cible ‘BAD’, on compte le pourcentage des
répondants réels dans chaque case.

Si le modèle est bon, alors la proportion de clients ayant remboursé leur crédit
sera relativement haute dans les cases dont la probabilité prévue est haute.
La courbe de réponse cumulative qui est montrée ci-dessus trace le pourcentage
des répondants.
Dans le 10% principal, presque deux-tiers des individus s'était transféré sur un
prêt. Dans le 20% principal, un peu plus de la moitié s'était transféré sur le prêt.
La ligne bleue horizontale représente la cadence de ligne de base
(approximativement 20%) pour la comparaison. La ligne de base est une
évaluation du pourcentage des contrevenants qu’on compterait si on devait
prendre un échantillon aléatoire. Le traçage de défaut représente des
pourcentages cumulatifs, mais on peut également voir la proportion de ceux qui
se sont transférés dans chaque coffre par le choix de l’option Non-Cumulatif de
lift chart.
La comparaison des diagrammes se rapporte à ceux qui se sont transférés sur un
prêt comme contrevenants ou répondants. Dans la courbe précédente, le
pourcentage des contrevenants était 67.56% dans le premier décile (10%). En
d'autres termes, 67.56% de ceux dans le premier décile ont eu l'événement de
cible d'intérêt (BAD=1).

Master_2_SRO_Data-Mining | 14
Non Cumulative %Response Cumulative %Response

6. Arbres de décision
Principes

La technique de l’arbre de décision est employée en prédiction pour détecter


des critères permettant de rétablir les individus d’une population en n classes
(Souvent n=2 comme le cas ici) prédéfinies. Cette technique est non-
paramétrique, ce qui signifie qu’elle ne suppose pas que les variables
explicatives suivent des lois de probabilité particulières.

Mise en place d’un arbre de décision

On ajoute le nœud correspondant à l’arbre de décision qu’on relie au nœud de


cloison de données d’une part et d’autre part à celui de l’évaluation le processus
apparaît maintenant comme suit :

Master_2_SRO_Data-Mining | 15
Résultats

On peut constater ainsi que le modèle d'arbre surpasse considérablement les


deux modèles de régressions, comme on peut le voir sur la lift chart ci-dessous :

Figure4

Master_2_SRO_Data-Mining | 16
Ce résultat peut être expliqué par le fait que les arbres de décision manipulent
parfaitement les observations manquantes, contrairement aux modèles de
régression logistique qui les ignorent, mais dans le deuxième modèle de
régression, on a remplacé les observations manquantes, cela étant fait ce
deuxième modèle ne surpasse pas l’arbre de décision, cela peut être dû au fait
que les arbres de décision sont peu perturbés par la présence des observations
hors normes, qui peut être isolés dans de petits nœuds et n’influent pas
l’ensemble du classement, contrairement à ce qui se passe dans les techniques
paramétriques et neuronales, l’arbre de décision est une technique non-
paramétrique ce qui signifie qu’elle ne suppose pas que les variables
explicatives suivent des lois de probabilité particulières, ces variables peuvent
être colinéaires. Si elles ne sont pas discriminantes, l’arbre n’en est pas affecté,
puisqu’il se contente de ne pas les sélectionner. De plus la réponse de la cible
peut être non linéaire, voire non monotone, en fonction des variables
explicatives, il peut exister entre plusieurs variables explicatives et la cible des
interactions qui seront détectées par l’arbre.

7. Réseaux de neurones
Il est aujourd’hui impossible de parler du data mining sans parler des réseaux de
neurones, qui sont à la fois une technique de descriptive et prédictive
(Perceptrons, Réseaux à fonction radiale de base). Ils se sont largement répandus
grâce à leur puissance de modélisation, ils peuvent approcher n’importe quelle
fonction suffisamment régulière, qui fait merveille dans une grande variété de
problème, face à des phénomènes complexes. Cependant leur utilisation est par
fois freinée par les difficultés qu’elle présente : le coté « Boîte noire » des
réseaux, la délicatesse des réglages à effectuer, la puissance informatique
requise et les risques de sur –apprentissage et de convergence vers une solution
globalement non optimale.

Mise en place d’un réseau de neurone

Un nœud de réseau neurone par défaut qu’on relie au nœud de


remplacement et puis nœud d'évaluation, le processus devient maintenant
comme suit :

Master_2_SRO_Data-Mining | 17
Résultats

Le nœud de réseau neurone de défaut adapte un modèle multicouche du


perceptron (MLP) sans les connexions directes. Dans cet exemple, le nœud de
réseau neurone est équipé d'une seule couche cachée. Par défaut, Le tabulateur
de poids affiche les poids (évaluations de paramètre) des connexions.
L'affichage suivant montre les poids des connexions de chaque variable à une
seule couche cachée. Chaque niveau de chaque variable de classe est également
relié à la couche cachée. Le nœud de réseau neurone ajuste itérativement les
poids des connexions pour réduire au minimum la fonction erreur.
Ci-dessous le comparatif des quatre modèles sur la courbe Lift :

Figure 5

Master_2_SRO_Data-Mining | 18
Le réseau de neurone n’améliore pas la qualité de prédiction, il reste presque au
même niveau que la régression logistique, cependant l’arbre reste toujours le
plus performent parmi tous les modèles qu’on a mis en œuvre.

Master_2_SRO_Data-Mining | 19
PARTIE 2

A travers cette étude nous souhaitons construire une typologie de la clientèle


particulière d’une banque.

Nous désirons en particulier connaître les caractéristiques de clients qui lui


disposent d’un compte d’épargne auprès d’elle ainsi que ceux qui ont connu un
ou des incidents de paiement. Elle dispose des variables suivantes sur un
échantillon de 682 de ses clients.

1 PRESENTATION DES DONNEES :

ID Nominal Identifiant client

AGE Interval Age en année

Sexe Nominal 1 : homme , 2 : femme

Statut Nominal 1 : Célibataire ,2 : Marié 3 : Divorce ou veuf

Proprio Nominal 0 : locataire de son logement principal

1 : propriétaire de son logement principal

Ancien Interval Ancienneté du client dans la banque, en années

Solde Interval Solde mensuel moyen du compte courant

CEparg Nominal 0 : ne dispose pas d’un compte d’épargne

1 : possède un compte d’épargne

Incid Nominal 0 : n’a pas jamais connu d’incident de paiement

1 : a déjà connu un (ou des) incident de paiement

Master_2_SRO_Data-Mining | 20
2 - METHODE DE CLASSIFICATION :

Cette méthode est faite en trois étapes :

Etape 1 : standardisation nos variables


L'intérêt de cette étape est de pouvoir comparer la variable standardisée à
plusieurs variables numériques présentant des unités de mesures différentes.
La variable qualitative multinomiale STATUT a été recodée à l’aide de trois
nouvelles variables. Formant ainsi une matrice où la distance entre ces variables
est la même.
Trois de nos variables sont de types intervalle, nous avons alors employé la
méthode RANGE(une méthode qui est utilisée avec la macro stdize pour
standardiser).

Nous nous sommes intéressés à la corrélation qui pouvait exister entre nos
variables :

Master_2_SRO_Data-Mining | 21
En lisant la sortie les covariances entre les variables, nous pouvons constater
que la covariance la plus forte est de 0,58 qui existe entre l’âge et l’ancienneté
du client dans la banque.
L’étude des corrélations nous montre que les incidents dépendent fortement de
l’ancienneté des clients, plus ils sont jeunes, plus ils ont de chance de connaitre
l’incident.

Etape 2 : Nous commençons cette étape avec 40 clusters ,puis la macro cluster
permet d’identifier 9 clusters au regard du critère PSF qui marque un pic à cette
valeur.

Etape 3 : une dernière étape est de faire l’étude avec ses neuf clusters qui portent
les plus d’informations.

Interprétation des classes :

Cluster 1 : regroupe que des locataires plus jeunes que dans tous les autres
clusters et qui sont de nouveaux clients de la banque, faible solde à la banque
Cluster 2 : regroupe que des femme locataires
Cluster 3 : regroupe que des propriétaires, ayant toujours connu un incident de
paiements et qui sont de nouveaux clients de la banque
Cluster 4 : jamais connu un incident de paiements, faible solde à la banque

Master_2_SRO_Data-Mining | 22
Cluster 5 : regroupe que des homme propriétaires n’ayant jamais demandé de
crédit à la consommation ni connu un incident de paiements et ayant un solde
élevé

Cluster 6 : regroupe que des propriétaires divorcés ou veuf étant âgés et qui sont
d’anciens clients de la banque n’ayant jamais connu un incident de paiements

Cluster 7 : femmes mariées n’ayant jamais demandé de crédit à la


consommation et jamais connu un incident de paiements
Cluster 8 : regroupe que des locataires masculins et ayant un solde élevé à la
banque
Cluster 9 : regroupe que des propriétaires âgés ayant déjà demandé un crédit à
la consommation mais n’ayant jamais connu un incident de paiements, ce sont
également d’anciens clients de la banque.

3- LA DETECTION DES INCIDENTS

Nous avons réaliser une proc logistic en mettant l’incident en variable


dépendante afin d’identifier les variables exogène qui ont un rôle positif ou
négatif sur la probabilité de connaitre l’incident de paiement.

Master_2_SRO_Data-Mining | 23
L’étude des corrélations nous montre que les incidents dépendent fortement de
l’ancienneté des clients, plus ils sont jeunes, plus ils ont de chance de connaitre
l’incident.
Enfin le fait d’avoir un important solde en banque diminue la probabilité
d’incident.

Master_2_SRO_Data-Mining | 24
Conclusion

Cette étude avait pour objectif de développer le meilleur modèle de crédit


scoring permettant de prédire la probabilité de défaut des clients d’une banque.
Pour ce faire 3 outils statistiques (régression logistique, arbres de décision et
réseaux de neurones) ont été utilisés pour conclure au meilleur modèle prédictif
permettant de distinguer les bons clients des mauvais, après analyse des résultats
obtenus nous avons sélectionné le modèle issue de l’arbre de décision comme le
modèle le plus performant.

Cependant, le score de risque bancaire pour un prêt n’est qu’un élément


dans le processus de décision car comme toute méthode statistique, le scoring
commet des erreurs et un individu qui a la malchance d’avoir un profil proche de
celui de mauvais payeurs sera considéré comme tel mais ce type de méthodes
commet moins d’erreurs et est plus objectif que les jugements d’expert.

Aujourd’hui, la discrimination entre défaillants et non-défaillants n’est


plus le seul objectif des banques, surtout pour des prêts à long terme. En effet, il
est autant intéressant pour les banques de connaître quand la défaillance va avoir
lieu que de connaître si elle va effectivement avoir lieu. Actuellement, de
nombreux travaux s’orientent vers l’utilisation de modèles de survie pour
données censurées pour prévoir la date de défaillance de l’emprunteur.

Master_2_SRO_Data-Mining | 25
Rapport HTML

On rajoute le nœud du rapport HTML et on le relie à l’ensemble du


diagramme comme sur le diagramme ci-dessous :

Master_2_SRO_Data-Mining | 26
Annexe

Master_2_SRO_Data-Mining | 27
Master_2_SRO_Data-Mining | 28
Master_2_SRO_Data-Mining | 29
Master_2_SRO_Data-Mining | 30
Master_2_SRO_Data-Mining | 31
1-la variable sexe par classes :

2-les propriétaires par classes :

3-les incidents par classes :

Master_2_SRO_Data-Mining | 32
4-la variable âge par classes présentée par un box plot :

5-la variable ancienneté par classes présentée par un box plot :

Master_2_SRO_Data-Mining | 33
6-la variable solde présentée par un box plot :

Master_2_SRO_Data-Mining | 34
Le programme SAS qui nous a permis de faire cette classification :
/*debut Programme SAS :*/

libname classif "C:\Users\Mahamat Oumar\Desktop\DM";

/***********************************/
/* Codage des données */
/* pour variables qualitatives */
/***********************************/

data classif.banque1;
set classif.banque;

/*---- Dummy pour STATUT ----*/

if STATUT = '1' then do ;


S1 = 1/sqrt(2) ; S2 = 0 ; S3 = 0 ;
end ;
else if STATUT = '2' then do ;
S2 = 1/sqrt(2) ; S1 = 0 ; S3 = 0 ;
end ;
else if STATUT = '3' then do ;
S3 = 1/sqrt(2) ; S1 = 0 ; S2 = 0 ; *2=N(n modalité)-1;
end ;

/*---- Dummy pour SEXE ----*/

if SEXE = 1 then SEXE = 0;


if SEXE = 2 then SEXE = 1;

run;
proc print;
run;

/***************************************************************/
/* 0 - Proc print qui sert à afficher la table passer en entré */
/***************************************************************/

%macro print(nom_table);

ods html;

proc print data=classif.&nom_table;

ods html close;

%mend print;

%print(banque);
%print(banque1);
%print(table_stdize);

/*************************/
/* 1 - Standardisation */
/* Proc STDIZE */
/*************************/

Master_2_SRO_Data-Mining | 35
%macro stdize(nom_table,variables,methode);

title "&variables sont standardisées par PROC STDIZE avec la méthode


&methode";

proc stdize data=classif.&nom_table out=classif.table_stdize pstat


method=&methode;
var &variables ;

%mend;

%stdize(banque1, AGE ANCIEN SOLDE, RANGE);

data classif.table_stdize;
set classif.table_stdize;
drop STATUT;
run;

/***************************/
/* 2 - Données corrélées */
/***************************/
proc corr data=classif.table_stdize;
var AGE SEXE PROPRIO ANCIEN SOLDE CREDIT INCID S1 S2 S3;
run;

/**************************************************************************
**********************************/
/* 3 - commençons avec 40 cluster et choisissons les classes qui portent
plus d'information- Fastclus */
/**************************************************************************
*********************************/

%MACRO MyFastClus (N, tableIN, tableOUT, variables, identifiant);

title "Données obtenues par PROC FASTCLUST avec &N clusters";

proc fastclus data=classif.&tableIN maxclusters=&N maxiter=15


CONV=0.0001
mean=classif.&tableOUT.FastMEAN&N cluster=CLUSTER
radius=0 replace=Full IMPUTE SUMMARY ;
var &variables;
id &identifiant;

%MEND MyFastClus;

%MyFastClus ( 40, table_stdize, table_, AGE SEXE PROPRIO ANCIEN SOLDE


CREDIT INCID S1 S2 S3, ID); /*bien voir si la convergence a lieu avant le
maxiter sinon l'augment mais souvent à cause d'une mauvaise stdize;

/****************************/
/* 3 - Cluster - METHODE */
/* sur les N de Fastclus */
/****************************/

%macro cluster(table_FastMEAN, variables, methode);

title "Données obtenues par PROC CLUSTER afin de pouvoir choisir les
meilleurs clusters";

Master_2_SRO_Data-Mining | 36
proc cluster data=classif.&table_FastMEAN
outtree=classif.table_cluster method=&methode CCC pseudo;
var &variables;
id cluster;

proc gplot data=classif.table_cluster;


symbol1 v=dot ;
plot _RSQ_*_NCL_ _SPRSQ_*_NCL_ _CCC_*_NCL_ _PSF_*_NCL_
_PST2_*_NCL_ ;

axis1 order=(0 to .2 by 0.02);


PROC TREE DATA=classif.table_cluster HEIGHT=H HORIZONTAL haxis=axis1;
Id Cluster ;
axis1 order=(0 to .2 by 0.02);
PROC TREE DATA=classif.table_cluster HEIGHT=RSQ HORIZONTAL
haxis=axis1 ; Id Cluster ;

%mend cluster;

%cluster( table_FastMEAN40, AGE SEXE PROPRIO ANCIEN SOLDE CREDIT INCID S1


S2 S3, ward); *on identifie clairement 9 clusters grâce aux stats et a
l'arbres
/****************************/
/* 4 - Calcul des centroïds */
/* sur nos 9 clusters */
/****************************/

%macro centroid(table, variables, N);

goption reset=all;
title;
options nodate;

proc tree DATA=classif.&table NOPRINT OUT=classif.table_Seed N=&N ;


COPY &variables;

proc means data=classif.table_Seed noprint; *permet obtenir l table


pour le seed;
class cluster;
var &variables;
output out=classif.table_means mean=&variables;

data classif.table_means;
SET classif.table_means;
If _type_=0 then delete;

%mend centroid;

%centroid (table_cluster, AGE SEXE PROPRIO ANCIEN SOLDE CREDIT INCID S1 S2


S3, 9);
%print (table_means);

/*********************************/
/* 5 - rafaire FASTCLUS ******/
/* avec les 9 centroids optimaux*/
/*********************************/

%macro fastclus(N, tableIN, tableOUT, variables, identifiant);

goption reset=all;
title "Données obtenues par PROC FASTCLUS avec &N clusters";

Master_2_SRO_Data-Mining | 37
options nodate;

proc fastclus data=classif.&tableIN MAXCLUSTERS=&N maxiter=15


CONV=0.0001
cluster=cluster radius=0 replace=Full DISTANCE impute=NS
seed=classif.table_means
out=classif.&tableOUT
outseed=classif.FastSeeds(label="Seeds pour les clusters de
&tableIN")
outstat=classif.FastStat(label="Statistiques pour les clusters
de &tableIN");
var &variables;
id &identifiant;

%mend fastclus;

%fastclus ( 9, table_stdize, table_final, AGE SEXE PROPRIO ANCIEN SOLDE


CREDIT INCID S1 S2 S3, ID);
%print(table_final); *à exécuter deux fois de suite pour avoir le fastclus
puis la table;

/*****************************/
/* 6 - Analyses des Clusters */
/*****************************/

data temp;
set classif.table_final;
keep ID cluster;
run;
PROC sort DATA=temp; BY ID; run;
PROC sort DATA=classif.banque1 ; BY ID; run;
data classif.table_merge;
merge classif.banque1 temp;
by ID;
run;
PROC sort DATA=classif.table_merge; BY Cluster ID; run;

/* Variables binaires: Fréquences par Clusters */


goption reset=all;
options linesize=128 pagesize=MAX nodate nonumber;
proc freq data=classif.table_final;
tables SEXE * CLUSTER;
tables Age * CLUSTER;
tables PROPRIO * CLUSTER;
tables INCID * CLUSTER;
tables S1 * CLUSTER;
tables S2 * CLUSTER;
tables S3 * CLUSTER;
run;

/* Variables intervalles : Tables par Clusters */


proc tabulate DATA=classif.table_final FORMAT=8.;
class Cluster;
var AGE ANCIEN SOLDE;
TABLE N (AGE ANCIEN SOLDE ) *
( MEAN*F=8.3 MIN*F=8.3 MAX*F=8.3 RANGE*F=8.3 STD*F=8.3) ,
ALL Cluster / CONDENSE RTS=15 ;
run;

proc sort DATA=classif.table_final; BY Cluster; run;

Master_2_SRO_Data-Mining | 38
symbol color = salmon;
proc boxplot data=classif.table_final;
plot AGE*cluster / cframe=vligb cboxes=dagr cboxfill=ywh
boxwidthscale=1;
plot ANCIEN*cluster / cframe=vligb cboxes=dagr cboxfill=ywh
boxwidthscale=1;
plot SOLDE*cluster / cframe=vligb cboxes=dagr cboxfill=ywh
boxwidthscale=1;
run;

/************************************/
/* PROC LOGISTICS */
/************************************/

proc logistic data=classif.banque1 ;


class Sexe (ref="1") Statut (ref="1") Proprio (ref="1") Credit (ref="0");
model incid (event="1")= sexe statut ancien solde proprio credit /noint;
run;
/*fin de programme*/

Master_2_SRO_Data-Mining | 39

Vous aimerez peut-être aussi