Table des matières
Résumé 3
Abstract 4
Remerciements 5
Introduction 6
1 Cadre de l’étude 8
1.1 Périmètre de l’étude . . . 8
1.2 Objectifs . . . 9
1.2.1 Une nouvelle méthode de provisionnement . . . 10
1.2.2 Création de groupes de contrats homogènes . . . 11
1.3 Présentation des données . . . 12
1.3.1 Données à disposition . . . 12
1.3.2 Création de la base . . . 16
1.3.3 Présentation de la base finale . . . 19
1.3.4 Absence de certains sinistres . . . 20
2 Généralités sur l’apprentissage automatique 23 2.1 Principe de base . . . 23
2.1.1 Les grandes familles d’apprentissage . . . 23
2.1.2 Objectifs de l’apprentissage automatique . . . 24
2.1.3 Arbre de décision . . . 25
2.1.4 Avantages et inconvénients . . . 29
2.2 Définition du sur-apprentissage . . . 31
2.3 Le modèle CART . . . 34
2.3.1 Arbre maximal . . . 34
2.3.2 Découpage de la base de données . . . 35
2.3.3 Elagage par la base de validation . . . 39
2.3.4 Elagage par xerror . . . 42
2.3.5 Sorties R . . . 43
2.3.6 Objectif de l’utilisation de CART . . . 45
3 Délimitation et amélioration de la base 46
3.1 Ecrêtement de la base . . . 46
3.1.1 Mise en évidence du besoin d’écrêter . . . 46
3.1.2 Choix de l’écrêtement . . . 48
3.1.3 Traitement des sinistres écrêtés . . . 53
3.1.4 Comparaison des variables réponses . . . 55
3.2 Paramétrage des variables . . . 56
3.2.1 Encodage des variables à modalités . . . 56
3.2.2 Sélection des variables . . . 58
3.2.3 Maille de l’estimation . . . 61
3.3 Analyse de l’impact des caractéristiques sur le S/P . . . 62
3.4 Synthèse . . . 67
3.4.1 Récapitulatif de l’amélioration de la base . . . 67
3.4.2 Correction des sinistres manquants . . . 69
4 Création des modèles et comparaison 71 4.1 Bagging . . . 71
4.1.1 Le bootstrap . . . 71
4.1.2 Définition du modèle . . . 72
4.1.3 Création du modèle Bagging . . . 75
4.2 Random Forest . . . 77
4.2.1 Définition du modèle . . . 77
4.2.2 Création du modèle Random Forest . . . 81
4.3 Choix du modèle . . . 86
4.4 Le backtesting . . . 87
5 Analyse des résultats 89 5.1 Prédiction des S/P des contrats . . . 89
5.2 Détection des contrats onéreux . . . 92
5.3 Prédiction de l’évolution du S/P total . . . 97
Conclusion 100
Annexes 102
Table des figures 113
Bibliographie 115
Résumé
Mots-clés :
Flotte automobile, provisionnement, ratio S/P, apprentissage automatique, arbre de décision, sur-apprentissage, CART, bagging, forêt aléatoire, backtesting, erreur quadratique moyenne
Dans ce mémoire, nous avons pour but d’estimer les ratio S/P futurs des contrats flottes auto- mobiles de Generali.
Pour ce provisionnement individualisé, nous avons décidé d’utiliser des méthodes d’apprentissage automatique. Elles sont plus appropriées à notre problématique que les méthodes classiques de provisionnement agrégées. Nous avons créé et comparé plusieurs modèles, en utilisant différentes méthodes : CART, bagging et forêt aléatoire, plus connue sous le nom anglais de "random forest".
Nous avons ensuite sélectionné celui nous permettant d’obtenir les meilleurs résultats, c’est-à-dire celui qui avait l’erreur quadratique moyenne la plus faible.
Nous avons alors testé le modèle choisi en simulant des conditions réelles d’utilisation en mettant en place un backtesting.
Nous l’avons aussi utilisé pour séparer nos contrats en deux groupes : les contrats rentables et les non rentables. Nous avons tenté d’expliquer comment les caractéristiques de nos contrats pouvaient déterminer leur groupe.
Finalement, nous avons conclu en exposant les principales limites de notre étude. Elles pourront être la base des futures améliorations de notre modèle.
Abstract
Keywords :
Car fleet, reserving, loss ratio, machine learning, decision tree, over-learning, CART, bagging, random forest, backtesting, mean square error (MSE)
In this thesis, we wanted to estimate the loss ratio of Generali’s car fleet contracts.
For this individualized reserving, we decided to use machine learning methods. They are more appropriate than the classic aggregate ones. We created and compared models, using differents methods like CART, bagging, or random forest. Then, we selected the model which had the best results, which means the lower mean square error, also called MSE.
So, we used the model by simulating real-life utilisation conditions with backtesting.
We also used it to divide the contracts into two groups : the profitable ones, and the unprofitables ones. We tried to explain how the contracts features could impact their group.
Finally, in conclusion, we show the main limits of our study. There could be some future impro- vements of our model.
Remerciements
Avant toutes choses, j’aimerais remercier monsieur Pierre-Marie BERETTI, mon tuteur au sein de Generali, pour avoir encadré ce mémoire durant ma période d’alternance, puis une fois embauché.
Il a su répondre à toutes mes questions, tout en m’accompagnant pas à pas dans toutes les étapes de ma réflexion et m’aidant à surmonter les difficultés rencontrées.
Je remercie aussi monsieur Raphaël GUILMIN, manager du service Inventaire IARD, pour m’avoir accompagné dans la définition du sujet de ce mémoire. Il m’a aussi permis d’adapter mes missions afin qu’elles coïncident avec la recherche liée à mon mémoire.
Plus généralement, je souhaite d’ailleurs remercier tous les membres du service Inventaire IARD pour la manière chaleureuse dont ils m’ont accueilli, pour la bonne ambiance de travail qu’ils ont su créer et pour la disponibilité dont ils ont fait preuve afin de répondre à mes différentes questions.
J’aimerais aussi remercier le corps enseignant de l’Institut de Science Financière et d’Assurances qui m’a permis d’acquérir les notions nécessaires à la réalisation de ce mémoire et m’a guidé tout au long de mon apprentissage. Je remercie plus particulièrement monsieur Alexis BIENVENÜE, mon tuteur de mémoire au sein de l’ISFA.
Pour finir, j’aimerais saluer le soutien sans faille de ma famille et de mes amis qui a, sans aucun doute, eu un rôle primordial dans la réalisation de ce mémoire.
Introduction
Le service provisionnement IARD a pour but d’estimer le montant final, appelé ultime, des sinistres liés à des contrats non-vie survenus sur une année civile, dite année de survenance. La méthode la plus répandue pour déterminer ces ultimes est la méthode Chain Ladder. Elle a l’avantage d’être simple d’utilisation et d’obtenir de bons résultats lorsque les données utilisées sont de bonnes qualités. Cependant, cette méthode possède deux limites majeures.
Premièrement, comme la plupart des autres méthodes de provisionnement IARD, elle est dite agrégée, c’est-à-dire que l’on cherche à estimer un montant total, et non par sinistre ou par contrat.
Ce n’est pas un problème pour déterminer une provision, seulement parfois nous avons besoin d’une analyse plus détaillée de la répartition de la sinistralité parmi nos contrats.
Deuxièmement, cette méthode se base sur l’observation des sinistres actuels pour déterminer un ultime. Elle ne peut donc être utilisée que lorsqu’un nombre assez conséquent de sinistres a été déclaré. Cela l’empêche donc de prédire un montant de provision pour l’année en cours dès le début d’année. Aujourd’hui, lorsque l’on veut estimer la sinistralité de l’année de survenance en cours dès le début d’année, on fait une moyenne des S/P des années précédentes. Nous avons donc besoin de l’hypothèse que les contrats de notre portefeuille ont les mêmes caractéristiques que ceux présents précédemment, ce qui n’est pas toujours le cas.
Pour remédier à ces problèmes nous allons, dans ce mémoire, utiliser une méthode dite ligne à ligne. On ne s’intéresse plus à la provision globale, mais à celle que l’on estime pour chaque contrat.
Les démarches ligne à ligne ne sont pas encore très répandues en provisionnement. Celles que nous allons utiliser ici font partie de la famille des méthodes d’apprentissage automatique, ou machine learning, et plus particulièrement les modèles CART, bagging, random forest, qui seront explicités plus tard. Elles permettent en effet de s’affranchir des deux problèmes mentionnés ci-dessus car, par définition, une méthode ligne à ligne calcule des provisions à la maille la plus fine possible, c’est-à-dire par contrat. De plus, les données utilisées ne concernent pas la sinistralité observée mais des variables intrinsèques du contrat. Cela nous permet donc de calculer une provision pour l’année en cours dès le début de celle-ci, malgré le manque d’information, et de tenir compte des nouvelles caractéristiques des contrats de notre portefeuille.
La problématique de ce mémoire sera donc : Comment prédire le ratio S/P des contrats flottes automobiles de Generali à l’aide de méthodes d’apprentissages automatiques ?
Pour répondre à cette question nous allons commencer par présenter le cadre de notre étude, c’est-à-dire les données utilisées, ainsi que leur obtention.
Nous fixerons ensuite les fondamentaux de l’apprentissage automatique. Cette partie apportera les informations générales nécessaires à la compréhension des modèles vus plus tard.
Nous utiliserons alors ces premières généralités sur l’apprentissage automatique pour adapter notre base de données, ainsi que nos variables, à nos futures méthodes. Nous testerons ensuite deux modèles principaux de l’apprentissage automatique : le bagging et lerandom forest.
Nous finirons par comparer ces modèles, ainsi que leur résultat, afin de choisir le plus adapté.
Nous testerons alors le modèle tout juste créé à l’aide d’unbacktesting.
Chapitre 1
Cadre de l’étude
Dans ce chapitre, nous allons remettre en contexte notre étude. Dans un premier temps nous délimiterons le périmètre auquel nous avons appliqué nos modèles et expliquerons ce choix en énon- çant ses avantages et inconvénients. Ensuite nous verrons les différents points où ce travail pourra être utile à Generali, ce qui fixera donc les objectifs de notre étude. Pour finir, nous présenterons succinctement les données mises à disposition par Generali France, puis comment la base à été créée pour répondre au mieux aux attentes explicitées précédemment.
1.1 Périmètre de l’étude
Le périmètre choisi dans ce mémoire sera celui des contrats du produit des flottes automobiles de Generali France, entre le 01/01/2011 et le 31/12/2017, et vus en janvier 2018.
Plusieurs raisons nous ont poussés à choisir ce périmètre pour notre étude. Premièrement, Ge- nerali France a peu de prévisions fiables des futurs S/P, ratio sinistre sur prime, de ses nouveaux contrats flottes automobiles, aussi appelés "affaires nouvelles". Cependant, ce ratio S/P est primor- dial car il nous indique si le contrat est rentable ou non. Pour les anciens contrats, nous pouvons avoir une idée du ratio S/P en regardant le passé, et donc le S/P empirique, mais ce n’est pas aussi simple pour les affaires nouvelles. Il serait donc intéressant d’avoir une prédiction du S/P des nou- veaux contrats. Cet aspect sera expliqué plus en profondeur dans la partie suivante où nous allons détailler les différents objectifs de l’étude.
Conscient de ce problème, Generali France a lancé une campagne de récupération des données de ces contrats actuels, dans le but de s’en servir pour anticiper les S/P des affaires nouvelles. On arrive donc à la seconde raison de choisir ce périmètre en particulier. Un important travail pour récolter ces données à été fait, donc la base mise a disposition par Generali France est assez bien fournie pour utiliser des méthodes d’apprentissages automatiques.
Évidemment, comme tout périmètre, il comporte des points positifs et des négatifs. Nous allons essayer ici d’énoncer les principaux, afin de savoir quels sont les avantages à exploiter, et quels sont les inconvénients qui vont créer des difficultés à prendre en compte dans la suite du mémoire.
Avantages :
— En général les contrats automobiles contiennent beaucoup d’informations sur l’objet assuré.
Toutes ces informations sont autant de variables explicatives, et leur grand nombre rend nos modèles plus robustes.
— En France il existe des bases qui donnent les caractéristiques des entreprises (via le numéro SIRET) ou des véhicules (via le code SRA par exemple) qui peuvent nous aider à étayer nos bases.
— Comme nous l’avons évoqué plus haut, notre but est de travailler sur les S/P des contrats.
Dans un contrat automobile particulier, pour une année donnée, le S/P est souvent soit à 0 % s’il n’y a pas eu de sinistre, soit très élevé s’il y en a eu un, car le montant de la prime est très faible face au prix moyen d’un sinistre. Il est donc difficile de créer des groupes homogènes.
Dans les contrats flottes automobiles, les données sont agrégées, ce qui facilite le travail sur les S/P.
— Dans ce genre de contrats il y a différents types de garanties couvertes, avec des sinistres qui se comportent complètement différemment. Par exemple la garantie "Bris de Glace" a une fréquence forte et des coûts faibles, à l’inverse de la garantie "Vol". Il peut être intéressant d’essayer de modéliser chaque garantie, ou bien tous les sinistres agrégés, afin de constater les différences de résultats.
Inconvénients :
— Les contrats flottes automobiles sont souscris par les entreprises, il est donc impossible d’avoir des informations sur les conducteurs. Cela peut être problématique car on a tendance à dire que le montant des sinistres est souvent expliqué par les données du véhicule, tandis que la fréquence est, elle, expliquée par les données du conducteur. Notons que pour palier à ce problème nous utilisons les données de l’entreprise. Cela pourra servir à les regrouper par classe de conducteurs homogènes, nous pouvons donc tenter de détecter les entreprises qui recrutent et forment bien leurs conducteurs par exemple.
— En utilisant les données des contrats de 2011 à 2017 vues en janvier 2018, on prend le risque de rater certains sinistres déclarés tardivement, principalement pour les années de survenance récentes (2016, 2017).
— Notre nombre de variables explicatives est grand et même si cela est une bonne chose, il faut faire attention à ne pas faire de sur-apprentissage. De plus, il serait peut-être préférable de diminuer ce nombre, en supprimant certaines variables, ou de créer des modalités au sein des variables, pour que le temps de calcul des modèles reste raisonnable.
1.2 Objectifs
Nous avons déjà annoncé en amont de ce mémoire que le but de notre étude est de mieux prévoir le coût futur des sinistres agrégés des contrats flottes automobiles de Generali France.
De plus, la nouvelle norme IFRS 17 devrait remplacer IFRS 4 dès le 01/01/2021, amorcée par une année d’exercice transitoire en 2020. Les assurances commencent donc à anticiper ce changement.
Nous allons donc tenter d’estimer de quelle manière notre étude pourra aider Generali France à s’adapter à cette nouvelle norme.
1.2.1 Une nouvelle méthode de provisionnement
Comme nous l’avons dit précédemment, nous n’avons pas à l’heure actuelle, à Generali France, une prévision des futurs S/P des affaires nouvelles. En général, pour provisionner les nouveaux contrats, on leur fixe un niveau de S/P correspondant à la moyenne des S/P empiriques des anciens contrats.
Il y a trois problèmes majeurs dans cette démarche. Premièrement, cela requiert l’hypothèse forte que les anciens contrats et les affaires nouvelles sont tous deux exposés aux mêmes risques. Cette hypothèse n’est absolument pas fondée car nous ne regardons pas si les caractéristiques des affaires nouvelles correspondent en moyenne aux caractéristiques des anciens contrats. Le S/P, estimé de cette manière, est donc peu précis car il ne tient aucunement compte d’une inhomogénéité potentielle entre les anciens et les nouveaux contrats.
Deuxièmement, toutes les affaires nouvelles ont le même S/P. On ne sait donc pas dire quels sont les contrats où le S/P est trop faible, et donc que la prime est trop élevée comparée au risque, ce qui pourrait avoir comme conséquence que notre bon risque aille chez un concurrent. On ne voit pas non plus les contrats avec un S/P trop élevé, dont il faut augmenter la prime, voire même tenter de se séparer, car ce sont de mauvais risques.
Troisièmement, en attribuant aux affaires nouvelles un S/P moyen, nous ne pouvons pas prédire les fluctuations futures du S/P global de notre porte-feuille de contrats du produit des flottes automo- biles. Cela serait pourtant possible si le S/P des nouvelles affaires était déterminé indépendamment des anciens contrats. Les affaires nouvelles impacteraient positivement (respectivement négative- ment) le résultat du produit flottes automobiles si leur S/P moyen était inférieur (respectivement supérieur) au S/P total des anciens contrats.
Notre premier objectif sera donc de créer un modèle permettant de prédire le S/P d’un contrat, en utilisant toutes ses caractéristiques. Nous pourrons alors nous en servir pour provisionner les affaires nouvelles.
Ensuite, nous pourrions imaginer une méthode qui permettrait d’estimer les variations futures du S/P global du portefeuille de contrats.
Par exemple, en faisant l’hypothèse que les S/P réels des anciens contrats ne changent pas au cours du temps, et que l’on sait les déterminer. En notantS/Pile S/P de l’ancien contrat numéroté i, avec i allant de 1 à N, le nombre d’anciens contrats. De plus, on notePila prime de ce même contrat i. Symétriquement, on note s/pk le S/P, déterminé par cette étude, de l’affaire nouvelle numérotée k, avec k allant de 1 à n, le nombre d’affaires nouvelles, avec pk sa prime.
On pourrait estimer le S/P total du produit flottes automobiles par :
S/Ptot= PN
i=1Pi(S/Pi) +Pn
k=1pk(s/pk) PN
i=1Pi+Pn k=1pk
Ce qui nous permettrait de savoir, en amont de l’année, comment le S/P global va probablement évoluer par rapport aux années précédentes.
1.2.2 Création de groupes de contrats homogènes
Comme nous l’avons évoqué plus tôt, la norme IFRS 17 devrait entrer en vigueur dès le 01/01/2021.
Cette norme affecte directement le provisionnement des sinistres, et une année d’exercice transitoire est prévue en 2020. Nous avons donc besoin de commencer dès maintenant à anticiper les futures demandes de la norme.
Nous pouvons lire dans le texte officiel d’IFRS 17 "An entity shall divide a portfolio of insurance contracts issued into a minimum of :
— (a) a group of contracts that are onerous at initial recognition, if any ;
— (b) a group of contracts that at initial recognition have no significant possibility of becoming onerous subsequently, if any ; and
— (c) a group of the remaining contracts in the portfolio, if any."
Ce qui se traduit par : "Au minimum, une entreprise doit diviser son portefeuille de contrats par trois :
— (a) un groupe de contrats onéreux lors de la comptabilisation initiale, s’il y en a ;
— (b) un groupe de contrats qui, lors de la comptabilisation initiale, n’a pas une probabilité significative de devenir onéreux, s’il y en a ;
— (c) un groupe composé des contrats restants, s’il y en a"
Afin de mieux comprendre la décomposition des groupes ci-dessus, voici la définition officielle d’un contrat onéreux :
"An insurance contract is onerous at the date of initial recognition if the fulfilment cash flows allocated to the contract, any previously recognised acquisition cash flows and any cash flows arising from the contract at the date of initial recognition in total are a net outflow"
Que l’on peut traduire pas :
"Un contrat d’assurance est onéreux à la date de comptabilisation initiale si les flux de trésorerie dûs à l’exécution du contrat, les flux liés à son acquisition précédemment comptabilisés et les flux générés par le contrat à cette date sont au total une sortie nette"
Pour faire un résumé simplifié, nous cherchons donc ici à séparer les contrats rentables des contrats non rentables. Pour répondre à cette problématique, nous allons donc commencer par dé- terminer un S/P seuil, qui sera le S/P à partir duquel nous considérerons qu’un contrat passe de rentable à non rentable. Ensuite, nous tenterons de déterminer l’impact de nos variables sur le S/P
de nos contrats, afin de déterminer dès la date de comptabilisation si son ratio se trouve au-dessus ou en-dessous du S/P seuil.
Notons que l’on ne tient pas compte de la partie concernant l’actualisation des flux de trésorerie.
Ainsi les groupes que nous formerons ne seront pas exactement ceux demandés par la norme IFRS 17. Cependant, ils pourront servir de manière indicative lors de la création des groupes lors de l’année de transition 2020.
1.3 Présentation des données
1.3.1 Données à disposition
Comme nous l’avons dit précédemment, cette étude portera sur l’estimation des S/P des affaires nouvelles du produit flottes automobiles de Generali France. Pour cela nous avons donc besoin d’une base contenant les caractéristiques ainsi que les S/P des anciens contrats sur les années précédentes.
Pour cela, nous avons utilisé les bases mises à disposition par le service tarification de Generali.
La première est une base sinistre par véhicule par année et la seconde une base répertoriant le montant de prime payée par contrat par année.
Nous allons les analyser pour en apprendre plus sur leur composition :
Base sinistre
Dans cette base, une ligne correspond à un véhicule sur une période d’un an, compris entre 2011 et 2017. Par exemple si un contrat a été souscrit avant le 01/01/2011, qu’il n’était toujours pas résilié au 31/12/2017, et que sur cette période les véhicules de la flotte en question n’ont pas changé, alors chaque véhicule correspond à sept lignes de notre base sinistre.
Elle est composée de 1 381 756 lignes, et donc autant de couples "véhicule-année", pour un total de 14 615 contrats différents sur la période 2011-2017. C’est dans cette base que l’on va récupérer nos variables explicatives car nous avons les informations à la maille la plus fine, c’est-à-dire toutes les caractéristiques de tous les véhicules d’un même contrat.
Elle contient :
— 53 variables qui représentent chacune une caractéristique du véhicule ou du contrat. Nous n’allons pas toutes les énumérer ici, cependant vous pouvez trouver la liste de ces variables, ainsi qu’une rapide explication de l’information qu’elles portent dans les annexes.
— 12 variables indiquant les montants des sinistres répartis par garantie : Bris de glace, Ca- tastrophe Naturelle, Évènement naturel hors catastrophe naturelle, Conducteur, Défense Ju- ridique et Recours, Dommage au bien, Incendie, Vol, et enfin Responsabilité civile séparée en quatre : Corporelle, Matérielle hors IDA, Matérielle IDA responsable, Matérielle IDA non responsable.
— 12 variables indiquant le nombre des sinistres, répartis aussi par garantie.
Nous rappelons que la convention IDA (ou IRSA) a pour but de simplifier les remboursements en cas d’accident automobile matériel. Lorsqu’il y a un accident entre deux véhicules terrestres à moteur et que les dommages sont uniquement matériels, la convention s’applique. Dans ce cas les assureurs respectifs des deux véhicules doivent indemniser leur assuré, qu’il soit responsable ou non, puis l’assureur de l’assuré non-responsable doit faire un recours à l’assureur de l’assuré responsable.
Si le sinistre coûte un montant supérieur à 6500ela valeur du recours couvre exactement le montant du sinistre. Si le coût du sinistre est inférieur à 6500 e, le recours a un montant forfaitaire, qui est à 1446 een 2018, cependant le montant varie légèrement en fonction des années.
Pour commencer, nous pouvons voir ci-dessous la répartition des prix des sinistres dans notre base :
Figure 1.1 – Répartition des sinistres
Cela peut paraître surprenant de voir des sinistres au montant négatif. La majeure partie peut être expliquée par la convention IDA car, comme expliqué au dessus, après un sinistre dans le cadre de la convention IDA l’assurance rembourse directement son assuré même s’il n’est pas en tort, puis fait un recours d’un montant fixe à l’assurance du responsable de l’accident. Donc si le sinistre nous a coûté moins que le montant du recours, le sinistre a un montant négatif. Le reste des montants de sinistres négatifs provient probablement d’erreurs humaines. Cependant nous n’avons pas plus d’information sur la manière dont les montants de ces sinistres sont déterminés.
Nous pouvons percevoir un pic aux alentours de 1 400e. Cela s’explique aussi par la convention IDA. Si un de nos assurés a été responsable lors d’un accident dans le cadre de la convention IDA, alors le sinistre a coûté à Generali le montant fixe du recours. Ce montant fluctue en fonction des années. Cependant, il se situe toujours aux alentours de 1 400 e, ce qui explique le pic.
Notons d’ailleurs pour être exact que le graphique ci-dessus ne correspond pas à la répartition de
100 % des sinistres de la base. Pour plus de lisibilité nous avons zoomé sur les sinistres aux montants inférieurs à 30 000e, excluant ainsi environ 800 sinistres de notre graphique.
Comme nous l’avons vu précédemment, ces sinistres sont repartis en différentes garanties. En les séparant par garanties, nous pouvons nous rendre compte que certaines d’entre elles ont des comportements totalement différents.
Par exemple, commençons par les bris de glace, voici ses statistiques ainsi que la répartition de ces sinistres :
Figure 1.2 – Statistiques sur les sinistres bris de glace
Figure 1.3 – Répartition des sinistres bris de glace
Ces sinistres bris de glace sont très nombreux, au nombre de 77 355. Mais la fourchette des valeurs prises par les sinistres est très réduite : seulement une centaine de sinistres coûte plus de 3 500 e.
Prenons maintenant comme second exemple la garantie vol. Nous allons voir, avec les données ci-dessous correspondant à la garantie vol, que son comportement est totalement opposé à celui du bris de glace.
Figure 1.4 – Statistiques sur les sinistres vol
Figure 1.5 – Répartition des sinistres vol
Ici, les sinistres ne sont qu’au nombre de 4268, cependant on constate que la fourchette prise par les montants est beaucoup plus grande, d’autant plus qu’une vingtaine de sinistres coûtant plus de 50 000 en’ont pas été affichés sur ce graphique.
Au vu de ces comportements disparates entre les différentes garanties proposées par les contrats flottes, nous pouvons nous demander s’il vaut mieux estimer un montant de sinistres total, toutes garanties confondues, ou bien un montant par garantie quitte à réduire notre nombre de données dans chaque modèle. Des tests permettant de répondre à cette question auront donc lieu plus tard dans cette étude.
Maintenant que nous avons vu plus explicitement de quoi étaient composés nos sinistres, nous allons donc nous intéresser à toutes les autres variables explicatives évoquées précédemment, et dont la liste complète se trouve en annexe.
Tout d’abord, parmi les 53 variables mises à disposition, toutes n’ont pas été gardées dans notre base finale. L’un des avantages des méthodes d’apprentissage automatique est qu’il n’est pas obligatoire de supprimer les variables corrélées ou les variables non-explicatives. En effet, l’algorithme sait faire la différence entre les variables utiles ou non, et n’utiliser que celles qui sont réellement significatives pour le modèle en question. Cependant, même si les variables inutiles n’handicapent pas les résultats de nos modèles, elles peuvent augmenter considérablement le temps de calcul.
Le choix des variables à supprimer est donc très important, il faut en garder le maximum pour garder toutes les informations utiles et laisser l’algorithme d’apprentissage sélectionner celles qui améliorent le modèle, mais il faut aussi supprimer toutes celles qui n’apportent aucune information pour que le temps de calcul soit raisonnable.
Nous avons donc supprimé uniquement les variables qui :
— n’ont aucun pouvoir explicatif, comme la plaque d’immatriculation par exemple.
— sont des codes qui servent à enrichir la base en amont. Par exemple on utilise le code SRA pour avoir accès, via des bases qui répertorient les différents codes, à plusieurs caractéristiques du véhicule comme la puissance ou la gamme de prix. De manière similaire, le numéro SIRET ou le code NAF peuvent être utilisés pour obtenir la taille, le chiffre d’affaire, ou le secteur d’activité de l’entreprise qui souscrit le contrat.
— possèdent une information déjà comprise dans une autre variable. Par exemple les variables
"code postal" et "département" renseignent la même information. Nous avons donc décidé de garder uniquement la variable "département" qui a un nombre de modalités moindre et donc apporte l’information de la localisation sans augmenter de manière drastique le temps de calcul.
Les variables conservées sont donc uniquement celles qui peuvent potentiellement expliquer la structure de répartition des sinistres dans notre base.
Base prime
Contrairement à la base sinistre, ici une ligne ne correspond pas à un véhicule, mais à un contrat sur une année donnée.
Cette base ne contient aucune variable explicative, elle ne sert qu’à joindre à notre base sinistre, via la variable "police" correspondant au numéro de contrat, le montant de prime des contrats. Nous avons besoin du montant de prime pour créer la variable à expliquer finale, le ratio S/P du contrat sur une année donnée.
Le montant de prime d’un contrat est revu chaque année. C’est pour cela qu’il y a dans cette base plus de lignes que de contrats différents.
Comme cette base n’a pas la même maille que la base sinistre, à savoir une ligne par contrat et non par véhicule, nous avons dû agréger la base sinistre afin qu’elle soit à une maille comparable.
Ce processus sera expliqué dans la partie suivante.
1.3.2 Création de la base
Pour pouvoir fusionner notre base sinistre et notre base prime, nous devons tout d’abord leur appliquer des mailles comparables. Nous devons donc agréger notre base sinistre par contrat sans perdre l’information disponible sur chacun des véhicules du contrat.
Nous pouvons séparer les variables à agréger en cinq catégories qui seront chacune gérées d’une manière différente :
— Les variables concernant le contrat et non le véhicule. La modalité de cette variable est donc la même pour toutes les lignes d’un même contrat.
— Les variables concernant le contrat mais qui peuvent être différentes pour deux véhicules d’un même contrat.
— Les variables à modalités concernant le véhicule.
— Les variables continues concernant le véhicule.
— Les variables sinistres.
Nous allons donc expliquer, dans chacun des cas cités précédemment, comment les variables ont été codées, en s’appuyant sur un exemple.
Variable contrat
Lors du traitement d’une variable donnant une caractéristique sur le contrat, notre premier test est de savoir si pour un même contrat nous pouvons avoir deux modalités différentes.
Pour cela le test est simple. Nous regardons dans notre base si le nombre de couples uniques (numéro de contrat, variable) est le même que le nombre de contrats différents. Si c’est le cas, alors chaque contrat n’est associé qu’à une seule modalité.
Dans ce cas, lors de notre agrégation nous avons donc gardé la variable, en la remplissant par la modalité de n’importe quelle ligne véhicule du contrat en question.
Par exemple, c’est le cas de la variable département. Nous avons donc laissé la variable "dépar- tement" dans notre base en la remplissant avec le département de l’une des lignes à agréger.
Variable contrat différente en fonction du véhicule
Lorsque, contrairement au cas précédent, le nombre de couples uniques (numéro de contrat, variable) est supérieur au nombre de contrats, cela signifie qu’il peut y avoir deux modalités pour un seul contrat.
Il y a eu deux variables dans ce cas : "la date de début de couverture" et "la date de fin de couverture". Pour la plupart des véhicules, la date de début de couverture était la date de début de contrat. Cependant, il est possible qu’un véhicule intègre la flotte d’un contrat déjà existant, et que la date de début de couverture dans notre base soit alors la date à laquelle le véhicule a rejoint la flotte. Le problème est symétrique pour la variable "fin de couverture".
Ces deux variables sont pourtant très importantes car elles influent directement sur la variable à expliquer, c’est-à-dire le ratio S/P du contrat. Plus précisément elles influent sur la prime à utiliser dans notre ratio.
En effet, la prime mise a disposition par le service tarification n’est pas réellement la prime qui a été payée par l’entreprise qui a souscrit le contrat. Elle correspond en réalité a la "prime annuelle"
c’est-à-dire la prime qui aurait été payée si le contrat avait couvert l’année entière. Si le contrat n’a couvert qu’une partie de l’année il faut diminuer la prime annuelle de notre base, au prorata temporis de la période couverte, et ainsi obtenir la "prime réelle".
Nous avions donc besoin de la date de début du contrat et la date de fin du contrat, pour cela il nous a donc suffi de garder dans notre base agrégée les mêmes variables mais de prendre comme date de début de contrat le minimum des dates de début de couverture des véhicules, et inversement comme date de fin de contrat le maximum des dates de fin de couverture des véhicules.
Variable à modalités véhicule
Dans ce troisième cas, nous allons voir les variables les plus intéressantes à traiter, celles qui concernent des caractéristiques des véhicules. Prenant par exemple une variable dont nous avons déjà parlé précédemment, la catégorie de véhicule, et dont le sens sera détaillé en annexe.
Pour l’instant, nous avons uniquement besoin de savoir que chaque véhicule est classé dans une catégorie. Il en existe six, numérotées de 1 à 6, toutes répertoriées dans la variable "Catégorie". Nous nous sommes rendu compte qu’il était impossible de garder toute l’information de cette variable en agrégeant de la même manière que nous l’avons fait dans les deux cas précédents.
Nous avons donc décidé de remplacer la variable "Catégorie", par autant de variables qu’il y a de modalités différentes, ici "Catégorie 1", "Catégorie 2", "Catégorie 3", "Catégorie 4", "Catégorie 5", "Catégorie 6". Ensuite, lorsque notre base était encore à la maille véhicule, nous avons rempli ces six variables de la manière suivante : pour chaque véhicule, nous avons mis la valeur "1" dans la variable qui correspond à sa catégorie, et "0" dans les cinq autres.
Au moment d’agréger notre base à la maille contrat, nous avons gardé les six variables et nous avons sommé pour chacune d’elles les valeurs de toutes les lignes des véhicules qui composent le contrat. Ainsi, une fois notre base à la maille contrat, chaque ligne possède les six variables corres- pondant aux six catégories avec, dans chacune, le nombre de véhicules du contrat faisant partie de la catégorie en question.
De cette manière nous avons agrégé la base sans perdre d’information.
Variable continue véhicule
Ici, nous sommes face à un dilemme. Nous ne pouvons pas garder une seule variable en conservant toute l’information disponible dans notre base à la maille véhicule. D’un autre coté nous ne pouvons pas faire autant de variables que de valeurs possibles. Par exemple la variable "Age du véhicule"
prend toutes les valeurs de 0 à 39 ans. De plus, si on considère que chaque âge différent est une modalité et donc que l’on crée 40 variables différentes, on perd l’information sur l’ordre de ces modalités. En effet, dans le cas d’une variable continue, les différentes valeurs prises ont un ordre, par exemple ici l’ordre croissant des âges.
Le dilemme est donc le suivant : Soit on choisit de créer une variable par valeur prise, on garde donc l’information sur la répartition des différents âges des véhicules au sein d’un même contrat, mais on perd le coté continu et ordonné de la variable originelle. Soit on choisit de garder une seule variable, en ne prenant que la moyenne des âges des véhicules, on garde la continuité de la variable mais on perd l’information de la répartition.
Nous sommes partis de l’hypothèse que dans une même flotte, les véhicules ont des caractéris- tiques proches, et donc que la répartition n’apporte qu’une information assez peu utile. De plus,
l’ordre des valeurs prises étant une information primordiale à conserver, nous avons donc décidé d’opter pour la deuxième solution.
Les variables sinistres
Les variables portant sur les sinistres ont été les plus simples à agréger. Les variables en question sont le montant des sinistres et le nombre de sinistres pour chacune des garanties.
Evidemment, le montant de sinistres d’un contrat est égal à la somme des montants des sinistres des véhicules de la flotte. L’agrégation a donc été faite en sommant les valeurs des variables pour chacun des véhicules.
Une fois toutes les variables agrégées comme explicité précédemment, les bases sinistre et prime ont donc la même maille. Nous pouvons les joindre avec comme clé de jointure la variable "Police", c’est-à-dire le numéro de contrat.
1.3.3 Présentation de la base finale
Lors de notre jointure, nous avons eu un taux de correspondance entre nos deux bases de plus de 99,7 % des données, ce qui est un taux relativement élevé. Les 0,3 % restant sans correspondance proviennent d’un numéro de contrat pas, ou mal, rempli dans la base sinistre ou prime.
Voici un récapitulatif des très légères pertes de données entre la base initiale et celle obtenue après la jointure, en ce plaçant à une maille par véhicule par année de survenance :
Année Nb lignes initial Nb lignes actuel Perte (nb) Perte ( %)
2011 207 592 207 004 588 0,28 %
2012 223 071 222 445 626 0,28 %
2013 212 637 212 300 337 0,16 %
2014 201 061 199 994 1067 0,53 %
2015 184 179 183 334 845 0,46 %
2016 175 872 175 523 349 0,20 %
2017 177 344 177 052 292 0,16 %
Total 1 381 756 1 377 652 4104 0,30 %
Après avoir joint les deux bases sinistre et prime, il nous reste encore quelques dernières modifi- cations avant que le traitement de notre base soit terminé.
Premièrement, comme nous voulons travailler sur les S/P des contrats, nous avons ajouté douze variables portant sur les S/P par garanties, en divisant le montant de sinistres par la prime.
Deuxièmement, nous avons créé une variable supplémentaire en sommant les S/P de chacune des garanties, elle représente donc la sinistralité totale du contrat. Nous allons donc pouvoir tester si il est préférable de modéliser nos sinistres au global ou par garantie.
Vous retrouverez en annexe un tableau récapitulatif de toutes les variables créées lors de l’agré- gation de notre base. De plus, nous avons indiqué l’information portée par chacune de ces nouvelles variables.
Notons que les variables renseignant le nombre de sinistres ne nous intéressaient pas car elles n’influent pas sur le S/P, seule la valeur du montant des sinistres et la prime payée par le souscripteur comptent. Ainsi, les variables de nombre ont été retirées de notre base.
Nous avons donc construit une base structurée. Avant de l’utiliser en lui appliquant différents types de modèles d’apprentissage automatique, nous allons voir qu’elle n’est pas totalement complète.
1.3.4 Absence de certains sinistres
Nous avons vu précédemment que pour créer notre base finale nous avions agrégé une base sinistre et une base prime provenant de la tarification.
Cependant, dans cette base sinistre, qui a été présentée au début de ce mémoire, une partie des sinistres sont manquants.
Lors de la création de cette base, le service de tarification s’est servi de l’immatriculation afin de faire correspondre un véhicule assuré à chaque sinistre. Dans la pratique, lorsqu’un assuré souscrit un contrat flotte automobile, il doit fournir l’immatriculation de tous les véhicules assurés. Dans le cas d’un sinistre, l’assuré contacte Generali et doit une nouvelle fois préciser l’immatriculation de la voiture sinistrée.
Lorsque l’assuré a fourni les bonnes immatriculations, le sinistre est bien attribué à un véhi- cule contenu dans la base. Cependant, certaines fois, l’immatriculation donnée lors du sinistre ne correspond à aucun véhicule, le sinistre ne peut donc pas être lié au véhicule correspondant.
Dans le schéma ci-dessous, les sinistres qui ont pu être rattachés au véhicule correspondant sont en vert, les autres sont en rouge.
Afin de résoudre partiellement ce problème, les membres du service tarification ont mis en place une méthode permettant de réduire le nombre d’erreurs. Pour cela, ils sont partis d’une hypothèse simple et qui semble intuitivement correcte. Elle stipule que si on ne parvient pas à faire correspondre l’immatriculation du sinistre et celle des véhicules assurés, c’est celle fournie au moment du sinistre qui est correcte.
En effet, il semble admis que, après la survenance d’un sinistre, l’assuré a toutes les raisons de faire attention à ne pas se tromper dans l’immatriculation. Premièrement, il n’en a qu’une à fournir, contrairement à la souscription d’un contrat ou il doit donner toutes les immatriculations.
Deuxièmement, l’assuré attend d’être remboursé par son assurance, il a donc tout à gagner à rem- plir consciencieusement les informations demandées par son assureur, dans le but d’accélérer au maximum le processus.
Figure 1.6 – Problème de correspondance sinistre/véhicule
Partant de ce postulat de base, à chaque fois qu’une immatriculation n’était liée à aucun véhicule, on commence par rechercher toutes les immatriculations des véhicules provenant du même contrat, et un score est attribué à chacune. Le score en question est déterminé au moyen d’une mesure de similarité entre chaînes de caractères dénommée "Distance de Levenshtein". Pour cela, on part de l’immatriculation d’un véhicule du contrat, fourni à la souscription, et on compte le nombre d’opérations nécessaires pour obtenir l’immatriculation remplie lors de la déclaration du sinistre.
Seulement trois opérations différentes sont possibles :
— Le substitution. On remplace l’un des caractères de l’immatriculation par un autre.
— L’insertion. On ajoute un caractère à l’immatriculation.
— La suppression. On retire un caractère à l’immatriculation.
Ce nombre d’opérations nous donne donc le score du véhicule en question. Ce mécanisme étant fait pour chaque véhicule contenu dans le contrat où le sinistre attribué a eu lieu.
Par exemple, un contrat contient quatre véhicules, ayant pour immatriculations : AZ123CD, A123CDE, AB128CD et OP789LM. Si maintenant, on reçoit une déclaration d’accident concernant ce contrat, avec pour immatriculation AB123CD, alors voici un récapitulatif des scores obtenus, ainsi que des opérations nécessaires.
Immat contrat Immat sinistre Score Opérations
AZ123CD AB123CD 1 1 substitution
A123CDE AB123CD 2 1 insertion et 1 suppression
AB128CD AB123CD 1 1 substitution
OP789LM AB123CD 7 7 substitutions
Une fois les scores de tous les véhicules du contrat obtenus, le sinistre est attribué à un véhicule si son immatriculation remplit les deux conditions suivantes :
— Son score est le minimum de tous les scores des véhicules du contrat, sans qu’il n’y ait d’ex aequo.
— Son score est égal à 1.
Dans ce cas, on attribue le sinistre au véhicule correspondant, et on remplace l’immatriculation du véhicule en question dans notre base contrat par celle remplie lors de la déclaration du sinistre.
C’est d’ailleurs pour cela que, dans l’annexe listant toutes les variables initiales de la base contrat utilisée, on retrouve deux variables contenant les immatriculations des véhicules, une avant et l’autre après les corrections apportées par cette méthode.
Dans le cas contraire, si aucun véhicule ne remplit les deux conditions vues précédemment, le sinistre n’a pas de correspondance et il est donc manquant dans notre base. Dans notre exemple ci-dessus, la correspondance n’aurait pas été possible car deux immatriculation ont obtenu le même score de 1.
Cette méthode a tout de même permis de faire correspondre 29,3 % des sinistres qui n’avaient pas pu être joints au véhicule correspondant dans un premier temps. Cela peut sembler faible mais deux raisons principales expliquent ce résultat peu satisfaisant. Premièrement, les véhicules d’une même flotte sont souvent nombreux, en moyenne plus de 300 par contrat dans cette base. Deuxièmement, les immatriculations au sein d’une même flotte sont souvent proches car l’assuré regroupe les demandes d’immatriculation de sa flotte. Donc dans beaucoup de cas les plaques qui lui sont attribuées se suivent. Ces deux raisons font que les probabilités qu’un véhicule ait un score de 1 sans qu’aucun autre n’ait le même score est plus faible que ce que l’on pourrait croire.
Pour ces raisons, des sinistres restent absents de notre base. Nous verrons par la suite la méthode mise en oeuvre pour corriger nos prédictions, afin qu’elles tiennent compte de ces sinistres manquants.
Chapitre 2
Généralités sur l’apprentissage automatique
L’apprentissage automatique, plus souvent appelé par sa traduction anglaisemachine learning, est un des domaines de l’intelligence artificielle. Un algorithme d’apprentissage automatique a pour but d’analyser l’information disponible d’un grand nombre de données statistiques afin d’apprendre à réaliser une étude sans avoir été spécifiquement programmé pour cela en amont.
L’apprentissage automatique a connu un réel succès ces dernières années. Avec la croissance exponentielle du nombre de données numériques disponibles, nous avons besoin d’utiliser de nouvelles méthodes d’analyse, et il se trouve que celles dites d’apprentissage automatique correspondent à ce besoin.
Dans ce mémoire, nous étudierons plusieurs types d’algorithmes d’apprentissage automatique, et dans cette partie nous expliciterons différentes généralités communes à tous.
Nous allons commencer par présenter rapidement les différentes familles d’apprentissage, puis le fonctionnement général d’un algorithme d’apprentissage automatique. Ensuite nous énumérerons les principaux avantages et inconvénients, en nous penchant de plus près sur le sur-apprentissage.
Nous expliquerons pour finir le modèle d’apprentissage automatique le plus simple, ainsi que son utilisation dans ce mémoire.
2.1 Principe de base
2.1.1 Les grandes familles d’apprentissage
Supervisé
L’apprentissage supervisé a pour but de créer une fonction de prédiction d’une des variables de notre base de données en fonction des autres. La variable que l’on souhaite prédire est appelée
"variable à expliquer", les autres variables qui servent à orienter la prédiction sont les "variables explicatives". L’algorithme tente d’apprendre, en parcourant la base de données mise à disposition, les différents liens de cause à effet entre les variables explicatives et la variable à expliquer. Une fois
notre modèle créé, il fait correspondre à chaque combinaison possible des variables explicatives, une prédiction de la variable à expliquer correspondante.
Pour cela il doit regrouper les individus de la base en sous-groupes en maximisant l’homogénéité de la variable à expliquer, mais les groupes doivent être séparés uniquement en fonction de leurs variables explicatives.
Deux catégories d’apprentissage supervisé se distinguent :
— Les algorithmes de régression, lorsque la variable à expliquer est quantitative. Dans ce cas, la prédiction est une valeur.
— Les algorithmes de classement, lorsque la variable à expliquer est qualitative. Dans ce cas la prédiction est souvent une probabilité d’appartenir aux différentes modalités de la variable en question.
Non-supervisé
L’apprentissage non-supervisé intervient lorsqu’il n’y a pas de variable réponse à prédire. On utilise aussi ces algorithmes sur une base de données, mais dans ce cas, son but est de déterminer la structure présente dans cette base.
Pour cela, il doit, tout comme les algorithmes supervisés, regrouper les individus en sous-groupes les plus homogènes possible, cependant ici nous n’avons plus de variables à expliquer, l’homogénéité doit donc se faire sur toutes les variables.
Ce qui nous intéresse ici n’est pas la prédiction de nouvelles données, mais plutôt la manière dont les groupes sont déterminés et quels points communs ont les individus de chacun des sous-groupes.
Parmi les deux familles d’apprentissage vu précédemment, nous n’allons utiliser dans ce mémoire que des algorithmes d’apprentissage supervisé. Nous avons pour but d’estimer une variable à expli- quer, le ratio S/P des contrats, en fonction des informations disponibles à propos de ces contrats, qui sont les variables explicatives. Les méthodes d’apprentissage supervisé semblent donc adaptées à notre problématique, comme par exemple l’algorithme CART (Classification And Regression Trees), bagging, ou encore random forest. Cette partie a pour but de présenter le fonctionnement ainsi que les principales caractéristiques communes à ces méthodes.
2.1.2 Objectifs de l’apprentissage automatique
Avant d’aller plus loin, nous allons définir un certain nombre de notations, elles resteront simi- laires pour toute la suite de ce mémoire.
Il faut savoir que l’entièreté de la base de données n’est pas utilisée pour créer les modèles du chapitre suivant. On sépare notre base en : base d’apprentissage, base de validation et base de test.
Le détail de ce découpage sera explicité plus en détail dans une section suivante.
Pour l’instant nous allons nous intéresser uniquement à la base d’apprentissage, car c’est elle qui sert a créer l’arbre de décision, explicité dans la suite. Nous avons donc besoin d’utiliser les caractéristiques de la base d’apprentissage suivantes :
— le nombre d’observations, noté n
— le vecteur de variable à expliquerY = (Yi)1≤i≤n avecYi la variable à expliquer de l’individu i
— le nombre de variable explicatives, noté p
— les p vecteurs des variables explicativesXj = (Xj,i)1≤i≤n pour toutes les valeurs de j tel que 1≤j≤pet avec Xj,i lajme variable explicative de l’individu i
— la matriceX= (Xj)1≤j≤n
Ici l’arbre de décision créé est un arbre de régression car la variable à expliquer est une variable quantitative, pour rappel il s’agit du ratio S/P des contrats flottes automobiles. Notre but est de créer un modèle qui prédit la valeur de ce S/P, en fonction des différentes valeurs ou modalités prises par les variables explicatives d’un individu.
En d’autres termes nous cherchons la fonction :
f(x) =E(Y|X =x)
Les trois méthodes d’apprentissage automatique citées précédemment reposent sur un même principe pour répondre à cette problématique : la création d’arbres de décision, et plus précisément d’arbres de régression. Nous verrons donc dans la partie suivante comment sont créés ces arbres.
2.1.3 Arbre de décision
Le principe d’un arbre de décision est de pouvoir donner une prédiction d’une variable de sortie, que nous avons appelée précédemment "variable à expliquer", en fonction de différentes variables d’entrée, ici les variables explicatives. Le but est donc de créer une suite de tests à appliquer sur nos p variables, de manière que pour chaque (p_uplet) possibles de nos variables d’entrée on associe une unique sortie. Cette sortie contient donc notre prédiction pour la variable à expliquer de l’individu comportant le (p_uplet) de variables d’entrée utilisé en amont.
Dans un contexte d’apprentissage, les arbres de décision se servent d’une base de données, appelée base d’apprentissage, qui associe dans notre cas des (p_uplet) de variables explicatives, avec des variables à expliquer. L’objectif étant que la suite de tests créée révèle les liens de cause à effet entre l’entrée et la sortie.
Pour cela, l’algorithme d’apprentissage scinde en deux successivement la base d’apprentissage de manière à créer des sous-groupes avec des variables de sortie les plus homogènes possible. De plus, chaque séparation de la base est un test fait sur les variables d’entrées, et c’est cet enchaînement de tests qui créé l’arbre de décision.
La base de l’arbre, avant toutes séparations, s’appelle le noeud initial (ou noeud racine). De plus, chaque test s’appelle un noeud, chaque noeud divise une partie de la base en deux sous-groupes de manière à homogénéiser le plus possible les sous-groupes créés. Pour finir, une fois que l’algorithme a fini de scinder la base, les sous-groupes finaux créés sont nommés des feuilles.
Les arbres sont souvent représentés de haut en bas en commençant par le noeud racine, comme sur le schéma récapitulatif suivant :
Figure 2.1 – Schéma récapitulatif de la structure d’un arbre
Notons que les "chemins" allant du noeud racine à une feuille portent le nom de branches. Chaque (p_uplet) de variable explicative ne suit qu’une seule et unique branche, en fonction des différents tests faits en amont, et donc n’est rattachée qu’à une feuille. Cette feuille porte l’information sur la variable de sortie qui serait la prédiction donnée par l’arbre pour un individu composé du (p_uplet) en question.
Maintenant que l’on sait qu’un arbre de décision est une suite de noeuds, nous allons chercher a comprendre comment fonctionne ces tests qui séparent successivement les individus en sous-groupes.
Création d’un noeud
Premièrement, un test ne s’applique qu’à une seule variable explicative à la fois. Donc à chaque noeud la branche suivie par un individu ne dépend que d’une seule variable du (p_uplet).
Le principe de l’algorithme pour déterminer comment un noeud va scinder la base en deux est celui dit d’un algorithme glouton. C’est-à-dire qu’à chaque étape, donc ici à chaque noeud, l’algorithme va déterminer le choix optimal local. Il va donc tester toutes les séparations possibles afin de choisir la meilleure, soit celle qui rend les sous-groupes créés les plus homogènes.
Avant d’aller plus loin nous devons donc être capables de déterminer toutes les séparations possibles en deux sous-groupes. Il existe trois types de variables explicatives différentes, et dans chacun des cas les séparations ne sont pas les mêmes.
Les trois cas auxquels nous pouvons être confrontés sont :
— Les variables quantitatives. Si une variable est quantitative, et que nous avons m valeurs différentes parmi nos individus, alors le nombre de séparations possibles est (m-1). Chaque intervalle entre deux valeurs différentes prises peut jouer le rôle d’une séparation, avec d’un coté les individus dont la variable est inférieure à la valeur choisie et de l’autre coté les individus dont la variable est supérieure.
— Les variables qualitatives à modalités non ordonnées. Si les n modalités d’une variable n’ont pas d’ordre, il y a autant de séparations possibles que de combinaisons possibles pour scinder ces n modalités en deux, c’est-à-dire (2n−1)cas différents.
— Les variables qualitatives à modalités ordonnées. Dans certain cas il peut y avoir un ordre parmi les q modalités d’une variable qualitative. Dans ce cas les modalités sont traitées comme
des valeurs d’une variable continue et le nombre de séparations possibles est de (q-1)
Après avoir déterminé tous les tests possibles, l’algorithme doit sélectionner celui qui permettra à l’arbre d’avoir les prédictions les plus justes possible. Ce critère de sélection n’est pas le même en fonction du type d’arbre que l’on est en train de créer.
Il existe deux types d’arbres de décision dans un contexte d’apprentissage :
— Les arbres de classifications : ils sont utilisés lorsque la variable à prédire est une variable à modalités, numériques ou non, on affecte alors les nouveaux individus à une classe. L’ensemble des classes possibles étant connu dès le début de l’étude.
— Les arbres de régression : ils permettent de prédire une variable de sortie quantitative et continue. Par exemple un prix, un montant, une durée, ou dans notre cas, un ratio S/P.
Dans le cas d’un arbre de régression, c’est-à-dire le cas dont il est question dans ce mémoire, la meilleure séparation est choisie comme étant celle qui maximise l’hétérogénéité entre les deux sous-groupes créés, c’est-à-dire la variance inter-groupe.
Pour expliciter ce critère de choix, nous allons avoir besoin de plusieurs notations :
— n le nombre d’individus, comme nous l’avons vu précédemment
— t∈ {1, ..., p} désigne la variable utilisée pour la séparation
— S le seuil de séparation du noeud choisi
— A la population d’individus contenu dans le noeud
— nA le nombre d’individus contenu dans la population A
— B et C, les populations d’individus donc la variableXj est respectivement < à S et ≥à S
— YA la moyenne empirique des valeurs de la variable de sortie des individus de la population A
— YB etYC, les moyennes empiriques des valeurs des variables de sortie des individus, respec- tivement des populations B et C
On peut résumer toutes ces informations sur les notations à l’aide du schéma suivant :
Figure2.2 – Séparation de la population A par la variable Xj avec le seuil S
Dans ce contexte la formule de la variance inter-groupe s’écrit :
V arinter−groupe(t, S) = 1 nA
n
X
i=1
(Yi−YA)21i∈A− 1 nA
n
X
i=1
(Yi−YB1i∈B−YC1i∈C)21i∈A
L’algorithme choisit donc à chaque noeud la séparation, caractérisée par le couple (t,S) re- présentant respectivement la variable et le seuil utilisés, qui maximise la formule ci-dessus de la V arinter−groupe(t, S).
Une fois que le test à l’origine du noeud a été choisi, l’algorithme scinde la population du noeud en deux sous-groupes. Nous avons donc expliqué la création d’un noeud, et cette suite de noeuds va créer l’arbre de décision.
Exemple :
Nous allons maintenant voir ensemble un exemple simple pour bien comprendre comment une suite de tests permet de segmenter notre base en sous-groupes homogènes et de prévoir la variable de sortie d’un individu en fonction de ces variables d’entrée.
Supposons que nous disposions d’une base de données composée de deux variables d’entrée, qui sont des variables numériques continues, à valeur dans [0 ;10], noté X1 et X2, et une variable de sortie qui contient une modalité parmi {A ; B ; C ; D}. Les seuils des noeuds sont 4 pourX1, 3 pour X2 sur X1 <4 et 7 sinon.
Supposons maintenant que nous voulions prévoir la variable de sortie d’un nouvel individu dont les variables d’entrées seraient (X1 = 7;X2 = 6). Il suffit alors de suivre, dans l’arbre ci-dessous, la branche prise par cet individu.
Figure 2.3 – Branche suivie dans l’arbre de l’exemple On obtient donc la prédiction de la variable Y, qui est la modalité {D}.
Nous avons donc vu dans cette partie toutes les étapes de la création d’un arbre de régression.
2.1.4 Avantages et inconvénients
Comme toutes les méthodes de prédiction, les arbres de régression ont des points forts et des points faibles. L’important n’est pas de chercher une méthode parfaite, mais de savoir garder à l’esprit les pour et les contre de la méthode choisie pour toujours avoir un certain recul sur nos résultats futurs.
Nous allons donc voir dans cette partie les avantages des arbres de régression afin de les mettre en avant durant notre étude et de les utiliser au mieux. Quant aux inconvénients, nous resterons vigilants pour réduire leurs impacts au maximum, et pour qu’ils ne faussent pas nos résultats.
Nous préférons préciser que ces listes ne sont pas exhaustives, nous avons seulement présenté ici les principales caractéristiques des méthodes utilisant des arbres de décision comme indiqué ci-dessus.
Avantages
— Les arbres de décision sont simples à obtenir et à comprendre, leur fonctionnement est dit
"boîte blanche". Cela s’oppose aux modèles que l’on caractérise comme étant "boîte noire", c’est-à-dire qu’on ne comprend pas réellement ce qui est fait par leur algorithme. En effet, le résumé de la création d’un arbre de décision était assez clair pour comprendre, pas à pas, les différentes actions de l’algorithme pour arriver à notre résultat final.
— Il est particulièrement bien adapté pour les bases de données contenant beaucoup de variables différentes. En effet, contrairement à beaucoup d’autres méthodes de prévision, les arbres de décision ne nécessitent pas de pré-sélection des variables en amont afin de supprimer les variables non-significatives, ou encore deux variables qui porteraient la même information.
En théorie, le critère de sélection de la séparation optimale à chaque noeud nous assure que seules les variables qui ont un lien de cause à effet avec la valeur de la variable de sortie seront sélectionnées.
— Les algorithmes utilisant les arbres de décision peuvent d’ailleurs aussi classer les variables de la base dans l’ordre de la plus significative à la moins significative, en regardant à chaque séparation de combien chaque variable à fait augmenter l’hétérogénéité entre les différents sous-groupes. En plus de ne pas avoir besoin de sélectionner les variables en amont, on peut donc s’en servir afin de déterminer les variables significatives, ce qui pourrait être utile pour l’utilisation d’une autre méthode en parallèle des arbres de décision.
— Les variables utilisées peuvent d’ailleurs être de différents types. Certains modèles demandent à n’avoir que des variables explicatives de la même catégorie. Cependant, lors de la création d’un arbre de décision, nous pouvons utiliser en même temps des variables quantitatives, des variables qualitatives, avec des modalités ordonnées ou non, sans que cela pose le moindre problème.
— Le modèle est dit non-paramétrique, en opposition à beaucoup d’autres dits paramétriques, comme par exemple les modèles GLM, où l’utilisateur doit définir la loi suivie par le terme d’erreur. Ici nous n’avons pas besoin d’hypothèse sur la répartition des données de la variable de sortie.
— Les variables quantitatives n’ont pas forcément un impact monotone. Le modèle GLM par exemple, calcule un coefficientβj pour chaque variable quantitativeXj, ensuite pour chaque augmentation (respectivement diminution) de 1 unité (ou de 1 %) de la variable Xj, la
prédiction de la variable de sortie augmente (respectivement diminue) de βj unité (ou de βj %). Cependant, dans tous les cas, l’impact de la variable quantitativeXj reste toujours monotone et ne dépend que du signe βj. Par contre, avec un modèle utilisant des arbres de décision, l’effet de l’augmentation d’une variable quantitative Xj pour deux individus différents peut avoir un effet positif pour l’un et négatif pour l’autre, sur la prédiction de leur variable de sortie. Cela offre donc plus de liberté pour interpréter les liens de cause à effet entre les variables explicatives et la variable à expliquer.
Inconvénients
— Il existe un danger de sur-apprentissage. Nous avons vu jusqu’à présent comment créer un arbre de décision, cependant en essayant de prédire le mieux possible notre base d’apprentis- sage, on risque de moins bien prédire les autres individus ne faisant pas partie de cette base.
Ce problème a cependant des solutions, les parties suivantes portent entre autres sur ce sujet.
— Nous avons besoin de découper notre base, donc nous n’utilisons pas la totalité de notre base de données pour créer l’arbre de décision. Cela peut être problématique lorsque nous disposons de peu de données.
— Comme vu précédemment, l’algorithme vu dans la partie précédente est dit glouton. C’est- à-dire qu’à chaque décision, son choix se porte vers la solution qui parait être localement optimale. Cependant, une suite de choix localement optimaux ne donne pas un optimum global. Par exemple, nous pouvons le voir en tentant de minimiser, de proche en proche, la fonction :
x7→
−2x+ 10 si x≤2,5 2x si 2,5≤x≤5
−2x+ 20 si 5≤x≤10 2x−20 si x≥10 Voilà ce que nous donne graphiquement cet exemple :
Figure 2.4 – Différence entre minimum local et minimum global
En partant du point A, de coordonnées (4,8), si nous cherchons à minimiser la fonction repré- sentée par ce graphique en prenant une suite de minimums locaux, nous obtenons le point B, de coordonnées (2.5,5). Cependant, nous pouvons constater que le point B n’est qu’un mini- mum local car le minimum global est le point C, de coordonnées (10,0). On comprend donc
aisément qu’une suite de choix localement optimaux peuvent ne pas amener à un optimum global.
— Les arbres de décision sont incapables de prédire la variable de sortie d’individus qui ne ressemblent pas à ceux de la base d’apprentissage, là où au contraire certaines méthodes de prédiction classiques peuvent le faire sans problème. En d’autre terme, les arbres de décisions ne peuvent donner comme prédiction uniquement des valeurs de variable de sortie présentes dans la base d’apprentissage. Pour s’en rendre compte nous avons créé un test : nous avons construit une base de 1000 individus composée d’une variable d’entrée, un réel entre 0 et 10, et une variable de sortie qui est la somme du carré de la variable d’entrée plus un terme d’erreur suivant une loi normale de moyenne nulle et de variance 1, N(0,1). Nous avons comparé deux méthodes de prédiction, l’arbre CART et le GLM, pour observer si elles percevaient la relation entre ces deux variables. Voila le graphique représentant les erreurs des estimations (en ordonnée) en fonction de la valeur de la variable d’entrée de l’individu (en abscisse). La courbe noire représente les erreurs du modèle CART et la courbe rouge celles du modèle GLM.
Figure 2.5 – Différence des erreurs du GLM (rouge) et de l’arbre CART (noir)
On voit très clairement que sur le segment [0 ; 10] les erreurs des modèles sont globalement assez proches et restent faibles. Cependant, dès que l’on dépasse 10, et que l’on tente de prédire la variable de sortie des individus qui n’étaient pas présents dans la base d’apprentissage, on voit que l’erreur augmente très peu pour le modèle GLM alors qu’elle se met à augmenter brutalement pour le modèle basé sur un arbre de décision, ici le modèle CART.
2.2 Définition du sur-apprentissage
Comme nous en avons déjà brièvement parlé précédemment, l’un des plus gros dangers de l’ap- prentissage automatique est le sur-apprentissage. Si nous n’en tenons pas compte, il peut avoir des conséquences désastreuses pour nos modèles. Heureusement, il existe différentes méthodes pour en limiter les effets.
Généralement, en statistique, le sur-apprentissage, aussi appelé sur-ajustement ou sur-interprétation, a lieu lorsqu’une analyse correspond de manière trop exacte à un certain groupe particulier de la
population, ce qui peut donc amener à une mauvaise prévision des autres membres de la population ou des observations futures.
Ici, dans le cas de l’apprentissage automatique, comme vu précédemment, nous faisons face à du sur-apprentissage lorsque l’arbre de régression créé à partir de la base d’apprentissage est trop adapté à cette dernière. Nous avons vu comment créer un arbre de décision, et plus les noeuds seront nombreux plus notre arbre risque d’être confronté à ce problème. En effet, plus il est profond et mieux il décriera la base d’apprentissage, mais plus il risque de s’éloigner de la structure générale de la base.
Décrire parfaitement les données disponibles donne souvent des modèles très mauvais, dès lors que l’on veut généraliser nos prédictions sur des autres observations.
Figure 2.6 – Mise en évidence du sur-apprentissage
Par exemple, sur ce graphique, on peut voir sur un plan à deux dimentions 7 points, qui re- présentent notre base d’apprentissage. La courbe en noir est la meilleure estimation des données actuellement disponibles car elle passe par tous les points de la base d’apprentissage. La courbe rouge a une complexité moindre que la noire, elle décrit donc moins bien les données présentes.
Cependant, on peut supposer que la droite rouge donnera de meilleures estimations des futurs ob- servations de cette population.
Pour rappel, la cause de ce sur-apprentissage est que la base d’apprentissage n’est pas parfaite- ment représentative de l’ensemble des observations actuelles et futures. Une partie des liens modélisés entre les variables explicatives et la variable à expliquer sont vrais pour toutes les observations, mais d’autres ne sont vrais que dans les cas particuliers présents dans la base d’apprentissage et ne doivent pas se retrouver dans le modèle final.
Notre but, lors de la création d’un modèle de prévision utilisant l’apprentissage automatique, est de se servir des données disponibles afin de repérer la structure sous-jacente dans la base et de la généraliser par la suite aux futures observations. Pour pouvoir généraliser, il faut donc trier les noeuds de l’arbre de décision, pour garder uniquement ceux qui résultent d’une structure de la base généralisable.