Projet Data Science

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 15

RAPPORT DU TP DE DATA SCIENCE

EN ACTUARIAT

Proposé par : Sous la supervision de :


ALAYE Sika & KABRAN Eric Prof. Xavier MILHAUD
Elèves Ingénieurs Statisticiens et Economistes

31 Mai 2019

1
Table des matières
INTRODUCTION .................................................................................................................. 3
1. CHARGEMENT ET SIGNIFICATION DU JEU DE DONNEES.............................. 3
2. : STATISTIQUES DESCRIPTIVES UNIVARIEES ET BIVARIEES....................... 4
3. : MODELISATION PAR ARBRE DE DECISION ..................................................... 5
a- Explication des différents arguments de rpart et les valeurs retournées ............................ 6
b -1. Construction d’Arbre ...............................................................................................7
c-1. Elagage de l’arbre maximal :....................................................................................7
d-1. Etablissement Des Prévisions ......................................................................................8
b-2.Arbre Maximal .............................................................................................................8
c-2.Elagage .........................................................................................................................8
d-2 La prédiction du coût est donnée par la variable « pred_sev ». ......................................9
4-MODELISATION PAR FORET ALEATOIRE .................................................................. 9
a-Explication des arguments de randomForest ....................................................................9
CONCLUSION .................................................................................................................... 10
ANNEXE............................................................................................................................. 10

2
INTRODUCTION

Dans le cadre d’une mission à l’Ecole Nationale Supérieure de Statistique et d’Economie Appliquée, il
nous a été soumis un projet dont le but est de mettre en pratique les connaissances théoriques acquises
en cours sur des thématiques données dans le domaine de l’assurance. C’est aussi l’occasion de se
familiariser avec des logiciels de statistiques tels que R, qui est très utilisé dans le monde scientifique
en général, et particulièrement en finance et en assurance car complet, performant et libre. Nous
aborderons dans ce projet des notions générales et importantes de certaines méthodes statistiques et de
leurs applications à la vie courante. Ce sont : les statistiques descriptives univariées et bivariées,
l’implémentation d’algorithmes d’apprentissage statistique en R : « Arbres Cart et RandomForest » qui
nous initie à l’utilisation des méthodes non paramétrique pour l’explication et la prévision, et enfin une
modélisation par réseaux de neurones.

1. CHARGEMENT ET SIGNIFICATION DU JEU DE DONNEES

Dans un premier temps, il s’agira pour nous de charger le jeu de données « norauto » disponible dans la
librairie CASdatasets. Ensuite nous allons procéder à l’explication des différentes variables que contient
notre jeu de données.

 La signification du jeu de données

Ce jeu comprend 183999 observations de pertes sur polices d'assurance automobile sur une période d'un
an. Il provient d'un assureur norvégien inconnu et est composé de 7 variables qui sont: Male, Young,
Dislimit , Georegion ,Expo , claimAmount , Nbclaim.

Male : Elle représente le sexe du preneur d’assurance, elle vaut 1 s'il s'agit d'un homme et 0
sinon.
Young : Elle représente l'âge du preneur d’assurance. Nous fixé ici l’âge maximale des jeunes
à 25 ans. Ainsi notre variable vaut 1 si l’âge du preneur d’assurance est inférieur ou égal à 25 et
0 sinon.
Dislimit : Elle représente la distance limite indiquée dans le contrat d'assurance autrement dit
la distance maximale parcourue par le preneur d'assurance qui lui garantirait une indemnité en
cas de sinistre. Elle se mesure en kilomètres et comprend les modalités suivantes : 8000, 12000,
16000, 25000-30000, aucune limite.

3
Georegion : Elle représente la densité de la région géographique dans laquelle se situe
le preneur d’assurance. Elle part de la plus forte à la moins forte et contient les modalités
suivantes : "Haut+», Haut-, Moyen, "bas+", "bas-».
Expo : C'est la variable temps (en année) qui indique la durée de présence du contrat
dans le portefeuille.
ClaimAmount : Cette variable permet d'estimer le coût d'un sinistre, elle vaut 0 s'il n’y
a eu aucune réclamation du preneur d'assurance ou le montant moyen de la demande si
le nombre de réclamations est supérieur à 0
Nbclaim : Elle représente le nombre de réclamations faites pour un preneur d'assurance.
 Les Valeurs Aberrantes

Selon la littérature, lorsqu’on est en présence d’une base telle que la nôtre, il est judicieux de distinguer
les sinistres moins graves des sinistres extrêmement graves. On suppose donc que notre base est
constituée de deux catégories de sinistres : les sinistres extrêmement graves (claimAmount >50000) et
les sinistres moins graves (claimAmount<=50000). Une première approche pour détecter les valeurs
aberrantes est d'inspecter la boite à moustache de la variable ClaimAmount. Notre première approche
consistait à inspecter le nuage de points et ensuite la boîte à moustache. Nous avons représenté le coût
moyen des sinistres matérialisé par la variable claimAmount en fonction des individus ayant souscrit au
contrat d’assurance.

 L’analyse du nuage de points a révèle près d’une dizaine d’individus s’écartant du nuage
 L’analyse de la boîte à moustache quant à elle révèle 3 variables qui s’écartent complètement
