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
Il est important de connaître les types de données que nous devons analyser. Il existe 2 types de variables explicatives :

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 valeurs des modalités est trop faible par rapport au jeu de données (ce qui peut rendre le modèle instable), on le regroupe avec une autre valeur ayant un sens grammatical ou un sens métier équivalent. En général, on fixe un seuil à 30 %.

4.1 Variable : Age

Pour la variable explicative “Age_du_client”, on remarque que les observations de la catégorie “moins de de 23 ans” est sous représentée (-30 %), 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 sous représentée. 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 sous-répresentées :
  • 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 sous-representée 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 sous représentées :
  • 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 sous representées 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 sous representées 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 sous representées (inferieur à 30%), 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 :

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. ##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 Echantionnage (Apprentissage/Test)

Nous allons séparer notre échantillion de données en deux sous-échantillions:

7.1 Echantionnage d’apprentissage (70% des données)

Classe Effectif
Bon 162
Mauvais 165

7.2 Echantionnage de test (30% des données)

Classe Effectif
Bon 75
Mauvais 66

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 1.3331616
Age_du_clientplus de 50 ans 0.8772513
Situation_familialecélibataire 2.9328461
Situation_familialemarié 1.9318795
Anciennetéanc de 1 à 6 ans 3.4908738
Anciennetéanc de 6 à 12 ans 2.9470701
Anciennetéanc plus 12 ans 3.1915524
Domiciliation_du_salaireOui domicilié 4.1731470
Domiciliation_epargnepas d'épargne 1.2308941
Professioncadre 1.5089956
Professionemployé 0.9929310
Moyenne_encoursmoins de 2K encours 1.8603460
Moyenne_encoursplus de 5 K encours 0.0521829
Moyenne_des_mouvementsde 30 à 50K mouvt 2.1977917
Moyenne_des_mouvementsplus de 50K mouvt 2.6074905
Cumul_des_débitsmoins de 40 débits 1.5844572
Cumul_des_débitsplus de 100 débits 3.2703802
Autorisation_de_découvertdécouvert interdit 0.3755719
Interdiction_de_chéquierchéquier interdit 3.4357745
Les variables ayant un overall élévé sont celles qui ont un impact plus important dans le modèle. ##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
Bon Mauvais
Bon 59 15
Mauvais 16 51

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.2 Metriques du modèle

Sensitivity 0.7866667
Specificity 0.7727273
Pos Pred Value 0.7972973
Neg Pred Value 0.7611940
Precision 0.7972973
Recall 0.7866667
F1 0.7919463
Prevalence 0.5319149
Detection Rate 0.4184397
Detection Prevalence 0.5248227
Balanced Accuracy 0.7796970
Nous avons donc les métriques suivantes:
  • 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.3 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 11.632962
Cumul_des_débitsmoins de 40 débits 7.503077
Cumul_des_débitsplus de 100 débits 30.672502
Domiciliation_du_salaireOui domicilié 28.167314
Domiciliation_epargnepas d’épargne 5.815174
Interdiction_de_chéquierchéquier interdit 33.527534
Moyenne_des_mouvementsplus de 50K mouvt 7.631520
Moyenne_encoursmoins de 2K encours 25.715353
Moyenne_encoursplus de 5 K encours 3.706445
Professioncadre 2.615897
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
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

Bon Mauvais
Bon 60 23
Mauvais 15 43

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.8000000
Specificity 0.6515152
Pos Pred Value 0.7228916
Neg Pred Value 0.7413793
Precision 0.7228916
Recall 0.8000000
F1 0.7594937
Prevalence 0.5319149
Detection Rate 0.4255319
Detection Prevalence 0.5886525
Balanced Accuracy 0.7257576

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

Bon Mauvais
Bon 45 23
Mauvais 30 43

10.1.2 Metriques du modèle

Sensitivity 0.6000000
Specificity 0.6515152
Pos Pred Value 0.6617647
Neg Pred Value 0.5890411
Precision 0.6617647
Recall 0.6000000
F1 0.6293706
Prevalence 0.5319149
Detection Rate 0.3191489
Detection Prevalence 0.4822695
Balanced Accuracy 0.6257576

10.2 Arbre de décision : CART après regroupement de variables

10.2.1 Matrice de Confusion

Bon Mauvais
Bon 60 23
Mauvais 15 43

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.8000000
Specificity 0.6515152
Pos Pred Value 0.7228916
Neg Pred Value 0.7413793
Precision 0.7228916
Recall 0.8000000
F1 0.7594937
Prevalence 0.5319149
Detection Rate 0.4255319
Detection Prevalence 0.5886525
Balanced Accuracy 0.7257576

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

Bon Mauvais
Bon 57 27
Mauvais 18 39

10.3.2 Metriques du modèle

Sensitivity 0.7600000
Specificity 0.5909091
Pos Pred Value 0.6785714
Neg Pred Value 0.6842105
Precision 0.6785714
Recall 0.7600000
F1 0.7169811
Prevalence 0.5319149
Detection Rate 0.4042553
Detection Prevalence 0.5957447
Balanced Accuracy 0.6754545

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.7064

CART après regroupement de variables AUC:

## Area under the curve: 0.7549

CART après suppression de variables AUC:

## Area under the curve: 0.7011


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 :

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.8385

CART AUC:

## Area under the curve: 0.7549

CHAID AUC:

## Area under the curve: 0.7916

C50 AUC:

## Area under the curve: 0.7491

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 .