1 Contexte de l’étude
Nous disposons d’un jeu de données concernant les clients d’une banque anonyme, le but de notre étude est de : Analyser et comparer les performances de certains algorithmes d’arbres de décision entre eux mais aussi par rapport à la regression logistique
2 Importation des données
La première étape consiste à importer les données telles qu’elles sont sans effectuer aucune modification.
| Type_de_client | Age_du_client | Situation_familiale | Ancienneté | Domiciliation_du_salaire | Domiciliation_epargne | Profession | Moyenne_encours | Moyenne_des_mouvements | Cumul_des_débits | Autorisation_de_découvert | Interdiction_de_chéquier |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Bon | plus de 50 ans | célibataire | anc plus 12 ans | Oui domicilié | pas d’épargne | employé | de 2 à 5 K encours | plus de 50K mouvt | de 40 à 100 débits | découvert interdit | chéquier autorisé |
| Bon | moins de 39 ans | célibataire | anc 1 an ou moins | Oui domicilié | pas d’épargne | employé | de 2 à 5 K encours | de 0 à 30K mouvt | moins de 40 débits | découvert interdit | chéquier autorisé |
| Mauvais | moins de 39 ans | ancien marié | anc de 6 à 12 ans | Oui domicilié | pas d’épargne | employé | de 2 à 5 K encours | plus de 50K mouvt | de 40 à 100 débits | découvert autorisé | chéquier interdit |
| Bon | moins de 39 ans | ancien marié | anc de 1 à 6 ans | Oui domicilié | épargne | employé | plus de 5 K encours | de 30 à 50K mouvt | de 40 à 100 débits | découvert interdit | chéquier autorisé |
| Bon | moins de 39 ans | célibataire | anc de 6 à 12 ans | Non domicilié | pas d’épargne | employé | de 2 à 5 K encours | de 0 à 30K mouvt | moins de 40 débits | découvert interdit | chéquier autorisé |
| Bon | moins de 39 ans | célibataire | anc 1 an ou moins | Oui domicilié | pas d’épargne | employé | de 2 à 5 K encours | de 0 à 30K mouvt | moins de 40 débits | découvert autorisé | chéquier autorisé |
Nous avons un jeu de données composé de 10 variables explicatives et d’une variable à expliquer (Type de client). Nous disposons d’informations socio-démographiques mais également des informations liés la consommation du service bancaire.
3 Analyser les variables
Après importation du fichier comportant des données, on analyse les différentes variables existantes dans notre jeu de données. Nous avons supprimé l’identifiant client qui est inutile dans cette étude car nous n’allons pas aggregé d’autres données client.
| Type_de_client | character |
| Age_du_client | character |
| Situation_familiale | character |
| Ancienneté | character |
| Domiciliation_du_salaire | character |
| Domiciliation_epargne | character |
| Profession | character |
| Moyenne_encours | character |
| Moyenne_des_mouvements | character |
| Cumul_des_débits | character |
| Autorisation_de_découvert | character |
| Interdiction_de_chéquier | character |
- Qualitatives : ayant un certain nombre de modalités
- Quantitatives : ce sont des indicateurs (continue) que l’on met en place à partir de valeurs numériques qui par définition sont susceptibles à l’application d’opérations arithmétiques.
4 Distributions et statistiques
On examine les variables une à une :
Pour chaque modalité d’une variable, on observe la distributivité des valeurs possibles (comme l’effectif ou le pourcentage) de celle-ci par rapport aux autres modalités. Si une des modalités de variable est trop faible par rapport au jeu de données
4.1 Variable : Age
Pour la variable explicative “Age_du_client”, on remarque que la catégorie “moins de de 23 ans” est en sous-effectif par rapport aux autres catégories, nous allons donc procédé à un regroupement de modalités que nous évoquerons dans la partie suivante. Le regoupement aura pour nom “Age_inferieur_à_39 ans” .4.2 Variable : Situation familiale
Concernant la variable explicative “Situation_familiale” de l’individu, la modalité “divorcé/veuf” est en sous-effectif. Nous allons donc procéder à un regroupement de modalités. Nous regrouperons les variables “divorcé” & “veuf” , et créerons une nouvelle variable “ancien marié” .4.3 Variable : Ancienneté
En ce qui concerne la variable explicative “ancienneté”, on remarque que plusieurs modalités sont en sous-effectifs :- de 1 à 4 ans
- de 4 à 6 ans
- de 6 à 12 ans
Nous avons donc décidé de regrouper les deux premières modalités en une seule nommée “de 1 à 6 ans”. Nous avons également fait le choix de ne pas procédé à un regroupement pour la modalités “de 6 à 12 ans” afin de pouvoir distinguer les clients moyennement anciens et les clients très anciens.
4.4 Variable : Domiciliation du salaire
La modalité “Non domicilé” est en sous-effectif mais aucun regroupement n’est possible.4.5 Variable : Domiciliaton épargne
Concernant la variable explicative “Domicilation épargne”, on remarque que les modalités suivantes sont en sous-effectifs :- Moins de 10k épargne
- de 10 à 100k épargne
- plus de 100K épargne
Nous procederons donc à un regroupement de modalités, nous créerons une nouvelle modalité que l’on nommera : “épargne”.
4.6 Variable : Profession
Les modalités “autre” et “cadre” sont en sous-effectifs mais aucun regroupement au regard de la compréhension métier n’est possible.4.7 Variable : moyenne en cours
Concernant les moyennes en cours, les deux modalités “moins de 2k encours” et “plus de 5k en cours” sont en sous-effectifs mais aucun regroupement n’est possible.4.8 Variable : moyenne des mouvements
Concernant cette variable, les modalités “moins 10k mouvt” et “de 10 à 30K mouvt” sont en sous-effectifs (15,2% par rapport 24,4%), nous pouvons regrouper ces modalités ensemble. On creera une nouvelle modalité que l’on nommera “de 0 à 30K mouvt” .4.9 Variable cumul des débits
Les modalités de la variable “Cumul_des_débits” sont assez bien réparties. Aucun regroupement n’est nécessaire.4.10 Variable : autorisation de découvert
Les modalités de la variable “Autorisation_de_découvert” sont réparties de manière homogènes, aucun regroupement n’est nécessaire.4.11 Variable : Interdiction de chequier
La variable explicative “Interdiction_de_chéquier” est répartie de manière hétérogène. Cette variable nous semble être une variable fortement corrélée à la variable cible du fait de son sens métier.5 Variables à supprimer du modèle
Nous allons étudier de plus près chaque variable afin d’idenfier celles qui ne sont pas fortement corrélées avec la variable à expliquer. En effet, nous n’avons pas crée la variable à expliquer, nous ne savons donc pas si les variables qui ont permit de la créer sont encore ou non dans les données. Nous devons alors vérifier ce point.
Nous suspectons les variables suivantes d’avoir été pris en compte lors de la déterminantion de la variable cible :- “Domiciliation du salaire”
- “Interdiction de chequier”
- “Autorisation de découvert”
Afin de vérifier ce point nous allons pour ces trois variables voir la répartition de la variable cible en fonction des différentes modalités.
5.1 Domiciliation du salaire
| Type_de_client | Domiciliation_du_salaire | n |
|---|---|---|
| Bon | Non domicilié | 33 |
| Bon | Oui domicilié | 204 |
| Mauvais | Non domicilié | 119 |
| Mauvais | Oui domicilié | 112 |
On remarque que la domiciliation du salaire explique très bien la classe “Bon client”, mais moins la classe “Mauvais client”, nous allons faire un modèle avec cette modalité et un modèle sans pour prouver ou non l’instabilité apportée par cette variable.
5.2 Interdiction de chequier
| Type_de_client | Interdiction_de_chéquier | n |
|---|---|---|
| Bon | chéquier autorisé | 231 |
| Bon | chéquier interdit | 6 |
| Mauvais | chéquier autorisé | 184 |
| Mauvais | chéquier interdit | 47 |
Comme pour la domiciliation du salaire, on remarque que la variable “Interdiction de chequier” explique bien la classe “Bon client”, ce qui parait avoir un sens d’un point de vue métier. En effet, les interdictions de chequiers sont octroiyées aux mauvais clients. Nous effectuerons alors un modèle en excluant cette variable.
5.3 Autorisation de découvert
| Type_de_client | Autorisation_de_découvert | n |
|---|---|---|
| Bon | découvert autorisé | 83 |
| Bon | découvert interdit | 154 |
| Mauvais | découvert autorisé | 119 |
| Mauvais | découvert interdit | 112 |
Concernant la variable autorisation de decouvert, nous remarquons qu’aucune classe n’est plus representée que l’autre, cette variable sera donc gardée dans nos modèles.
6 Regroupement des modalités
6.1 Anciennete après regroupement
Ci-dessus la variable anciennete après regroupement.6.2 Domiciliation de l’épargne après regroupement
Ci-dessus la variable Domiciliation_epargne après regroupement.6.3 Age du client après regroupement
Ci-dessus la variable Age du client après regroupement.6.4 Situation familiale après regroupement
Ci-dessus la variable Situation Familiale après regroupement.
6.5 Moyenne des mouvements après regroupement
Ci-dessus la variable Moyenne des mouvements après regroupement.7 Echantillonnage (Apprentissage/Test)
Nous allons séparer notre échantillon de données en deux sous-échantillions:- Un échantillon d’apprentissage : Nos différents modèles s’entraîneront sur cette échantillion
- Un échantillon de test : Cette échantillion nous permettra de tester le pouvoir prédictif de nos modèles
7.1 Echantillon d’apprentissage (70% des données)
| Classe | Effectif |
|---|---|
| Bon | 167 |
| Mauvais | 163 |
7.2 Echantillon de test (30% des données)
| Classe | Effectif |
|---|---|
| Bon | 70 |
| Mauvais | 68 |
8 Modelisation Regression Logistique
8.1 -Selection des variables : Stratégie Stepwise
Stratégie Stepwise : Utilisée lorsque la connaissance des variables prédictrices possibles s’avère limitée . La variable la plus significative est injectée en première. La deuxième est injectée conditionnellement à la première et ainsi de suite. Nous avons choisi instinctivement la stratégie stepwise pour nous faire une première idée sur les variables pouvant avoir un impact sur le modèle.
Ci-dessous le calcul de l’overall pour chaque item de variable permettant de mesurer l’importance de ceux-ci pour la prédiction.| Overall | |
|---|---|
Age_du_clientmoins de 39 ans
|
2.0622501 |
Age_du_clientplus de 50 ans
|
1.1272358 |
| Situation_familialecélibataire | 3.3161554 |
| Situation_familialemarié | 2.2093694 |
Anciennetéanc de 1 à 6 ans
|
3.4877496 |
Anciennetéanc de 6 à 12 ans
|
2.8145741 |
Anciennetéanc plus 12 ans
|
4.0288327 |
Domiciliation_du_salaireOui domicilié
|
5.0296776 |
Domiciliation_epargnepas d'épargne
|
0.1296374 |
| Professioncadre | 0.8442242 |
| Professionemployé | 0.8595636 |
Moyenne_encoursmoins de 2K encours
|
1.3751529 |
Moyenne_encoursplus de 5 K encours
|
1.4109924 |
Moyenne_des_mouvementsde 30 à 50K mouvt
|
0.2636782 |
Moyenne_des_mouvementsplus de 50K mouvt
|
1.5581771 |
Cumul_des_débitsmoins de 40 débits
|
1.4067261 |
Cumul_des_débitsplus de 100 débits
|
2.3248681 |
Autorisation_de_découvertdécouvert interdit
|
0.6539761 |
Interdiction_de_chéquierchéquier interdit
|
3.3546791 |
Les variables ayant un overall élévé sont celles qui ont un impact plus important dans le modèle.
8.2 Matrice de Confusion
Afin d’analyser la performance de notre classifieur, nous nous sommes basés sur différentes métriques telles que :- La matrice de confusion
- La courbe de ROC
| Pred:Bon | Pred:Mauvais | |
|---|---|---|
| Actual:Bon | 55 | 25 |
| Actual:Mauvais | 15 | 43 |
On remarque pour les deux classes “Bon” & “Mauvais” clients, que le taux de bien classés est conséquent , il y a peu de mauvais classement.
8.3 Metriques du modèle
| Sensitivity | 0.7857143 |
| Specificity | 0.6323529 |
| Pos Pred Value | 0.6875000 |
| Neg Pred Value | 0.7413793 |
| Precision | 0.6875000 |
| Recall | 0.7857143 |
| F1 | 0.7333333 |
| Prevalence | 0.5072464 |
| Detection Rate | 0.3985507 |
| Detection Prevalence | 0.5797101 |
| Balanced Accuracy | 0.7090336 |
- Sensibilité : taux de vrai positif
- Spécificité : taux de vrai négatif
Nous remarquons que les taux de sensibilité et de spécificité sont très bons cela signifie que notre modèle effectue un bon classement .
8.4 Courbe de ROC
Nous affichons sur ce graphique, la courbe (droite) sans valeurs discriminantes (dont l’aire de la courbe équivaut à 0,5) et celle de notre classifieur.
On remarque que la courbe se rapproche de la courbe du classifieur idéale avec une valeur d’aire sous la courbe se rapprochant de 0,90.
Ces informations, en plus des résultats fournient par la matrice de confusion, nous permettent de déduire que notre modèle est plutôt performant .
9 Modelisation Arbre de décision
Un arbre de décision est un outil d’aide à la décision représentant un ensemble de choix sous la forme graphique d’un arbre. Les différentes décisions possibles sont situées aux extrémités des branches (les « feuilles » de l’arbre), et sont atteintes en fonction de décisions prises à chaque étape.
9.1 CART Modelisation
Arbre de décision
Ci-dessus l’arbre de décision, les feuilles representent les classes predites et les noeuds sont des tests sur les variables explicatives. L’arbre de décision permet de créer des règles de décision.
Une des règles que l’on peut déduire de cet arbre est que si un client domicilie son salaire et que sa moyenne en cours est de moins de 2k, il a plus de chance d’être considéré comme un bon client.
| Overall | |
|---|---|
| Anciennetéanc plus 12 ans | 21.776996 |
| Cumul_des_débitsmoins de 40 débits | 7.781113 |
| Cumul_des_débitsplus de 100 débits | 3.901339 |
| Domiciliation_du_salaireOui domicilié | 30.393636 |
| Interdiction_de_chéquierchéquier interdit | 19.010077 |
| Moyenne_des_mouvementsplus de 50K mouvt | 8.182111 |
| Moyenne_encoursmoins de 2K encours | 26.198818 |
| Moyenne_encoursplus de 5 K encours | 11.384849 |
Age_du_clientmoins de 39 ans
|
0.000000 |
Age_du_clientplus de 50 ans
|
0.000000 |
| Situation_familialecélibataire | 0.000000 |
| Situation_familialemarié | 0.000000 |
Anciennetéanc de 1 à 6 ans
|
0.000000 |
Anciennetéanc de 6 à 12 ans
|
0.000000 |
Anciennetéanc plus 12 ans
|
0.000000 |
Domiciliation_du_salaireOui domicilié
|
0.000000 |
Domiciliation_epargnepas d'épargne
|
0.000000 |
| Professioncadre | 0.000000 |
| Professionemployé | 0.000000 |
Moyenne_encoursmoins de 2K encours
|
0.000000 |
Moyenne_encoursplus de 5 K encours
|
0.000000 |
Moyenne_des_mouvementsde 30 à 50K mouvt
|
0.000000 |
Moyenne_des_mouvementsplus de 50K mouvt
|
0.000000 |
Cumul_des_débitsmoins de 40 débits
|
0.000000 |
Cumul_des_débitsplus de 100 débits
|
0.000000 |
Autorisation_de_découvertdécouvert interdit
|
0.000000 |
Interdiction_de_chéquierchéquier interdit
|
0.000000 |
On retrouve dans ce tableau l’overall calculé pour chaque item de variables. Plus l’overall est élevé, plus les variables ont un impact important dans la modélisation.
9.2 CART Matrice de confusion
| Pred:Bon | Pred:Mauvais | |
|---|---|---|
| Actual:Bon | 58 | 19 |
| Actual:Mauvais | 12 | 49 |
Nous remarquons que l’algorithme CART d’arbre de décision classe assez bien les deux classes, aussi bien que la regression logistique .
9.3 Metriques du modèles
| Sensitivity | 0.8285714 |
| Specificity | 0.7205882 |
| Pos Pred Value | 0.7532468 |
| Neg Pred Value | 0.8032787 |
| Precision | 0.7532468 |
| Recall | 0.8285714 |
| F1 | 0.7891156 |
| Prevalence | 0.5072464 |
| Detection Rate | 0.4202899 |
| Detection Prevalence | 0.5579710 |
| Balanced Accuracy | 0.7745798 |
9.4 CART ROC
La courbe de ROC de la régression logistique fournit des performances bien meilleures . Cela se voit au niveau de la valeur de l’aire sous la courbe inférieure à celle de la regression logistique. Mais on constate que la courbe de l’arbre de décision est moins nivelée . On en déduira que l’arbre de décision CART est moins performant mais plus stable que la regression logistique. Cela est dû à la sensibilité du bruit présente dans la régression logistique.
10 Apport de la préparation de données
Dans cette partie, nous voulons mettre en évidence l’apport du regroupement . Pour se faire nous avons donc comparé une modélisation de type CART sur un ensemble de données sans regroupement et un ensemble de données avec regroupement.
10.1 Arbre de décision : CART avec données Brut
10.1.1 Matrice de Confusion
| Pred:Bon | Pred:Mauvais | |
|---|---|---|
| Actual:Bon | 58 | 23 |
| Actual:Mauvais | 12 | 45 |
10.1.2 Metriques du modèle
| Sensitivity | 0.8285714 |
| Specificity | 0.6617647 |
| Pos Pred Value | 0.7160494 |
| Neg Pred Value | 0.7894737 |
| Precision | 0.7160494 |
| Recall | 0.8285714 |
| F1 | 0.7682119 |
| Prevalence | 0.5072464 |
| Detection Rate | 0.4202899 |
| Detection Prevalence | 0.5869565 |
| Balanced Accuracy | 0.7451681 |
10.2 Arbre de décision : CART après regroupement de variables
10.2.1 Matrice de Confusion
| Pred:Pred:Bon | Pred:Pred:Mauvais | |
|---|---|---|
| Actual:Actual:Bon | 58 | 19 |
| Actual:Actual:Mauvais | 12 | 49 |
On peut voir que le modèle fournit de légers meilleurs résultats par rapport à la matrice de confusion sans regroupement de variables.
Davantage de données aurait permis de voir des différences plus notables
10.2.2 Metriques du modèles
| Sensitivity | 0.8285714 |
| Specificity | 0.7205882 |
| Pos Pred Value | 0.7532468 |
| Neg Pred Value | 0.8032787 |
| Precision | 0.7532468 |
| Recall | 0.8285714 |
| F1 | 0.7891156 |
| Prevalence | 0.5072464 |
| Detection Rate | 0.4202899 |
| Detection Prevalence | 0.5579710 |
| Balanced Accuracy | 0.7745798 |
La sensitivité et la spécifité sont supérieures après regroupement. On peut en déduire que ce modèle est plus performant que celui-ci sans regroupement de variables.
10.3 Arbre de décision : après regroupement & suppressions des variables “suspects”
10.3.1 Matrice de Confusion
| Pred:Bon | Pred:Mauvais | |
|---|---|---|
| Actual:Bon | 58 | 30 |
| Actual:Mauvais | 12 | 38 |
10.3.2 Metriques du modèle
| Sensitivity | 0.8285714 |
| Specificity | 0.5588235 |
| Pos Pred Value | 0.6590909 |
| Neg Pred Value | 0.7600000 |
| Precision | 0.6590909 |
| Recall | 0.8285714 |
| F1 | 0.7341772 |
| Prevalence | 0.5072464 |
| Detection Rate | 0.4202899 |
| Detection Prevalence | 0.6376812 |
| Balanced Accuracy | 0.6936975 |
On remarque que la suppression des variables déteriore notre modèle. On peut en conculure que celles-ci sont des variables qui expliquent bien notre modèle, leurs suppressions a rendu le modèle instable .
10.4 Comparaison des modèles
CART Brut AUC:
## Area under the curve: 0.7006
CART après regroupement de variables AUC:
## Area under the curve: 0.7544
CART après suppression de variables AUC:
## Area under the curve: 0.6361
Nous constatons à travers l’aire sous la courbe que le meilleur modèle est le modèle qui se base sur les données regroupées. (aire sous la courbe légérement supérieur)
11 Comparaison des modèles
Dans cette partie, nous voulons comparer les modèles suivants :- arbre de décision CART sur les données regroupées
- arbre de décision CHAID sur les données regroupées
- arbre de décision C5 sur les données regroupées
- Regression Logistique sur les données regroupées
11.1 Courbe de lift
La courbe de Lift permet de mettre en évidence la volumétrie de l’echantillion d’apprentissage à partir duquel notre modèle est le plus performant. Nous remarquons que lorsque le modèle a apris 50% de l’echantillion d’apprentissage, il a la meilleure performance. Les arbres de décisions ont tendance à devenir moins performant passé ce seuil, cela est dû au surapprentissage.
Nous en concluons que si nous voulons un modèle plus robuste nous pourrions par exemple réduire l’échantillon d’apprentissage et augmenter l’échantillion de test.
11.2 Courbe de ROC
Regression logistique AUC:
## Area under the curve: 0.842
CART AUC:
## Area under the curve: 0.7544
CHAID AUC:
## Area under the curve: 0.7716
C50 AUC:
## Area under the curve: 0.7868
On remarque que la regression logistique, à travers l’aire sous la courbe, est plus performante que les arbres de décisions, mais les arbres de décisions sont plus stables .
Si nous devrions choisir un modèle, nous pencherons plutôt pour l’arbre de décision CHAID car il semble plus robuste malgré des performances plus faible que la régression logistique qui a tendance à osciller beaucoup .
Nous pensons que la regression logistique est plus sensible aux fluctuations des données .