des autres. Les valeurs aberrantes caractérisent les preneurs d’assurance qui sont jeunes (moins
de 26 ans) mais qui ont souscrit au contrat d’assurance depuis plus d’une dizaine d’années.

Nous en avons détecté six (06) au total que nous allons supprimer du fait des exigences du TP

2. : STATISTIQUES DESCRIPTIVES UNIVARIEES ET BIVARIEES

4
L'objectif de la statistique descriptive étant de décrire, résumer ou représenter, par des statistiques, les
données disponibles quand elles sont nombreuses ; nous allons procéder à la description de notre jeu de
données en faisant recours aux méthodes statistiques univariées et bivariées.

-Statistiques descriptives

Interprétation : Au vue de ces résultats on peut dire que plus de 75% des preneurs d’assurance ont plus
de 26 ans avec 97% d’hommes. La plupart des preneurs sont situées dans la région High- et les moins
nombreux se trouvent dans la région Low-. Ces résultats pourraient s’expliquer par le fait que la zone
Low- comporte moins de risque de sinistre.

A l’issue des différents tests statistiques réalisées notamment le test de student (qui permet de
tester si les moyennes des deux sous populations peuvent être différents), le test non paramétrique de
Wilcox(qui est un test de normalité qui ne fait pas d’hypothèses sur les lois de distribution des variables
testées) et le calcul du coefficient de corrélation de Pearson en ce qui concerne les variables quantitatives
(Expo, ClaimAmount, NbClaim), il ressort de nos statistiques bivariées qu’au seuil de 5%, il n’y a pas
de liaison véritable entre les différentes variables. Cependant les variables les moins indépendantes du
coût des sinistres sont Expo et NbClaim. Les résultats de ces tests sont disponibles en annexe.

3. : MODELISATION PAR ARBRE DE DECISION

C’est une approche qui est souvent utilisée pour construire des règles qui permettront de classer les
observations anciennes ou nouvelles avec une exactitude maximale. Dans notre cas il s’agit de
construire un arbre qui classe le risque de sinistre.

5
a- Explication des différents arguments de rpart et les valeurs retournées
Formula : prend en compte la formule qui spécifie le modèle,
data : pour préciser le jeu de données concerné,
weight : précise le poids de la variable,
subset : précise le domaine sur lequel le modèle doit être estimé,
na.action : précise ce qu’il faut faire en présence de valeurs manquantes.
method :ici on précise le type d'arbre qu'on fera : il s’agira d’un arbre de régression avec la méthode
Anova si la variable réponse est quantitative, un arbre de classification avec la méthode class si la
variable réponse est qualitative.
Model : garde en mémoire une copie du modèle généré lors de la création de l'arbre
x : représente la matrice des variables explicatives
y = représente le vecteur de la variable expliquée
parms : spécifie les paramètres pour la fonction de séparation des feuilles.
rpart.control : prend en compte les différents contrôles de la fonction. Elle prend en entrée
minsplit : nombre minimum d'observations que doit contenir un nœud
minbucket : nombre minimum d'observations que doit contenir une feuille(nœud terminal)
cp : paramètre de complexité du modèle, il prend en compte la complexité du modèle, c'est-à-dire
l'importance de la dimension du modèle.
maxcompete : le nombre de variables concurrentes dans la division proposée, pour savoir aussi a une
division non pas seulement quelle variable est arrivée première mais aussi celle qui étaient en seconde
et troisième position

surrogates = substituts : ils permettent de savoir ce qu'on fait à un nœud lorsque pour une observation
précise la valeur de la variable en question est "manquante", en somme qu'est-ce qu'on fait ou du moins
ou envoie-t-on une observation si au nœud ou elle se trouve, la variable intervenante est manquante
maxsurrogate : le nombre de scissions de substitutions conservées dans le modèle sortie proposée
usesurrogate : cela définit comme on utilise, les substituts. Il y a trois options :
0 : signifie ne pas les utiliser, si la valeur de l'observation est vide, elle n'est pas classée pour la suite de
l'arbre
1 : signifie utiliser les substituts s'il y en a
2 : l'option 2 intervient lorsque pour tous les substituts utilisés, l'observation a des valeurs
manquantes, l'observation est captée dans la direction majoritaire
xval : nombre de validation croisée
surrogatestyle : spécifie le choix de la variable de substitut :
0 : c'est le nombre total de classification correcte qui sera utilisée pour sélectionner la meilleure
variable de substitution

