Objectif Données Régression logistique et courbe lift

Transcription

Objectif Données Régression logistique et courbe lift
Didacticiel - Études de cas
R.R.
Objectif
Sélection de variables pour la régression logistique. Application au ciblage clientèle. Construction
de la courbe lift (Gain Chart).
Le ciblage marketing (ou scoring) est certainement une des applications les plus populaires du Data
Mining. Prenons un exemple pour fixer les idées : un établissement bancaire souhaite promouvoir
un nouveau produit auprès de ses clients. Son budget est limité. Il ne peut pas, et de toute manière
ne souhaite pas, solliciter tous ses clients. Il doit en priorité cibler les personnes les plus
susceptibles de répondre positivement à son offre.
Il s’agit bien d’un apprentissage supervisé. La variable à prédire est la réponse positive ou non à la
sollicitation. Les variables prédictives sont les différents descripteurs qui caractérisent les prospects
(ex. revenu, âge, profession, comportement par rapport autres produits, etc.). Mais l’idée n’est pas
tant de classer les individus, il s’agit plutôt de les hiérarchiser selon leur appétence c.-à-d. leur
aptitude à répondre de manière positive à l’offre. Par la suite, en fonction de ses contraintes
(budget) et de ses objectifs (parts de marché), le décideur pourra définir le nombre de client qu’il
convient de contacter, il nous revient de lui indiquer le nombre de réponses positives qu’il peut
espérer obtenir. Nous disposons pour cela d’un outil dédié : la courbe lift ou courbe de gain.
Dans ce didacticiel, nous présentons la mise en œuvre de la régression logistique dans le cadre du
scoring marketing. L’objectif est double : (1) comment construire et lire la fameuse courbe lift à
l’aide de TANAGRA ; (2) montrer l’intérêt et l’efficacité des techniques de sélection de variables
associées à la régression logistique dans ce contexte.
Données
Pour illustrer notre propos, nous utilisons des données réelles/réalistes en provenance du site
http://www.ssc.ca/documents/case_studies/2000/datamining_f.html. Il contient 2158 observations
et 200 variables prédictives. Si le nombre d’observations est relativement faible, le nombre de
variables correspond à peu près à ce que l’on rencontre souvent dans les études réelles : l’entrepôt
de données de l’entreprise est à même de nous fournir un nombre élevé de variables, peu ou prou
pertinentes, charge au data miner d’y discerner les variables appropriées pour le ciblage.
Pour une manipulation aisée, le fichier a été transformé au format EXCEL. Nous avons rajouté une
variable indicatrice ExStatus (example status). Elle permet de le subdiviser aléatoirement en 1158
observations pour l’apprentissage et 1000 observations pour la construction de la courbe lift. Nous
disposons ainsi d’un dispositif pour comparer des modèles avec des degrés de liberté différents. Le
1
fichier est disponible en ligne .
Régression logistique et courbe lift
Création du diagramme et importation des données
Il est possible d’ouvrir le fichier dans le tableur EXCEL et de lancer TANAGRA en lui transmettant
directement les données en utilisant la macro complémentaire TANAGRA.XLA. Dans ce didacticiel,
nous préférons importer directement le fichier dans TANAGRA. Ce faisant, nous bénéficions
principalement de 2 avantages : le temps d’importation est réduit ; nous pouvons accéder aux
données même si le tableur EXCEL n’est pas installé sur notre ordinateur.
1
http://eric.univ-lyon2.fr/~ricco/tanagra/fichiers/dataset_scoring_bank.xls
21 février 2015
Page 1 sur 16
Didacticiel - Études de cas
R.R.
Après avoir lancé TANAGRA, pour créer un nouveau diagramme, nous activons le menu FILE / NEW.
Une boîte de dialogue apparaît nous invitant à désigner le fichier de données et le nom du
diagramme que nous sommes en train de créer.
Nous sélectionnons le fichier de données DATASET_SCORING_BANK.XLS. Attention, pour que
l’importation de ce type de fichier se déroule correctement, le fichier ne doit pas être en cours
d’édition dans le tableur EXCEL, les données doivent être situées dans la première feuille du
classeur. Il nous faut également spécifier le nom du diagramme et son répertoire de destination.
21 février 2015
Page 2 sur 16
Didacticiel - Études de cas
R.R.
Nous validons en cliquant sur le bouton OK, les données sont chargées et un nouveau diagramme
est créé. Vérifions que 202 variables et 2158 observations ont bien été importées.
Subdivision apprentissage et test
Dans un premier temps, nous devons partitionner le fichier de données : une première partie, dite
« apprentissage », est utilisée pour la construction des modèles ; une seconde partie dite « test »
est réservée pour leur évaluation. Cette subdivision est toujours souhaitable dès lors que nous
voulons obtenir une évaluation crédible des performances. Elle n’est malheureusement réalisable
que lorsque nous disposons d’une base comportant un nombre relativement important
d’observations. En effet, nous courons le risque de compromettre l’apprentissage en lui soustrayant
une partie des données porteuses d’informations.
Nous insérons le composant DISCRETE SELECT EXAMPLES (onglet INSTANCE SELECTION) dans le
diagramme. Nous le paramétrons en activant le menu contextuel PARAMETERS : le rôle de chaque
observation est défini par la variable EXSTATUS, les individus à sélectionner correspondent à la
modalité TRAIN.
21 février 2015
Page 3 sur 16
Didacticiel - Études de cas
R.R.
1158 observations sont sélectionnées pour l’apprentissage, les 1000 restantes seront mises de côté
pour le moment.
21 février 2015
Page 4 sur 16
Didacticiel - Études de cas
R.R.
Définition du problème
L’étape suivante consiste à choisir la variable à prédire, OBJECTIVE (TARGET), et les variables
prédictives (INPUT), toutes les variables continues allant de P01RCY à GENDER3. Nous introduisons
pour cela le composant DEFINE STATUS dans le diagramme. Le plus simple est de passer par le
raccourci de la barre d’outils.
Choix de la méthode d’apprentissage : la régression logistique
Nous décidons de mettre en œuvre la régression logistique. C’est une méthode très populaire
auprès des praticiens pour différentes, plus ou moins bonnes, raisons. Nous en retiendrons
principalement deux : ses fondements théoriques sont directement adaptés au traitement des
variables explicatives constituées d’un mélange de variables continues et de variables indicatrices
0/1 ; les coefficients issus de la régression s’interprètent comme un surcroît de risque d’appartenir
à la modalité positive, ce sont les fameux odds-ratio.
En revanche, en termes de performances en prédiction, par rapport aux autres techniques
induisant une séparation linéaire dans l’espace de représentation, l’analyse discriminante par
exemple, la régression logistique ne se démarque pas vraiment.
Nous plaçons le composant BINARY LOGISTIC REGRESSION dans le diagramme. Nous activons le
menu contextuel VIEW pour accéder aux résultats. La dimensionnalité étant assez élevée, le calcul
prend un peu de temps, mais cela reste raisonnable (5 secondes sur notre machine).
21 février 2015
Page 5 sur 16
Didacticiel - Études de cas
R.R.
La fenêtre de résultats est fractionnée en plusieurs parties.
La première partie comporte la matrice de confusion
Elle est peu utile dans notre contexte. Nous ne cherchons pas affecter absolument tel ou tel
individu à telle ou telle catégorie, nous cherchons plutôt à les hiérarchiser de manière à ce que les
individus « intéressants », avec une propension élevée à être positif, soient classés premiers.
De plus, étant calculée sur les données en apprentissage, le taux d’erreur d’affectation qui en est
issu est souvent optimiste, surtout au regard du faible ratio nombre d’individus positifs / nombre de
variables (591 / 200  2.955) de notre fichier. Pour que les résultats en apprentissage soient
réellement instructifs, et les coefficients interprétables, certains auteurs recommandent un ratio de
2
10 observations positives par co-variable . Dans notre cas, l’objectif étant avant tout la prédiction,
le véritable juge de paix sera la partie test des données que nous avons mise de côté.
2
Voir P. Taffé, « Cours de Régression Logistique Appliquée », page 40, accessible en ligne à l’URL
http://www.tesser-pro.org/stat/Cours_regression_logistique.pdf
21 février 2015
Page 6 sur 16
Didacticiel - Études de cas
R.R.
La seconde partie indique la qualité globale de la régression
Plusieurs indicateurs sont proposés. Tous reposent sur la comparaison entre le modèle constitué de
la seule constante et le modèle intégrant les variables explicatives. Certains indicateurs sont des
ratios, telles les R² qui peuvent se lire, très approximativement, comme le coefficient de
détermination de la régression linéaire. D’autres introduisent des tests statistiques basés sur le
ratio de vraisemblance (LR). Dans notre cas, il semble que la régression soit globalement
significative. D’autres enfin mettent en balance la qualité de l’ajustement (-2LL = -2 x logvraisemblance que l’on cherche à minimiser) et la complexité du modèle. Si on se réfère au critère
de Schwartz (SC que l’on retrouve sous l’appellation BIC dans d’autres logiciels), qui est très
restrictif, il semble bien que le modèle soit trop complexe (SC du modèle avec la constante seule =
1604.831 vs. SC du modèle comportant les 200 variables = 2387.433).
La troisième partie comporte les coefficients du modèle
En plus des coefficients, nous disposons de l’estimation de leur écart-type, de la statistique de Wald
destinée à évaluer leur significativité, c.-à-d. tester si le coefficient s’écarte significativement de 0,
et de la probabilité critique du test. A ce stade commence réellement le travail d’analyse. A la
lumière du signe, de la valeur et de la significativité des coefficients, l’expert du domaine sera à
même d’interpréter les résultats, comprendre le sens des causalités, de proposer des études
alternatives en supprimant manuellement certaines variables ou en rajoutant d’autres variables
synthétiques, notamment pour mettre en évidence les interactions.
21 février 2015
Page 7 sur 16
Didacticiel - Études de cas
R.R.
Pour notre part, nous nous bornerons à remarquer que de nombreuses variables sont redondantes.
Elles se gênent mutuellement dans la régression. La sélection de variables que nous introduirons
plus loin jouera un rôle primordial. C’est souvent le cas dans le contexte des études réelles où les
variables sont mises en vrac dans le but d’obtenir une prédiction aussi performante que possible, à
charge pour la technique de sélectionner celles qui sont les plus pertinentes.
La quatrième partie comporte les odds-ratios
Il s’agit de l’exponentielle des coefficients. TANAGRA fournit aussi les intervalles de confiance à 5%.
Scoring et construction de la courbe lift
Il nous faut maintenant attribuer à chaque individu sa probabilité d’être positif. Pour ce faire, nous
insérons le composant SCORING (onglet SCORING) dans le diagramme. Nous le paramétrons de
manière à calculer la probabilité de la modalité « positive ».
Nous activons le menu VIEW. TANAGRA indique qu’une nouvelle variable SCORE_1 a été créée.
L’opération a été réalisée sur l’ensemble de la base, y compris les individus en test. Cette
21 février 2015
Page 8 sur 16
Didacticiel - Études de cas
R.R.
information est importante car c’est sur ces derniers que nous évaluerons la qualité du modèle par
la suite.
Pour construire le courbe lift, nous devons indiquer à TANAGRA la variable cible de référence et la
variable qui sert à ordonner les observations. Nous introduisons de nouveau le composant DEFINE
STATUS, toujours en utilisant le raccourci dans la barre d’outils. Nous plaçons en TARGET la variable
OBJECTIVE, en INPUT la variable SCORE_1 construite précédemment.
Il ne reste plus qu’à insérer le composant LIFT CURVE (onglet SCORING) dans le diagramme. Nous
actionnons le menu PARAMETERS afin de spécifier : la modalité positive de la variable cible, les
individus sur lesquels sera construite la courbe. Nous choisissons la partie test c.-à-d. les 1000
individus que nous avions mis de côté au départ.
21 février 2015
Page 9 sur 16
Didacticiel - Études de cas
R.R.
Nous activons le menu VIEW pour accéder aux résultats, la courbe LIFT s’affiche directement.
Un graphique est toujours plaisant mais nous disposons de plus de détails dans l’onglet HTML.
21 février 2015
Page 10 sur 16
Didacticiel - Études de cas
R.R.
Sur les 1000 individus en test, 488 sont positifs. Si nous ciblons 300 individus (30% de 1000), nous
pouvons espérer atteindre 46% des positifs, soit 46% x 488 # 225 individus. Si nous avions envoyé
les lettres au hasard, sans ciblage, nous aurions obtenu 30% x 488 # 146 réponses positives. C’est
l’écart (225 – 146) = 79 individus supplémentaires conquis qui justifient notre présence dans les
entreprises.
Régression logistique et sélection de variables
Sélection de variables – Le composant FORWARD LOGIT
Pour intéressante qu’elle soit, notre première analyse comporte une lacune importante. Le nombre
de variables est trop important pour espérer extraire une interprétation intéressante des
coefficients. D’autant plus qu’aucune variable ne semble significative au seuil de 1% que l’on s’est
choisi. Nous devons réduire leur nombre.
La sélection de variables est une étape primordiale. Elle facilite grandement la lecture des résultats
et, de plus, le modèle est bien souvent plus performant. Le ratio nombre d’observations / nombre
de variables étant amélioré, les estimations sont nettement plus fiables. De toute manière, même
si les performances stagnaient, une réduction du nombre de variables est toujours un plus en
termes de portabilité et d’industrialisation du modèle.
Il existe plusieurs stratégies de réduction de la dimensionnalité. Dans ce didacticiel, nous nous
contenterons d’une approche purement mécanique en utilisant la sélection par avant (FORWARD
SELECTION). Elle consiste à démarrer avec le modèle ne comportant que la constante, puis
d’ajouter, au fur et à mesure, la variable la plus performante au sens du test du Score (Pour plus de
détails, voir
–
http://eric.univ-lyon2.fr/~ricco/cours/slides/regression_logistique.pdf). La règle
d’arrêt naturelle consiste à stopper l’adjonction lorsque, à une étape donnée, la meilleure variable
n’est plus significative au sens du seuil de significativité (de 1%) que l’on s’est choisi.
21 février 2015
Page 11 sur 16
Didacticiel - Études de cas
R.R.
Nous insérons le composant FORWARD-LOGIT (onglet FEATURE SELECTION) juste après le
composant DEFINE STATUS 1 de notre diagramme. En activant le menu PARAMETER, nous
constatons que nous avons la possibilité, en introduisant une valeur seuil strictement positive, de
limiter la recherche en définissant un nombre maximum de variables à sélectionner. Cette option
se révèle particulièrement pratique lorsque nous travaillons sur des bases comportant un très
grand nombre de variables candidates (de l’ordre de plusieurs milliers). Dans notre cas, nous
laissons ce paramètre à 0 c.-à-d. seul le paramètre « probabilité pour la sélection » est activé.
Nous activons le menu VIEW pour accéder aux résultats. Selon le nombre de variables et le nombre
d’observations, le calcul peut être relativement long. Dans notre étude, il dure 5 secondes.
21 février 2015
Page 12 sur 16
Didacticiel - Études de cas
R.R.
9 variables ont été sélectionnées. Elles sont directement proposées en INPUT à la sortie du
composant. Dans la partie basse de la fenêtre, nous disposons du détail des calculs à chaque
étape. Pour éviter la surabondance des informations, l’affichage est volontairement limité aux 5
premières variables, nous pouvons le paramétrer.
Le détail des résultats permet déjà de contrôler le processus. Il permet aussi de diagnostiquer
finement le rôle des variables. A l’étape n°2, nous remarquerons par exemple que PRODUCTCOUNT
et PRODUCTCOUNT6 sont en compétition. Une fois la première introduite, la seconde disparaît
totalement des meilleures places. Il est vraisemblable que ces variables soient fortement
redondantes.
Régression logistique sur les variables sélectionnées
De nouveau, nous introduisons le composant régression logistique binaire (BINARY LOGISTIC
REGRESSION – onglet SPV LEARNING) à la suite du composant FORWARD-LOGIT 1. Il opère la
régression sur les 9 variables sélectionnées.
21 février 2015
Page 13 sur 16
Didacticiel - Études de cas
R.R.
Si l’on s’en tient à la matrice de confusion et les pseudo-R², la régression semble de moins bonne
qualité. Lorsqu’on se tourne vers les indicateurs tenant compte de la complexité (AIC et SC), on se
rend compte que la réduction du nombre de variables améliore la qualité du modèle. Nous
reprenons dans un tableau ci-dessous ces indicateurs.
Indicateur
Constante seule
Const. + 200 variables
Const. + 9 variables
AIC
1611.886
1361.431
1223.021
SC (ou BIC)
1604.831
2377.375
1273.566
Les deux critères s’accordent pour désigner le modèle à 9 variables comme le plus intéressant.
Notons que le critère -2LL n’est absolument pas approprié dans le contexte de la sélection, il
diminue mécaniquement lorsque nous augmentons le nombre de variables.
Il ne nous reste plus qu’à insérer les mêmes composants que précédemment : SCORING + DEFINE
STATUS (SCORE_2 cette fois-ci en INPUT, OBJECTIVE toujours en TARGET) + LIFT avec les
paramétrages adéquats. Nous obtenons la courbe suivante.
21 février 2015
Page 14 sur 16
Didacticiel - Études de cas
R.R.
La courbe est quasiment identique. En nous penchant sur les détails (onglet HTML), nous
constatons que lorsque nous ciblons les 30% premiers individus, nous pouvons espérer atteindre
47% des positifs, soit 47% x 488 # 230 individus. Le gain est faible par rapport à la régression
précédente, il faut en convenir. A la différence que nous avons maintenant un modèle à 9 variables.
L’interprétation des coefficients, et par là, des odds-ratios, est autrement plus aisée.
Sélection BACKWARD
TANAGRA intègre un second composant de sélection de variables basée sur la régression logistique
(BACKWARD LOGIT – onglet FEATURE SELECTION). Il procède par éliminations successives à partir
du test de Wald. Certains auteurs pensent que cette stratégie est plus performante car elle permet
3
de tenir compte des relations entre les variables . Certes, certes. On notera cependant que les
calculs sont autrement plus longs. On notera surtout qu’il s’agit là avant tout de procédures
purement mécaniques de sélection. Elles nous proposent des scénarios. Il nous revient d’inspecter
consciencieusement les différentes solutions proposées pour les valider.
Voici, à titre indicatif (sauvegardez votre travail avant de lancer le traitement), les résultats fournis
par la sélection BACKWARD. La durée des calculs est plus élevée (872 secondes # 14 minutes). En
effet, puisque 12 variables sont sélectionnées à la sortie, le composant a procédé à 189 (200 - 12
+ 1) régressions logistiques, et autant d’optimisation de la log-vraisemblance à l’aide de
4
l’algorithme de NEWTON-RAPHSON . Chaque régression durant approximativement 5 secondes, le
temps de calcul est vite déduit.
3
S. Menard, « Applied Logistic Regression Analysis - Second Edition », Quantitative Applications in the Social
Sciences Series, Sage Publications, 2002 ; page 64.
4
A l’ancien LEVENBERG-MARQUARDT (version 1.4.21) a été substitué un NEWTON-RAPHSON dans la version
1.4.27 de TANAGRA. Robuste depuis qu’un terme de régularisation a été introduit dans la matrice hessienne.
21 février 2015
Page 15 sur 16
Didacticiel - Études de cas
R.R.
Parmi les 12 variables finalement sélectionnées, 6 sont communes au deux méthodes BACKWARD
et FORWARD. En construisant la courbe LIFT, on constate que le modèle proposé n’est pas meilleur
(46% de positifs parmi les 30% premiers ciblés). La méthode BACKWARD se justifie avant tout sur
les petites bases où l’on essaie d’analyser finement les relations et interactions entre les variables.
Backward
ahh6ppers
binminca
binmincm
binmincs
bknfren
brlcathol
brlrcathol
gender2
gender3
p02rcy
p12rcy
productcount
-
Forward
ahh6ppers
bfiinca
bknfren
gender3
p02rcy
p05trans
p12rcy
productcount
tf100
Conclusion
Dans ce didacticiel, nous avons présenté la construction de la courbe lift dans le cadre du Scoring
marketing. Nous en avons profité pour présenter deux nouveaux composants (version 1.4.21 de
TANAGRA) de sélection de variables pour la régression logistique.
21 février 2015
Page 16 sur 16