6
1 : C'est le pourcentage de classification correcte qui est utilisée, calculée sur les observations
validées
maxdepth = définit le nombre de niveau de l'arbre
 Pour la variable NbClaim
b -1. Construction d’Arbre
Notre arbre maximal contient 8256 feuilles avec une erreur de 58,56%. La variables la plus
discriminante est Expo. Les résultats sont disponibles en annexe.
Arbre maximal

c-1. Elagage de l’arbre maximal :


La stratégie que nous utilisons c’est de retenir la taille d'arbre qui minimise l'erreur de validation
croisée à l’aide de la commande. Le paramètre de Tuning est le paramètre de complexité cp.
Caractéristiques : On a successivement le numéro du nœud, ensuite le critère de segmentation, ensuite
le nombre d’individus mal classés, la variable prédite et la proportion de preneurs d’assurance dans
chaque branche. Vu le nombre élevé des branches, nous allons interpréter la 3 ème branche. Son critère
de segmentation est Expo>=1,5355. Le nombre d’individus dans la branche est 4664.

Affichage de l’arbre d’élagage et labélisation

7
Le pourcentage de la variable expliquée de l’arbre est de 0,99

d-1. Etablissement Des Prévisions


Pour établir les prévisions de cet arbre nous utilisons le code suivant :
pred_freq <- predict(norauto.tree_freq.elague,newdata=norauto.test).
 Pour la variable ClaimAmount

b-2.Arbre Maximal
L’arbre maximal ici contient 42 feuilles avec 97,95% d’erreur. La variable la plus
discriminante est Expo.
Arbre maximal

c-2.Elagage
Le paramètre de Tuning est le paramètre de complexité cp.

8
d-2 La prédiction du coût est donnée par la variable « pred_sev ».

4-MODELISATION PAR FORET ALEATOIRE

a-Explication des arguments de randomForest


data : jeu de données contenant les variables du modèle
subset : une spécification sur les individus utiliser dans le modèle
na.action : action à faire en présence des valeurs manquantes
x,formula : matrice des variables explicatives ou formule de spécification du modèle
y : vecteur spécifiant la variable expliquée
xtest : matrice contenant les variables explicatives ? utiliser pour l'ensemble
servant : tester le modèle
ytest : vecteur spécifiant la variable réponse pour l'ensemble de données servant ? tester le modèle
ntree : nombre d'arbre ? construire
mtry = nombre de variables aléatoirement choisi comme candidates pour séparer une feuille ? un niveau
donné
replace = tirage avec remise ou pas
classwt = classification ? priori
cutoff : définit comment déterminer qu'une observation appartient ? une classe spécifique dans une
feuille
strata : une variable qualitative utilisée pour effectuer une stratification des individus
sampsize : taille de l'échantillon ? tirer
nodesize : nombre minimal d'individus dans une feuille.
Maxnodes : profondeur maximal des arbres considérés dans la forêt
Importance : importance des variables explicatives
localImp : mesure l’importance
nPerm : Nombre de fois que les données out of Bag sont permutés par les arbres pour évaluer
l'importance des variables
proximity : la proximité entre les individus lignes doit-elle être calculée
oob.prox la proximité doit être calculé seulement pour les données out of bag
norm.votes : le résultat final des votes est renvoyé sous forme de fraction ou donné de manière brute
do.traces : si oui donne une sortie plus détaillée de la forêt aléatoire en cours
keep.forest : si oui, la forêt sera gardée comme un objet des résultats du modèle
corr.bias : réalise la correction du biais pour les régressions
keep.inbag = générer une matrice contenant les individus inbag pour chaque arbre créé.

9
b)Nous avons rencontré des difficultés dans la résolution de cette question. Ce qui nous a empêché de
progresser comme il se doit. Ces difficultés sont probablement dues au fait que nos machines ne sont
pas assez performantes pour faire tourner le modèle. Ainsi à partir de cette question nous présenterons
les codes sans toutefois les compiler pour afficher des résultats.

CONCLUSION
Nous sommes arrivés à la fin de notre projet, nous espérons avoir répondu aux exigences du TP dans la
mesure du possible. Cependant nous avons été confronté à certaines difficultés, principalement le
manque de temps pour pouvoir mieux approfondir nos recherches et fournir des codes plus adaptées
mais aussi le manque de performance de nos ordinateurs. Toutefois nous sommes satisfaits des
connaissances à travers ce cours de Data science en Actuariat et du TP. Pour finir, nous adressons nos
sincères remerciements à M. Xavier MILHAUD qui nous a enseigné les rudiments indispensables à la
réalisation de ce projet.

ANNEXE

Graphiques

10
Figure 2

figure 1: Nuage de points (Norauto)

11
12
Résultats
- Codes statistiques bivariées

13
14
15

Vous aimerez peut-être aussi