102
textetuooooooooo Rapport de Bureau d’étude - Groupe n°11 MASTER 1 Actuariat Étude de la sinistralité automobile par des méthodes de machine learning Abdoul-Malick BUARI - Thomas LE BRIGAND - Arstan UMAROV Travail supervisé par : Nabil RACHDI (Responsable Data Science Actuaris) Pierre AILLIOT (Enseignant - Chercheur) Franck VERMET (Enseignant - Chercheur) 2017-2018

Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

textetuooooooooo

Rapport de Bureau d’étude - Groupe n°11MASTER 1 Actuariat

Étude de la sinistralité automobile par desméthodes de machine learning

Abdoul-Malick BUARI - Thomas LE BRIGAND - Arstan UMAROV

Travail supervisé par :

Nabil RACHDI (Responsable Data Science Actuaris)Pierre AILLIOT (Enseignant - Chercheur)

Franck VERMET (Enseignant - Chercheur)

2017-2018

Page 2: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Remerciements

Tout d’abord, nous tenons à exprimer notre plus grande reconnaissance à Monsieur Nabil RA-CHDI - responsable Data Science au sein du cabinet Actuaris et tuteur de notre bureau d’étude - poursa disponibilité, son attention en particulier lors de nos entretiens téléphoniques, ainsi que pour sesnombreux conseils qui nous ont permis d’avancer dans notre travail.

Par ailleurs, nous souhaitons tout particulièrement remercier Monsieur Franck VERMET - direc-teur des études de l’EURIA, responsable de l’encadrement des bureaux d’étude, enseignant chercheuret également tuteur de notre bureau d’étude - ainsi que Monsieur Pierre AILLIOT - enseignant cher-cheur - pour l’aide et les indications qu’ils nous ont apportées au cours de nos recherches lors desdifférentes étapes de notre travail.

Enfin, nous adressons nos remerciements à Monsieur Anthony NAHELOU pour les conseils com-plémentaires qu’il a pu nous donner lorsque cela était nécessaire.

1 Bureau d’étude 2017 - 2018

Page 3: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

TABLE DES MATIÈRES

Table des matières

1 Introduction 7

2 Open Data 82.1 Contexte général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.1 Définition générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.2 Sources de l’Open Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.2.1 L’intéropérabilité : essence de l’Open Data . . . . . . . . . . . . . . . . . . 92.1.2.2 Une grande variété de secteurs sources . . . . . . . . . . . . . . . . . . . . 9

2.2 Exemples d’utilisation d’Open Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 Bénéfices et répercusions de l’Open Data sur la société . . . . . . . . . . . . . . . . . . . . 10

2.3.1 Les bénéfices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Les répercussions sur la vie des citoyens . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 Ce qu’il faut retenir des Open Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 La sinistralité automobile en France 123.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Historique de la sinistralité automobile en France . . . . . . . . . . . . . . . . . . . . . . . 133.3 Causes des accidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 La base de données 164.1 Importation de la base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2 La base de données initiale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.2.1.1 La sous-base USAGERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2.1.2 La sous-base VEHICULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.1.3 La sous-base LIEUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2.1.4 La sous-base CARACTERISTIQUES . . . . . . . . . . . . . . . . . . . . . . 19

4.2.2 Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.2.1 La gravité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.2.2 Les quatre sous-bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3 La nouvelle base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.1 Mise en perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.2 Création . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3.2.1 Modification de la sous-base USAGERS . . . . . . . . . . . . . . . . . . . 244.3.2.2 Modification de la sous-base VEHICULES . . . . . . . . . . . . . . . . . . 254.3.2.3 Modification de la sous-base LIEUX . . . . . . . . . . . . . . . . . . . . . . 264.3.2.4 Modification de la sous-base CARACTERISTIQUES . . . . . . . . . . . . . 26

4.3.3 Gestion des valeurs manquantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.3.4 Visualisation des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2 Bureau d’étude 2017 - 2018

Page 4: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

TABLE DES MATIÈRES

5 Les outils Informatiques utilisés 355.1 Le package H2O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2 TensorFlow & Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.2.1 TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.2.2 Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6 La mise en place des modèles 376.1 Intérêt de la modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2 Recherche d’informations redondantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.3 Les métriques utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.3.1 Exactitude (Accuracy) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.3.2 Précision (Precision) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.3.3 Rappel (Recall) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.3.4 Score F1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446.3.5 AUC (Area Under Curve) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.4 La théorie des modèles de prédictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.4.1 Modèles linéaires généralisés (GLM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 456.4.2 Forêts aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.4.2.1 Les arbres de décisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466.4.2.2 La théorie du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.4.3 Modèle Gradient Boosting (GBM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.4.4 Réseaux de neurones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.5 Application à notre étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.5.1 Échantillonnage de la base de données . . . . . . . . . . . . . . . . . . . . . . . . . 506.5.2 Mise en forme des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.5.3 Paramétrage des modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.5.3.1 Sous H2O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.5.3.2 GLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.5.3.3 Forêts aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.5.3.4 GBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.5.3.5 Sous Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.5.4 Présentation des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.5.4.1 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.5.4.2 Interpréation des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.5.4.3 Analyse ex ante / ex post . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7 Représentation géographique des accidents 73

8 Conclusion 75

A Codes informatiques 76

3 Bureau d’étude 2017 - 2018

Page 5: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

TABLE DES FIGURES

Table des figures

2.1 Les différents secteurs de sources d’Open Data . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Evolution de la mortalité automobile en France . . . . . . . . . . . . . . . . . . . . . . . . 13

4.1 Aperçu de la sous-base USAGERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Aperçu de la sous-base VEHICULES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.3 Aperçu de la sous-base LIEUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.4 Aperçu de la sous-base CARACTERISTIQUES . . . . . . . . . . . . . . . . . . . . . . . . . 204.5 Evolution de la proportion des modalités de la gravité des accidents entre 2005 et 2016 204.6 Proportion de valeurs manquantes par variable de la sous-base USAGERS . . . . . . . . 214.7 Proportion de valeurs manquantes par variable de la sous-base VEHICULES . . . . . . . 224.8 Proportion de valeurs manquantes par variable de la sous-base CARACTERISTIQUES . 224.9 Proportion de valeurs manquantes par variable de la sous-base LIEUX . . . . . . . . . . 234.10 Aperçu de la nouvelle sous-base USAGERS . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.11 Aperçu de la nouvelle sous-base VEHICULES . . . . . . . . . . . . . . . . . . . . . . . . . 254.12 Aperçu de la nouvelle sous-base LIEUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.13 Aperçu de la nouvelle sous-base CARACTERISTIQUES . . . . . . . . . . . . . . . . . . . . 274.14 Répartition des accidents par type d’usagers . . . . . . . . . . . . . . . . . . . . . . . . . . 294.15 Répartition des accidents par âge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.16 Répartition des accidents par genre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.17 Répartition des accidents par catégories de véhicules . . . . . . . . . . . . . . . . . . . . . 314.18 Les manoeuvres principales des conducteurs avant l’accident . . . . . . . . . . . . . . . 314.19 Répartition des accidents par catégorie de routes . . . . . . . . . . . . . . . . . . . . . . . 324.20 Etat de la surface lors de l’accident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.21 Les types d’infrastructures sur le lieu de l’accident . . . . . . . . . . . . . . . . . . . . . . 334.22 Les conditions météorologiques lors de l’accident . . . . . . . . . . . . . . . . . . . . . . . 334.23 L’heure des accidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.1 Répartition de la gravité avec 4 modalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2 Répartition de la gravité avec 2 modalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.3 Coût de la sinistralité automobile de 2010 à 2016 . . . . . . . . . . . . . . . . . . . . . . . 386.4 Analyse de la corrélation sur la base USAGERS . . . . . . . . . . . . . . . . . . . . . . . . . 396.5 Analyse de la corrélation de la base VEHICULES . . . . . . . . . . . . . . . . . . . . . . . . 406.6 Analyse de la corrélation base CARACTERISTIQUES . . . . . . . . . . . . . . . . . . . . . 416.7 Analyse de la corrélation base LIEUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426.8 Exemple simpliste d’arbre de décision : Trouver la maladie en fonction des symptômes . 466.9 Schéma explicatif du fonctionnement d’un neurone formel . . . . . . . . . . . . . . . . . 486.10 Schéma explicatif du fonctionnement d’un perceptron simple . . . . . . . . . . . . . . . 496.11 Schéma explicatif du fonctionnement d’un perceptron monocouche (1 couche cachée) 496.12 Courbe ROC des modèles mis en place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.13 Historique d’entraînement du réseau neuronal . . . . . . . . . . . . . . . . . . . . . . . . 546.14 Variables explicatives de la gravité par le modèle glm . . . . . . . . . . . . . . . . . . . . . 556.15 Variables explicatives de la gravité par les forêts aléatoires . . . . . . . . . . . . . . . . . . 56

4 Bureau d’étude 2017 - 2018

Page 6: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

TABLE DES FIGURES

6.16 Variables explicatives de la gravité dans le modèle gbm . . . . . . . . . . . . . . . . . . . 566.17 Graphique croisé de catv-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.18 Graphique croisé de NB_pers-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.19 Graphique croisé de obstacle-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596.20 Graphique croisé de agg-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.21 Graphique croisé de manv-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.22 Graphique croisé de col-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626.23 Boites à moustaches de densité-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.24 Graphique croisé de densite-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.25 Explication individuelle de la sinistralité par le réseau neuronal . . . . . . . . . . . . . . 656.26 Variables explicatives de la gravité par les forêts aléatoires sous le nouveau modèle . . . 676.27 Graphique croisé age-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.28 graphique croisé Plan-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.29 graphique croisé heure-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.30 graphique croisé mois-grav . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716.31 Explication individuelle de la sinistralité automobile . . . . . . . . . . . . . . . . . . . . . 72

7.1 Aperçu de la représentation des accidents sur l’année 2016 en France métropolitaine . 737.2 Aperçu du nombre de tués en Pointe de Bretagne au cours de l’année 2008 . . . . . . . . 74

5 Bureau d’étude 2017 - 2018

Page 7: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

LISTE DES TABLEAUX

Liste des tableaux

3.1 Statistiques des principales causes d’accidents . . . . . . . . . . . . . . . . . . . . . . . . 15

6.1 Résultats des modèles sur la base d’apprentissage . . . . . . . . . . . . . . . . . . . . . . . 526.2 Résultats des modèles sur la base de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.3 Résultats des modèles sur la base de la validation . . . . . . . . . . . . . . . . . . . . . . . 536.4 Résultat des nouveaux modèles sur la base de validation 2016 . . . . . . . . . . . . . . . 66

6 Bureau d’étude 2017 - 2018

Page 8: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 1

Introduction

Au cours de notre année de Master 1 à l’Euro Institut d’Actuariat, des professionnels du domainede l’actuariat proposent différents sujets d’étude variés et innovants, accompagnés de probléma-tiques concrètes. Après le choix d’un sujet, les encadrants professionnels et professeurs assignés nousguident dans nos travaux de recherche qui ont pour objectif de nous faire découvrir un domaine ac-tuariel. Le "Bureau d’Etude" est, pour beaucoup d’étudiants, une première expérience de mission derecherche et permet de tester notre capacité à travailler en groupe. En plus des connaissances ac-quises et nécessaires lors de nos deux premières années d’études en actuariat, le Bureau d’Etude viseà nous sensibiliser sur un sujet précis, souvent "inconnu", étendant ainsi notre champ de connais-sance.

En particulier, notre sujet porte sur l’étude de la sinistralité automobile en France par des mé-thodes de "Machine Learning". Ce sujet nous a été proposé par le cabinet Actuaris et consiste à ex-pliquer cette sinistralité au cours des dernières années par des méthodes de prédiction issues de la"Data Science" ou de l’analyse de données en utilisant des données libres communément décritessous le nom d’"Open Data". Il est notifié dans la problématique que la variable à prédire par nos mo-dèles est le niveau de gravité d’un accident subi par un individu. Les données proposées par Actuarissont récupérées sur le site www.data.gouv.fr et sont qualifiées d’Open Data.

Ce sujet est très riche, tant par la diversité des domaines étudiés lors de cette étude (comme lasinistralité automobile ou l’usage des Open Data) que par l’application de méthodes de MachineLearning introduites lors de nos cours d’Apprentissage Statistique et de Modèles Linéaires. C’est éga-lement par ailleurs un sujet d’actualité innovant. En effet, les révolutions numériques et digitales ob-servées ces dernières années ont pour cause l’explosion de la quantité de données disponibles (d’oùl’appellation anglaise qui qualifie ces données de "Big Data"), mais aussi de défis qui accompagnentces évolutions (tels que la protection des données personnelles par exemple). Ces immenses donnéesvont propulser sur le devant de la scène les techniques de Machine Learning, qui étaient jusqu’alorsdifficilement applicables à cause de limitations technologiques, et qui vont permettre aujourd’hui lamise en place de modèles prédictifs performants.

Après avoir présenté les différentes notions utilisées, notre étude se décomposera en trois étapesfondamentales présentes dans toutes les études de Data Science. Dans un premier temps, il sera ques-tion de collecter, analyser et éventuellement modifier les données disponibles. La deuxième étapeconsistera ensuite à construire et à expliquer la sinistralité automobile par des modèles prédictifs.Enfin, il restera à évaluer la qualité de nos modèles et appliquer ces différentes étapes à plusieursreprises si nécessaire. Nous compléterons également notre étude par la mise en place d’un outil dereprésentation géographique des accidents.

7 Bureau d’étude 2017 - 2018

Page 9: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 2

Open Data

Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libresd’accès et de droit, pouvant être exploitées et réutilisées. Ces "données ouvertes" vont donc permettrede conduire des études permettant d’approfondir notre connaissance ou compréhension de certainssujets, et cela dans différents domaines d’activités.

2.1 Contexte général

2.1.1 Définition générale

Le terme Open Data désigne un ensemble de données auxquelles tout le monde peut accéder,utiliser ou partager sans aucune restriction.

Ces données reposent sur des critères essentiels qui sont :

— La disponibilité et l’accès :

Les données doivent être accessibles de façon légale et sans barrière technique quant à leur utili-sation, c’est-à-dire lisibles par les machines. Elles sont préférablement disponibles sur Internet.

— La réutilisation et la redistribution :

Les données doivent être mises à disposition sous des conditions permettant leur réutilisation etleur redistribution, notamment la possibilité de pouvoir les combiner à d’autres données.

— La participation universelle :

Tout le monde doit pouvoir accéder à ces données et être en mesure de les réutiliser et les manipu-ler de la même manière, sans faire de discrimination sur les fins d’utilisation ou envers des personnesou des groupes. Aucune restriction d’utilisation ne doit être faite, y compris à des fins commerciales.

Ces trois critères sont essentiels pour l’Open Data car ils permettent l’interopérabilité qui consisteen la capacité de pouvoir mélanger différents ensembles de données donnant ainsi à différentes en-treprises et/ou systèmes la possibilité de travailler ensemble.

8 Bureau d’étude 2017 - 2018

Page 10: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

2.1. CONTEXTE GÉNÉRAL

2.1.2 Sources de l’Open Data

2.1.2.1 L’intéropérabilité : essence de l’Open Data

L’intéropérabilité évoquée ci-dessus est très importante en Open Data car elle donne par la dé-mocratisation de la donnée, l’opportunité à différentes entités de travailler ensemble créant ainsi dessystèmes d’exploitation plus larges de la donnée. La mise en commun des données qui repose sur lapossibilité de les mélanger librement est nécessaire afin de développer des produits et des servicesen plus grande quantité et surtout de meilleure qualité.

Toutefois, cette interopérabilité ne repose pas uniquement sur le partage de données. En effet, lesjeux de données doivent utiliser un langage de programmation commun ou alors un intermédiaireinformatique qui permet de faciliter leur exploitation.

Certaines conditions doivent alors être respectées au moment de la création de données, notam-ment la certification de la provenance des données publiées, l’indication des caractéristiques qui ysont liées (nous pouvons par exemple citer la date et l’heure de création des données), ou encore lagarantie de la qualité de l’information...

2.1.2.2 Une grande variété de secteurs sources

L’Open Data concerne des informations en provenance de n’importe quelle source d’informa-tions, dans n’importe quel domaine et sur n’importe quel sujet dès lors que ces données libre d’accèssont proposées pour un usage gratuit afin que les utilisateurs puissent en tirer un bénéfice, qu’il soitcommercial ou non. La plupart du temps, ces Open Data sont fournies par le gouvernement ou lesecteur public : il peut s’agir de données sur des budgets, des données cartographiques, ou encore derésultats découlant de recherches scientifiques. Ce ne sont néanmoins pas les seules sources d’OpenData que l’on peut trouver.

Les Open Data sont généralement des données non personnelles pour des raisons de respect de lavie privée des individus. Nous pouvons trouver de telles données dans les domaines de la science, dela cartographie, de l’environnement, de la culture, de l’éducation, de l’économie, du développement,des affaires, ou encore de la finance. En plus de données chiffrées, nous retrouvons d’autres contenuscomme des images, du texte ou de la musique.

FIGURE 2.1 – Les différents secteurs de sources d’Open Data

9 Bureau d’étude 2017 - 2018

Page 11: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

2.2. EXEMPLES D’UTILISATION D’OPEN DATA

2.2 Exemples d’utilisation d’Open Data

Aujourd’hui, les principaux acteurs qui fournissent des données ouvertes sont les gouvernementset collectivités gouvernementales ainsi que les très grandes entreprises. Ils récoltent massivementtous types de données qui constituent alors de précieuses ressources. Grâce à ce recueil d’informa-tions massives, différentes entités les utilisent de manière totalement libre et légale afin de mieuxaccomplir leurs tâches.

En effet, différents groupes de personnes ou organisations qui exercent des activités très diversesles utilisent, y compris les gouvernements. Nous pouvons citer comme secteurs d’activités utilisa-teurs des Open Data : la santé, les transports, le tourisme, l’environnement, la culture...

Parmi les collectivités actives, Rennes Métropole est un précurseur avec l’accès gratuit à sa basede données sur les transports. Par exemple, l’application Androïd ArceauVélo localise sur une carteles emplacements de supports à vélo proches des utilisateurs. Une autre application, EasyBus, donnede manière rapide et efficace les horaires de bus sur le réseau de Rennes Métropole.

Comme exemples dans le domaine de la culture, nous pouvons évoquer le partenariat mis enplace entre le Ministère de la Culture et de la Communication, la Bibliothèque nationale de France(BnF) et la Réunion des musées nationaux et du Grand Palais (Rmn-GP), qui a permis d’élaborer uneoffre de parcours géolocalisés à disposition des utilisateurs, proposant de découvrir des œuvres em-blématiques du patrimoine français accessibles en haute définition. Le contenu de la base de donnéesest issu des archives de Gallica (BnF) et de celles de la Rmn-GP.

Un dernier exemple d’application dans le domaine de l’environnement, la boussole éco-mobilitéet éco-citoyenneté qui permet de se rendre en un lieu ou établissement de la façon la plus rapide etécoresponsable possible.

Cette boussole utilise la liste des établissements publics, les données de transport en commundisponible comme les lignes de bus et de tramway et un utilitaire développée par 3Liz à Montpellierpour calculer l’itinéraire.

2.3 Bénéfices et répercusions de l’Open Data sur la société

2.3.1 Les bénéfices

Les Open Data sont de plus en plus exploitées par les entreprises. C’est une source d’emplois enexpansion rapide.

Ces Open Data génèrent à elles seules des dizaines de milliards d’euros chaque année et le retoursur investissement est utopique. Elles permettent aussi d’améliorer le quotidien des individus sur leplan financier, social et même culturel.

Par exemple, chaque jour, 84% des smartphones utilisent une application de type Open Data.

L’Open Data Institute estime le chiffre d’affaires annuel combiné des entreprises anglaises diri-gées par l’ Open Data à 92 milliards de Livres Sterling. L’industrie du transport à Londres est parvenueà dégager un retour sur investissement de 58 pour 1 en ouvrant l’accès à ses données de transport.Cela a permis de faire émerger des leaders mondiaux, comme Citymapper. Cette application mobilerévolutionnaire est donc née grâce à l’ouverture des données.

D’autre part, lorsque de grandes entreprises ou des gouvernements ouvrent l’accès à des don-nées non-personnelles, cela permet aux petites entreprises de développer des ressources offrant desaméliorations cruciales pour leurs consommateurs.

De plus, les Open Data permettent d’accéder plus facilement aux services de santé et de découvrirplus efficacement de nouveaux traitements pour les maladies par exemple. Elles offrent l’opportunitéde voyager plus aisément. De nouvelles possibilités sont découvertes en permanence.

10 Bureau d’étude 2017 - 2018

Page 12: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

2.4. CE QU’IL FAUT RETENIR DES OPEN DATA

2.3.2 Les répercussions sur la vie des citoyens

Beaucoup de personnes se posent des questions sur la notion d’Open Data et plus particulière-ment sur l’accessibilité à des données personnelles, surtout depuis le scandale Facebook-cambridgeAnalytica dans lequel les données personnelles d’utilisateurs du réseau social Facebook ont été uti-lisées par l’entreprise Cambridge Analytica, une entreprise de collecte et traitement de données per-sonnelles pour influencer la récente campagne présidentielle aux Etats-Unis et le vote sur le Brexit.

Le terme Open Data ne signifie pas qu’un gouvernement ou qu’une autre entité rend publiquestoutes ses données, y compris les données personnelles. En effet, il serait non seulement inconscientde délivrer toutes les données privées et personnelles des citoyens ou des consommateurs à n’importequi, mais cela irait également à l’encontre de la protection de la vie privée de chaque individu qui aété affirmée en 1948 par la Déclaration universelle des droits de l’homme des Nations unies (art. 12).En droit français, l’article 9 du Code civil, introduit par la loi du 17 juillet 1970, dispose que « Toutepersonne a droit au respect de sa vie privée ».

Cela signifie simplement que les données sont rendues publiques d’une manière spécifique, parexemple par cryptage des données privées ou par une anonymisation de ses données permettant aupublic d’y accéder sans aucune restrictions.

Cette mauvaise compréhension justifiée provoque naturellement la crainte de la population concer-nant la confidentialité. Les gouvernements doivent alors trouver l’équilibre entre l’ouverture des don-nées et la protection de la vie privée des citoyens. Il existe notamment un règlement européen, laRGPD, qui est le Règlement Général sur la Protection des Données ou encore GDPR – General DataPrivacy Regulation, qui vise à renforcer la protection des données personnelles en tenant compte desrécentes évolutions technologiques et des défis qui accompagnent ces évolutions.

2.4 Ce qu’il faut retenir des Open Data

Les Open Data ont d’ores et déjà permis d’étendre considérablement le savoir et les connais-sances. En effet, ce système d’exploitation très prometteur permet d’améliorer la qualité générale desproduits déjà existant et d’en créer sans cesse de nouveaux. Avec cela, un large bénéfice économiquea déjà été engendré ces dernières années et devrait continuer à croître considérablement durant lesprochaines décennies. Cela a permis de générer plusieurs dizaines de milliards d’euros rien qu’enEurope.

Il faut toutefois faire attention quand à la sécurisation et la publication des données personnellesdes consommateurs.

11 Bureau d’étude 2017 - 2018

Page 13: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 3

La sinistralité automobile en France

Outre les Open Data, le thème principal de notre étude est la sinistralité automobile en France.Il est alors nécessaire de comprendre les différentes notions de celle-ci afin d’effectuer notre étudebasée sur les accidents automobiles.

Ainsi, ce chapitre donnera les définitions des différents termes utilisés par la suite, puis fera unpoint sur l’historique de la sinistralité automobile en France. Enfin, il discutera des multiples causespossibles des accidents accompagné de statistiques et de chiffres clés représentatifs.

3.1 Définitions

En 2004, afin de faciliter les comparaisons internationales, en France, le comité interministérielde la sécurité routière a décidé d’harmoniser les définitions de la gravité dans le fichier des accidentscorporels avec les définitions adoptées par nos principaux voisins européens.

Dans notre jeu de données, la variable à prédire est la variable qui indique le niveau de gravitéde chaque individu présent dans un accident. Cette variable comporte quatre modalités qui sont :Indemne, Blessé léger, Blessé hospitalisé et Tué. Définissons alors ces différents termes.

— Un accident corporel (mortel et non mortel) de la circulation routière est un accident qui sur-vient sur une voie ouverte à la circulation publique, qui implique au moins un véhicule, et quiprovoque au moins une victime, c’est-à-dire un usager ayant nécessité des soins médicaux.

Un accident corporel implique un certain nombre d’usagers. Parmi ceux-ci, nous distinguons :

— Les indemnes : impliqués non décédés et dont l’état ne nécessite aucun soin médical

— Les victimes : impliqués non indemnes.

Parmi les victimes, nous distinguons :

— Les tués : toute personne qui décède sur le coup ou dans les trente jours qui suivent l’accident ;avant 2004 les statistiques ne faisaient état que de tués dans les six jours.

— Les blessés : victimes non tuées.

Parmi les blessés, nous distinguons :

— Les blessés hospitalisés : victimes admises comme patients dans un hôpital plus de 24 heures.

— Les blessés légers : victimes ayant fait l’objet de soins médicaux mais n’ayant pas été admisescomme patients à l’hôpital plus de 24 heures.

12 Bureau d’étude 2017 - 2018

Page 14: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

3.2. HISTORIQUE DE LA SINISTRALITÉ AUTOMOBILE EN FRANCE

3.2 Historique de la sinistralité automobile en France

Pour information, le premier accident automobile en France eut lieu en 1770, le véhicule impli-qué, appelé le fardier de Cugnot, percuta un mur à une vitesse estimée à 4 km/h ce qui provoqua ladestruction de l’engin. Aucun blessé n’a été comptabilisé.

Par la suite, les véhicules en circulation sont devenus de plus en plus performants et de plus enplus rapides. De ce fait, les accidents sont aujourd’hui beaucoup plus dangereux.

Depuis 1945, les chiffres sont édifiants. Nous parlons d’au moins 500 000 décèss, soit l’équivalentd’un grand conflit majeur, ou l’équivalent de pertes humaines subies en France lors de la SecondeGuerre mondiale.

Depuis 1960, au moins 350 000 personnes sont décédés des suites d’un accident de la route enFrance : la seule année 1972 comptabilise 18 034 morts officielles.

Le graphique suivant présente le nombre de morts par accident de voitures en France entre 1970et 2016.

FIGURE 3.1 – Evolution de la mortalité automobile en France

Nous remarquons que le nombre de morts diminue naturellement tous les ans, et que l’ajout desystème de sécurité routière comme les radars automatiques ne semblent pas contribuer à la dimi-nution de la mortalité automobile.

Le nombre d’accidents corporels recensés par les pouvoirs publics est en baisse de 2,7% en 2015par rapport à 2014. Alors que les blessés légers représentent la majorité des sinistres corporels (envi-ron 71%), leur indemnisation ne représente que 5% de l’ensemble des indemnités versées. A contra-rio, les blessés les plus graves ne représentent que 2% des sinistres corporels, soit environ 3 000 blesséspar an pour 58% de la charge des indemnités versées.

En 2016, la France a compté 57 522 accidents corporels, ce qui a provoqué la mort de 3 477 per-sonnes. Selon les chiffres collectés par l’Observatoire National de la Sécurité Routière (ONISR), lenombre de blessés s’élève à 72 645 personnes, dont 27 187 ont été hospitalisés.

13 Bureau d’étude 2017 - 2018

Page 15: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

3.3. CAUSES DES ACCIDENTS

3.3 Causes des accidents

Des enquêtes scientifiques menées en France entre 1983 et 2004 ont montré que dans 90% desaccidents mortels, le comportement humain est en jeu ; dans 50% des accidents mortels, l’infrastruc-ture est en jeu ; et dans 30% des accidents mortels, les facteurs liés aux véhicules sont en cause.

Certains facteurs sont relevés systématiquement par les forces de l’ordre après la survenance d’unaccident : alcoolémie, choc contre un obstacle fixe, conditions météorologiques...

D’autres facteurs, et non des moindres, ne sont pas systématiquement recherchés car ils sontdifficiles à déterminer avec précision : vitesse, fatigue, somnolence, distraction, téléphone au volant,distances de sécurité. . .

Les causes des accidents sont multiples : facteurs humains, véhicule, conditions de circulation,état de la route, obstacles, conditions météorologiques... Mais ce sont les facteurs humains qui sonten tête dans la majorité des accidents corporels (dans 90% des cas). Parmi ceux-ci : l’alcool, la vitesse,la fatigue, la distraction et l’usage du téléphone au volant.

Le cannabis multiplierait par deux la probabilité d’être responsable d’un accident mortel et parquatorze si le cannabis est associé à l’alcool. La conduite sans permis ou permis invalide est constatéedans 4% des accidents mortels.

Les causes profondes des accidents peuvent être dues au temps de trajet domicile travail et auxroutes empruntées. Ainsi, les inégalités sociales seraient un facteur non négligeable dans la haussedes statistiques d’accidents mortels constatés depuis 2014.

En ville, la vitesse tue : nous estimons pour un accident entre un véhicule et un piéton qu’à 30km/h, les blessures les plus fréquentes sont des contusions légères avec une probabilité de 15% d’êtretué, alors qu’à plus de 50 km/h, la probabilité de tuer un piéton est proche de 100%.

Un choc entre un véhicule et un cycliste peut avoir les mêmes conséquences, mais en plus, lecycliste chutera.

En France, en 2006, le non-port de la ceinture est présent dans 20% des accidents mortels. Un oc-cupant portant correctement sa ceinture peut sortir indemne d’un accident, alors que le port d’uneceinture trop détendue peut conduire à heurter le volant et à des fractures de côtes dues à la collisioncontre la ceinture, ou encore à un traumatisme crânien avec fractures faciales et perte de connais-sance, des fractures des genoux, fémurs ou bassin et enfin un enfoncement thoracique avec lésionssont souvent mortelles.

Jusqu’en 2006, les carrefours non giratoires sont le lieu de 23% des accidents, et 19% des acci-dents mortels, les virages de 40% des accidents mortels, et les obstacles sur accotement de 30% desaccidents mortels. La présence d’accès riverains ou commerciaux non aménagés e représente 6%.

14 Bureau d’étude 2017 - 2018

Page 16: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

3.3. CAUSES DES ACCIDENTS

Cause de l’accident StatistiquesConduite sous influencede l’alcool

L’alcoolémie positive d’un conducteur est présente dans les accidentscausant 28% des tués sur la route.

Vitesse excessive Selon les forces de l’ordre, les excès de vitesse sont la cause principalede 26% des accidents mortels.

Défaut de ceinture /casque

Au moment de l’accident :— 21% des tués dans les véhicules (plus d’une personne sur cinq)

ne portaient pas leur ceinture de sécurité.— 12% des tués à cyclo, et 3% à moto ne portaient pas de casque.

Téléphone au volant Ce facteur n’est pas comptabilisé dans les statistiques d’accidents.Mais téléphoner au volant multiplie par trois le risque d’accident cor-porel. Et un accident corporel sur dix est lié à l’usage du téléphone.

Présence d’un obstaclefixe

Facteur présent pour les accidents occasionnant 35% des tués.

Fatigue et somnolenceau volant

Le facteur « malaise fatigue » apparaît dans 9% des décès sur l’en-semble du réseau et pour 18% des tués sur l’autoroute. Ce risque ap-paraît de jour comme de nuit.

Conduite sous influencedu cannabis

23% des décès surviennent dans des accidents impliquant unconducteur contrôlé positif aux stupéfiants. Conduire après avoirconsommé du cannabis multiplie par deux le risque d’être respon-sable d’un accident mortel. Le risque est multiplié par quatorze encas de consommation conjointe de cannabis et d’alcool.

Conduite sans permis /avec permis inadapté /sans assurance

4% des accidents mortels impliquent un conducteur n’ayant pas lepermis valide, en grande majorité (les 3/4) n’ayant pas de permis. Et4% des accidents mortels impliquent un véhicule sans assurance.

TABLE 3.1 – Statistiques des principales causes d’accidents

15 Bureau d’étude 2017 - 2018

Page 17: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 4

La base de données

Pour effectuer une étude prédictive en Machine Learning, une base de données est nécessaire.

Comme évoqué en introduction, nous utiliserons dans cette étude des données Open Data oulibres d’accès. Notre première source de données est le site www.data.gouv.fr, qui est la principaleplate-forme ouverte de données publiques françaises. Lorsque l’on effectue une étude à l’aide d’OpenData, les données brutes récoltées nécessitent un traitement préalable, car elles correspondent rare-ment à nos besoins et ne sont pas créées pour une utilisation en particulier.

Ce traitement consiste en la recherche de valeurs manquantes, de variables ou valeurs aberrantesou non significatives, et souvent en fonction de l’objectif final recherché, à compléter la base de don-née initiale par d’autres variables issues d’autres bases de données. Nous voyons ici un avantage nonmoindre des Open Data, puisque la modification des données est possible sans restriction de copy-right (droits d’auteurs), à condition que ces données soient de bonne qualité.

Des analyses descriptives de notre jeu de données ont ensuite été réalisées afin de relever de pre-mières informations sur la sinistralité automobile, avant même la mise en place de modèles de pré-diction.

4.1 Importation de la base de données

Le jeu de données disponible sur le site www.data.gouv.fr est organisé en 44 fichiers différentsqui sont difficiles à importer manuellement. De ce fait, nous avons utilisé une méthode algorithmiqueclassique de collecte de données, appelée scraping. Cette méthode permet d’extraire des informa-tions de la page souhaitée de manière automatique en parcourant les liens imposés à l’algorithme.

4.2 La base de données initiale

4.2.1 Description

Notre jeu de données répertorie l’ensemble des accidents corporels de la circulation française de2005 à 2016. Les différentes informations relatives à chaque accident sont remplies par l’unité desforces de l’ordre intervenues sur le lieu de l’accident. Ces saisies sont rassemblées dans une ficheintitulée "Bulletin d’analyse des accidents corporels". L’ensemble de ces fiches constitue le fichiernational des accidents corporels de la circulation dit "Fichier BAAC1", administré par l’ObservatoireNational Interministériel de la Sécurité Routière "ONISR". Nos données sont accompagnées de fichesdescriptives des différentes variables.

Le nombre total d’accidents enregistrés en France entre 2005 et 2016 est de 839 985, ce qui est lar-gement suffisant pour effectuer une étude de prédictions. Le fichier BAAC1 est décomposé en quatresous-bases :

16 Bureau d’étude 2017 - 2018

Page 18: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

— La rubrique USAGERS qui décrit les individus victimes de l’accident avec 11 variables.

— La rubrique VEHICULES qui décrit les véhicules impliqués dans l’accident avec 8 variables.

— La rubrique CARACTERISTIQUES qui décrit les circonstances générales de l’accident avec 15variables.

— La rubrique LIEUX qui décrit le lieu de l’accident avec 17 variables.

Chaque accident est représenté par un numéro appelé Num_Acc permettant de l’identifier dansles différentes bases.

4.2.1.1 La sous-base USAGERS

Parmi les 11 variables de la sous-base USAGERS, 10 sont qualitatives et 1 est quantitative.

Variables qualitatives :

— num_veh : Identifiant du véhicule repris pour rattacher chaque usager au véhicule associé (ycompris les piétons qui sont rattachés aux véhicules qui les ont heurtés)

— place : Permet de situer la place occupée dans le véhicule par l’usager au moment de l’accident

— catu : Catégorie d’usager entre conducteur, passager, piéton

— grav : Gravité de l’accident pour chaque usager

— sexe : Sexe de l’usager

— trajet : Motif du déplacement au moment de l’accident

— secu : Indique l’existence et/ou l’utilisation d’un équipement de sécurité

— locp : Localisation du piéton par rapport au passage piéton et description des conditions detraversée de la route

— actp : Action du piéton

— etatp : Précise si le piéton victime était seul ou non au moment de l’accident

Variable quantitative :

— An_nais : Année de naissance de l’usager

FIGURE 4.1 – Aperçu de la sous-base USAGERS

17 Bureau d’étude 2017 - 2018

Page 19: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

4.2.1.2 La sous-base VEHICULES

Parmi les 8 variables de la sous-base VEHICULES, 7 sont qualitatives et 1 est quantitative.

Variables qualitatives :

— num_veh : Identifiant du véhicule repris pour chacun des usagers occupant ce véhicule y com-pris les piétons qui sont rattachés aux véhicules qui les ont heurtés

— senc : Sens de circulation

— catv : Catégorie du véhicule

— obs : Définit l’obstacle dans le cas où le véhicule a heurté un obstacle fixe

— obsm : Définit l’obstacle dans le cas où le véhicule a heurté un obstacle mobile

— choc : Point de choc initial sur le véhicule

— manv : Manœuvre principale avant l’accident

Variable quantitative :

— occutc : Nombre d’occupants dans le transport en commun

FIGURE 4.2 – Aperçu de la sous-base VEHICULES

4.2.1.3 La sous-base LIEUX

Parmi les 17 variables de la sous-base LIEUX, 13 sont qualitatives et 4 sont quantitatives.

Variables qualitatives :

— catr : Catégorie de route (Autoroute, Route Nationale, Route Départementale. . . )

— voie : Numéro de la route

— V1 : Indice numérique du numéro de route (exemple : 2 bis, 3 ter, etc.)

— V2 : Lettre indice alphanumérique de la route

— circ : Régime de circulation

— vosp : Signale l’existence d’une voie réservée, indépendamment du fait que l’accident ait lieuou non sur cette voie

— prof : Profil en long décrivant la déclivité de la route à l’endroit de l’accident

— pr : Numéro du point de repère (PR) de rattachement (numéro de la borne amont)

— plan : Tracé en plan

— surf : Etat de la surface

— infra : Aménagement - Infrastructure (Souterrain, Pont, Bretelle, Voie ferrée. . . )

18 Bureau d’étude 2017 - 2018

Page 20: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

— situ : Situation de l’accident (Sur chaussée, Sur bande d’arrêt d’urgence, Sur trottoir. . . )

— env1 : Indique si l’accident s’est produit à proximité d’une école

Variables quantitatives :

— nbv : Nombre total de voies de circulation

— pr1 : Distance en mètres au PR (par rapport à la borne amont)

— lartpc : Largeur du terre-plein central s’il existe

— larrout : Largeur de la chaussée affectée à la circulation des véhicules

FIGURE 4.3 – Aperçu de la sous-base LIEUX

4.2.1.4 La sous-base CARACTERISTIQUES

Parmi les 15 variables de la sous-base CARACTERISTIQUES 10 sont qualitatives et 5 sont quanti-tatives.

Variables qualitatives :

— hrmn : Heures et minutes de l’accident

— lum : Conditions d’éclairage dans lesquelles l’accident s’est produit

— dep : Code INSEE 1 correspondant au département

— com : Code INSEE correspondant à la commune

— agg : Indique si l’accident s’est produit en agglomération ou hors agglomération

— int : Précise le type d’intersection où l’accident s’est produit

— atm : Conditions atmosphériques

— col : Type de collision

— adr : Adresse postale pour les accidents survenus en agglomération

— gps : Indique si l’accident s’est produit en métropole ou dans les DOM-TOM

Variables quantitatives :

— jour : Jour de l’accident

— mois : Mois de l’accident

— an : Année de l’accident

— lat : Latitude

— long : Longitude

1. INSEE : Institut National de la Statistique et des Etudes Economiques

19 Bureau d’étude 2017 - 2018

Page 21: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

FIGURE 4.4 – Aperçu de la sous-base CARACTERISTIQUES

Ainsi, ces données décrivent de manière relativement précise chaque accident recensé.

4.2.2 Analyses

4.2.2.1 La gravité

Une première analyse de notre base de données à été de regarder l’évolution de la proportion desmodalités de la gravité sur la période 2005-2016.

FIGURE 4.5 – Evolution de la proportion des modalités de la gravité des accidents entre 2005 et 2016

Nous remarquons que la proportion relative à la gravité est quasiment constante au cours dutemps. Ainsi, nous avons décidé de merger les données par année.

20 Bureau d’étude 2017 - 2018

Page 22: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

4.2.2.2 Les quatre sous-bases

Comme dit précédemment, notre jeu de données nécessite un traitement préalable.

En effet, certaines variables contiennent des modalités aberrantes. Par exemple, certaines va-riables ont des valeurs non explicitées par le descriptif de l’ONISR. Il y est précisé que les donnéesnon renseignées ont été remplacées par des zéros, des points, ou laissées vides.

Lors de l’importation des données sous R, le logiciel considère les données contenant des pointsou des cases vides comme des valeurs manquantes, "NA" sous R. Concernant les zéros aberrants, ila fallu les remplacer par des valeurs manquantes, variable par variable. De ce fait, dans certains cas,cela a significativement augmenté le nombre de valeurs manquantes pour la variable en question.

Pour certaines variables, la difficulté principale a été de remarquer que certaines modalités in-existantes ne sont pas des valeurs manquantes.

Pour la variable place qui indique la position de l’usager dans le véhicule, la modalité "0" signifiesimplement que l’individu est un piéton, et inversement, la modalité "0" dans la variable actp quidécrit l’action du piéton avant l’accident, indique que l’individu est dans un véhicule.

Suite à ce travail, nous analysons maintenant la proportion des valeurs manquantes dans cha-cune des sous-bases.

Les graphiques suivants sont composés de deux parties : celle de gauche représente la proportionde valeurs manquantes par variable, celle de droite représente la répartition des valeurs manquantespar combinaison de variables et se lit ligne par ligne. Elle permet notamment de détecter l’existencede tendances dans la répartition des valeurs manquantes et va ainsi nous donner une informationsupplémentaire pour le traitement de celles-ci dans la partie gestion des valeurs manquantes.

— La sous-base USAGERS :

FIGURE 4.6 – Proportion de valeurs manquantes par variable de la sous-base USAGERS

On observe principalement trois variables qui ont plus de 80% de valeurs manquantes : locp,etatp, actp. Ce n’est pas étonnant de retrouver ces variables exclusivement réservées aux piétons, carla proportion de piétons accidentés est très faible par rapport à la proportion des usagers accidentés.Ils ne représentent que 8,5% des usagers.

21 Bureau d’étude 2017 - 2018

Page 23: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

— La sous-base VEHICULES :

FIGURE 4.7 – Proportion de valeurs manquantes par variable de la sous-base VEHICULES

— La sous-base CARACTERISTIQUES :

FIGURE 4.8 – Proportion de valeurs manquantes par variable de la sous-base CARACTERISTIQUES

22 Bureau d’étude 2017 - 2018

Page 24: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.2. LA BASE DE DONNÉES INITIALE

— La sous-base LIEUX :

FIGURE 4.9 – Proportion de valeurs manquantes par variable de la sous-base LIEUX

Ici, le graphique de droite est manquant, car le logiciel R n’est pas en mesure d’afficher un nombretrop conséquent de variables.

23 Bureau d’étude 2017 - 2018

Page 25: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

4.3 La nouvelle base de données

4.3.1 Mise en perspective

Notre objectif principal dans cette étude est d’expliquer la sinistralité automobile. Il est donc im-portant de tenir compte de cela lors du traitement de notre base initiale. Les piétons ne représententque 8,5% des usagers de notre jeu de données et sont difficiles à garder pour notre étude puisqu’ilsengendrent beaucoup de valeurs manquantes dans les autres variables. Nous décidons donc de nousconcentrer uniquement sur la sinistralité des usagers présents dans un véhicule, plus particulière-ment, les usagers supposés responsables de l’accident identifiés par "A01" dans la variable Num_vehde la base USAGERS. Pour garder de l’information relative aux piétons et aux vehicules non respon-sables de l’accident, nous avons créé des variables qui indiquent le nombre de véhicules impliqués,et le nombre d’usagers impliqués dans l’accident.

4.3.2 Création

Rappelons que dans bon nombre d’études statistiques, il est courant de voir les données man-quantes d’une variable remplacées par une moyenne lorsqu’elle est quantitative et par le mode decelle-ci lorsqu’elle est qualitative. Le logiciel R, par exemple, dans la méthode d’analyse des compo-santes principales, adopte cette méthodologie lorsqu’elle observe des données manquantes dans unjeu de données. Cette méthode d’imputation par la moyenne ou le mode, ou encore le fait de rem-placer des valeurs manquantes par des zéros, est susceptible d’altérer l’information contenue dans labase de données. En effet, la corrélation entre les variables peut être modifiée.

Ainsi, il ne nous semblait pas pertinent d’utiliser cette méthode d’imputation dans notre étude.Le retraitement des variables contenant des valeurs manquantes sera explicité dans la partie "Gestiondes valeurs manquantes".

D’autre part, pour les variables ayant trop de modalités, nous avons trouvé judicieux de les re-grouper en classes pour faciliter la compilation des algorithmes ainsi que l’interprétation de ceux-ci.Nous avons aussi rassemblé en une seule variable, des variables ayant des informations complémen-taires comme la variable moment_accident, qui a été créée à partir des variables jour, mois, annéeet heure.

De plus, notre base de données, malgré le fait qu’elle nous permette de décrire plus ou moinsprécisément un accident, peut être enrichie par des données externes. Il est en effet possible à partirdes codes département et commune donnés dans la base de données, de reconstituer le code INSEE,qui va ensuite nous permettre de rajouter des variables telles que la population, la superficie, le nomde commune du lieu d’accident...

Pour finir, selon l’utilisation de la base de données, nous avons supprimé certaines variables.

4.3.2.1 Modification de la sous-base USAGERS

Parmi les 8 variables de la sous-base USAGERS, 5 sont qualitatives et 3 sont quantitatives.

Variables qualitatives :

— grav : Même variable que dans la base initiale (4 modalités)

— sexe : Même variable que dans la base initiale (2 modalités)

— trajet : Même variable que dans la base initiale (6 modalités)

— secu : Passage de 25 à 3 modalités

— condu_seul : Variable créée indiquant si le conducteur était seul au moment de l’accident (2modalités)

24 Bureau d’étude 2017 - 2018

Page 26: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

Variables quantitatives :

— age : Création de classes d’âge (12 modalités)

— nb_pers : Variable créée recensant le nombre de victimes par accident (62 modalités)

— taux_secu : Variable créée représentant le score de sécurité de l’usager entre 0 et 1 (132 moda-lités)

FIGURE 4.10 – Aperçu de la nouvelle sous-base USAGERS

4.3.2.2 Modification de la sous-base VEHICULES

Parmi les 5 variables de la sous-base VEHICULE, 4 sont qualitatives et 1 est quantitative.

Variables qualitatives :

— catv : Passage de 33 à 4 modalités

— choc : Passage de 10 à 3 modalités

— manv : Passage de 25 à 5 modalités

— obstacle : Passage de 17 à 6 modalités

Variable quantitative :

— nb_veh : Variable créée recensant le nombre de véhicules en collision (28 modalités)

FIGURE 4.11 – Aperçu de la nouvelle sous-base VEHICULES

25 Bureau d’étude 2017 - 2018

Page 27: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

4.3.2.3 Modification de la sous-base LIEUX

Les 7 variables de la sous-base LIEUX sont des variables qualitatives

Variables qualitatives :

— catr : Même variable que dans la base initiale (7 modalités)

— circ : Même variable que dans la base initiale (5 modalités)

— vosp : Passage de 4 à 2 modalités

— prof : Passage de 5 à 3 modalités

— plan : Même variable que dans la base initiale (5 modalités)

— surf : Passage de 10 à 6 modalités

— situ : Passage de 6 à 3 modalités

FIGURE 4.12 – Aperçu de la nouvelle sous-base LIEUX

4.3.2.4 Modification de la sous-base CARACTERISTIQUES

Parmi les 20 variables de la sous-base CARACTERISTIQUES, 15 sont qualitatives et 5 sont quanti-tatives.

Variables qualitatives :

— lum : Même variable que dans la base initiale (5 modalités)

— agg : Même variable que dans la base initiale (2 modalités)

— int : Passage de 10 à 6 modalités

— atm : Passage de 10 à 5 modalités

— col : Passage de 8 à 3 modalités

— com : Même variable que dans la base initiale (925 numéros de communes concernées)

— dep : Même variable que dans la base initiale (101 modalités)

— moment_accident : Variable créée recensant la date et l’heure de l’accident (variable date)

— nom_commune : Variable créée indiquant le nom de la commune où s’est déroulé l’accident(27885 communes concernées)

— department_name : Variable créée indiquant le nom du département où s’est déroulé l’acci-dent (101 modalités)

— region_name : Variable créée indiquant le nom de régions où s’est déroulé l’accident (18 mo-dalités)

26 Bureau d’étude 2017 - 2018

Page 28: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

— jour : Variable créée indiquant le jour de la semaine de l’accident (7 modalités)

— mois : Même variable que dans la base initiale (12 modalités renommées)

— latitude : Variable créée indiquant la latitude de la commune où s’est produit l’accident (713valeurs)

— longitude : Variable créée indiquant la longitude de la commune où s’est produit l’accident(987 valeurs)

Variable quantitative :

— wsemaine : Variable créée indiquant si l’accident a eu lieu en semaine ou durant le week-end(2 modalités)

— chase : Variable créée indiquant si l’accident est arrivé un week-end d’été (2 modalités)

— heure : Variable créée indiquant à quelle période de la journée l’accident s’est produit (4 mo-dalités)

— superficie : Variable créée indiquant la superficie de la commune où l’accident s’est produit( 5096 valeurs uniques)

— population : Variable créée indiquant la démographie de la commune où s’est produit l’acci-dent (520 valeurs)

Pour rajouter des informations concernant la commune où s’est produit l’accident, nous avonseu recours à des bases de données externes supplémentaires. Ainsi nous avons pu créer les variablesnom_commune, department_name, latitude, longitude, region_name, superficie, population, la-titude, longitude de la sous-base CARACTERISTIQUES.

FIGURE 4.13 – Aperçu de la nouvelle sous-base CARACTERISTIQUES

27 Bureau d’étude 2017 - 2018

Page 29: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

4.3.3 Gestion des valeurs manquantes

Comme dit précédemment, même après modification des quatre sous-bases, nos données contiennenttout de même des valeurs manquantes. Celles-ci sont néfastes au bon fonctionnement des algo-rithmes de prédiction, puisque certains algorithmes ne peuvent pas être compilés en leur présence.

Pour y remédier, nous pouvons appliquer deux méthodes.

Une première méthode consiste à enlever toutes les lignes présentant au moins une valeur man-quante.

Une deuxième qui permet d’imputer les données manquantes de manière à garder inchangée lastructure statistique de la base de données.

— La méthode de suppression des données manquantes

Elle est relativement simple et consiste à parcourir chaque ligne du tableau de données. Si une va-leur est manquante, la ligne entière est alors supprimée. Dans le cas contraire, la ligne est conservée.Pour ce faire, nous avons utilisé la fonction na.omit(), disponible sur R-Studio sans package complé-mentaire.

Avec cette méthode, il nous reste un jeu de données comportant 809 708 lignes sur les 839 985lignes initiales, ce qui représente 82% de lignes conservées. Ce résultat est satisfaisant du fait du tra-vail effectué en amont lors de la modification de la base de données.

Ainsi, notre base nettoyée comporte une quantité de données largement suffisante pour effectuerune étude de prédiction. Cependant, il n’est pas impossible que la fonction ait enlevé involontaire-ment une même catégorie de données, modifiant alors la structure statistique du jeu de données.Cette hypothèse sera de toute façon contrôlée par nos tests d’erreurs.

— La méthode d’imputation des données manquantes

Cette méthode est un peu plus complexe à mettre en oeuvre que la précédente, du fait de sapartie modélisation. Elle consiste à remplacer toutes les valeurs manquantes d’un jeu de données,de façon à conserver la structure statistique de celle-ci. Contrairement à la méthode de suppressiondes données manquantes, cette méthode garde toutes les données, donc présente moins de risquede supprimer des lignes importantes. Cependant, cette méthode est extrêmement lourde à compilersur de grandes bases de données comme celle sur laquelle nous travaillons, mais peut être accéléréeau moyen de la programmation en parallèle.

Pour ce faire, elle dispose de deux méthodes selon la structure de répartition des données man-quantes :

— lorsque les données sont manquantes de façon aléatoire.— lorsque les données manquantes sont manquantes selon une certaine structure.Les graphes de répartition des valeurs manquantes présentés un peu plus haut ne montrent pas

spécialement de structure dans la répartition des données manquantes, mis à part les données liéesaux piétons qui sont manquantes pour les usagers automobiles. Il est généralement impossible desavoir pourquoi les données sont manquantes dans la plupart des observations.

Deux packages disponibles sous R-Studio permettent de réaliser les imputations de données man-quantes dans ce cas, il s’agit des packages MissForest et Mice. Néanmoins, nous n’utiliserons pas cespackages ici.

28 Bureau d’étude 2017 - 2018

Page 30: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

4.3.4 Visualisation des données

Avant la mise en place de modèles de prédiction, il nous est possible de tirer des informationsde notre jeu de données à partir de représentations graphiques. En effet, la visualisation est une desméthodes couramment utilisées en analyse de données afin de communiquer de manière visuelle etefficace les informations contenues dans un jeu de données. Pour cela, les graphiques doivent :

— montrer les données, tels qu’elles sont sans les déformer— inciter le spectateur à réfléchir sur la substance des données— encourager la comparaison visuelle des données

Ainsi grâce à la visualisation, il sera possible de faire "parler" des données qui ne seront pas utilesdans la mise en place de nos modèles.

— Usagers

FIGURE 4.14 – Répartition des accidents par type d’usagers

Nous utilisons un graphique en barres pour montrer la répartition des accidents par type d’usa-gers. Les usagers les plus accidentés sont les conducteurs. Ce résultat n’est pas surprenant, dans lesens que nous étudions la sinistralité automobile. Cependant, la comparaison entre la proportion deblessés légers et d’indemnes chez les conducteurs et chez les passagers nous permet d’observer unedifférence entre les modalités de ces deux classes : chez les conducteurs, la classe la plus représentéeest la classe des indemnes tandis que chez les passagers et piétons, ce sont les blessés légers. De plus,chez les piétons, nous pouvons remarquer une très faible proportion d’indemnes, il s’agit de la classela moins représentée.

29 Bureau d’étude 2017 - 2018

Page 31: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

— Age

FIGURE 4.15 – Répartition des accidents par âge

La classe d’âge la plus accidentée est la classe 20-40 ans, avec un fort taux de mortalité autour de30 ans. Ce résultat peut être mis en comparaison avec le taux de mortalité en France. En effet, la mor-talité routière est une des causes importantes de mortalité en France, avec 0.5% de la mortalité due àdes accidents de la route. De plus, le risque de mortalité général augmente de manière exponentielleà partir de 30 ans, contrairement à la mortalité routière qui baisse après cet âge.

— Sexe

FIGURE 4.16 – Répartition des accidents par genre

Le nombre de femmes accidentées est de moitié celui des hommes. Le nombre de blessés légerschez les femmes (125 757), est également de moitié celui des hommes (267 912). De plus, la classe laplus représentée est la classe des indemnes chez les hommes, alors que chez les femmes, ce sont lesblessé légers.

30 Bureau d’étude 2017 - 2018

Page 32: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

— Catégorie de véhicule

FIGURE 4.17 – Répartition des accidents par catégories de véhicules

Nous remarquons que les véhicules à deux roues et les véhicules légers sont les plus accidentés.

— Manoeuvre avant accident

FIGURE 4.18 – Les manoeuvres principales des conducteurs avant l’accident

Nous pouvons constater que le nombre d’accidents à l’arrêt (hors stationnement) est plus élevéque lorsque les conducteur est déporté à droite.

31 Bureau d’étude 2017 - 2018

Page 33: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

— Catégorie de la route

FIGURE 4.19 – Répartition des accidents par catégorie de routes

La plupart des accidents ont lieu sur les voies communales et les routes départementales.

— Surfaces

FIGURE 4.20 – Etat de la surface lors de l’accident

la plupart des accidents ont lieu sur une surface normale.

32 Bureau d’étude 2017 - 2018

Page 34: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

— Infrastructures

FIGURE 4.21 – Les types d’infrastructures sur le lieu de l’accident

Les accidents ont le plus souvent lieu au niveau des carrefours aménagés et des bretelles d’échan-geurs. La sécurité au niveau de ces zones peut être améliorée.

— Météo

FIGURE 4.22 – Les conditions météorologiques lors de l’accident

Cette carte à cases, encore appelée treemap, nous montre que la plupart des accidents ont lieuen temps normal.

33 Bureau d’étude 2017 - 2018

Page 35: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

4.3. LA NOUVELLE BASE DE DONNÉES

— Heure

FIGURE 4.23 – L’heure des accidents

Les accidents surviennent en grande partie l’après-midi, plus particulièrement aux heures d’af-fluence.

Remarque : Il est important de faire attention quant à l’interprétation de ces graphiques et ladéduction d’une quelconque influence de variables sur la sinistralité automobile. Ces analyses des-criptives sont effectuées sur l’ensemble de notre jeu de données et ne le sont qu’à titre illustratif.Ainsi le fait que la plupart des accidents aient lieu lors de conditions météorologiques normales ouencore que les accidents aient lieu en fin d’après-midi ne permettent pas de déduire l’influence deces variables sur la sinistralité automobile. Nous savons en effet que le nombre de voitures circulantaux heures de pointes est nettement plus élevé que celles circulant aux heures creuses. Il faut doncprendre en compte cet effet "échelle" si l’on veut pouvoir déduire un lien entre la sinistralité automo-bile et l’heure. De même que la météo, si la plupart des véhicules circulent en temps "normal", il estalors évident que le nombre d’accidents sous ce temps soit plus élevé que lorsque nous sommes entemps de pluie forte ou de grêle.

Dans la suite de cette étude, La mise en place des algorithmes de prédiction nous permettrons dedéduire des variables influençant sur la sinistralité automobile.

34 Bureau d’étude 2017 - 2018

Page 36: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 5

Les outils Informatiques utilisés

Dans cette partie, nous présentons les différents packages utilisés sous R qui nous ont servi lorsde l’implémentation des modèles.

5.1 Le package H2O

H2O est une plate-forme d’apprentissage automatique et d’analyse prédictive disponible en libreaccès, qui permet de construire des modèles d’apprentissage statistique sur des données volumi-neuses distribuées sur un système appelé "cluster" et exécutable à partir de R-Studio. Elle faciliteaussi la production de ces modèles dans un environnement d’entreprise.

Un cluster est un groupe de serveurs indépendants fonctionnant comme un seul et même sys-tème afin d’augmenter la puissance de calcul de ce système. Sur R-Studio, H2O propose une richebibliothèque d’algorithmes d’apprentissage supervisé et non supervisé comme la régression linéaire,la régression logistique, l’analyse des composantes principales, la méthode de classification k-means,les forêts aléatoires,...

La mise en place des algorithmes est assez simple, mais pour certains algorithmes tels que lesréseaux de neurones, le nombre de paramètres conséquents peut vite rendre la mise en place dumodèle plus complexe. Il faut donc consacrer du temps à la calibration des paramètres des modèles.Ce package possède toutefois des méthodes de recherche automatique de paramètres optimaux.

5.2 TensorFlow & Keras

5.2.1 TensorFlow

TensorFlow est lui aussi une bibliothèque d’apprentissage automatique disponible en libre accès.Ce package a été développé par des chercheurs et des ingénieurs de l’équipe Google Brain en 2011,dans le but de conduire des recherches sur les réseaux neuronaux, plus précisément sur le dévelop-pement de machines dites "intelligentes". Le système conçu est assez général pour être applicabledans de nombreux autres domaines, tels que la reconnaissance d’images ou de voix. TensorFlow estdevenu en un temps record, l’une des bibliothèques de référence pour la mise en place d’algorithmesd’apprentissage profond encore appelé "Deep Learning". Il a par exemple, été utilisé par le pentagoneafin d’analyser des images de drones.

35 Bureau d’étude 2017 - 2018

Page 37: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

5.2. TENSORFLOW & KERAS

5.2.2 Keras

Sur R-Studio, c’est la librairie Keras, qui sert de support a l’implémentation de TensorFlow. Ils’agit d’une interface facilitant l’implémentation modulaire de réseaux neuronaux complexes. Dé-veloppée dans l’idée de permettre une expérimentation rapide de modèles, cette librairie supporteplusieurs bibliothèques d’apprentissage, dont notamment TensorFlow.

Il existe deux méthodes d’implémentation de modèles sous Keras :

— Le modèle sequentiel :La création d’un réseau neuronal est assez facile dans cette méthode. En effet, un réseau sous ce

modèle est simplement une association de différentes "boites" contenant les paramètres de celui-ci.C’est celui que nous utiliserons dans notre étude.

— Le modèle de l’API fonctionnelle :

Il permet de construire des modèles plus complexes tels que des modèles à sorties multiples,des graphes acycliques, ou des modèles à couches partagées. L’implémentation de TensorFlow sousKeras peut être accélérée si nous possédons une carte graphique assez puissante du type Nvidia.De même sous Keras, il est possible d’améliorer les performances en utilisant le moteur de Google(le Google Cloud Machine Learning Engine), qui permet la maximisation du pouvoir prédictif d’unréseau. Nous ne l’utiliserons cependant pas dans ce projet.

36 Bureau d’étude 2017 - 2018

Page 38: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 6

La mise en place des modèles

6.1 Intérêt de la modélisation

Notre variable d’intérêt grav à prédire, est une variable à quatre modalités, avec une classe mino-ritaire : la classe de tués. Les premiers modèles que nous avons mis en place et que nous ne présen-terons pas dans ce rapport, nous donnaient un taux d’erreur global de l’ordre de 30%, mais avec unfort taux d’erreur sur les classes minoritaires, soit 99% d’erreur sur la classe des tués, 50% sur la classedes blessés légers et 45% sur la classe des blessés hospitalisés. La précision est excellente sur la classemajoritaire (la classe des indemnes), soit environ 50% des observations avec 95% de bonnes prédic-tions. Aucun des algorithmes que nous avons mis en place dans cette section n’améliore ce résultat.Nous étions donc face à un problème lié à la détection d’évènements rares, un problème classique enprédiction qui intervient généralement lorsque la modalité d’intérêt est peu représentée. Nos tenta-tives de rééquilibrage de la base de données n’ont donc pas permis d’améliorer ces résultats. Ainsi,nous avons décidé de recoder notre variable cible en une variable binaire :

— indemne, qui regroupe les indemnes, avec la modalité "0"— accidenté, qui regroupe les blessés légers, hospitalisés, et les décédés, avec la modalité "1"

Nous obtenons ainsi une base plus équilibrée.

FIGURE 6.1 – Répartition de la gravité avec 4modalités

FIGURE 6.2 – Répartition de la gravité avec 2modalités

37 Bureau d’étude 2017 - 2018

Page 39: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.1. INTÉRÊT DE LA MODÉLISATION

Cependant, il convient de s’interroger de l’intérêt de ce recodage quant à l’objectif final recherché,et par cette occasion, de l’intérêt même d’un tel modèle prédictif.

Du point de vue assurantiel, si l’objectif de notre modèle est de servir de support à la tarificationde contrats automobiles, la portée de notre modèle se voit réduite. En effet, les usagers accidentésqui vont impacter le plus le portefeuille d’un assureur sont les blessés légers et les blessés hospitalisésdont le coût d’indemnisation est élevé, que ce soit sous la forme de dommages corporels ou matériels.

Selon la Fédération Française de l’Assurance, le coût moyen des accidents corporels est en aug-mentation de 4,8% par an en moyenne depuis 2010. Cela est également le cas pour le coût des acci-dents matériels (+1,4%), relevé par les pièces de rechange de plus en plus connectées et coûteuses.

FIGURE 6.3 – Coût de la sinistralité automobile de 2010 à 2016

Notre modèle va quant à lui trouver son intérêt du côté de la prévention. En effet, même si l’ac-tivité d’assurance s’articule autour de la gestion des risques, la prévention est un levier sur lequel lesassureurs peuvent et doivent s’appuyer afin de non seulement améliorer la qualité de leurs services,mais aussi de conférer des gains à l’ensemble de la collectivité (assurés, pouvoirs publics).

Un autre détail à prendre en compte était que notre base de données contient des variablesconnues avant l’accident et des variables connues seulement après l’accident. Quel est dès lors l’in-térêt d’un modèle prédictif de la sinistralité prenant en compte des informations disponibles aprèsl’accident?

L’intérêt purement prédictif d’un tel modèle est limité dans ce cas, mais réside plutôt dans la capa-cité du modèle à dégager les variables explicatives de la gravité et les interactions entre ces dernières,et par ailleurs à analyser la fluctuation des résultats prédictifs vis-à-vis de l’absence ou de la présencede variables connues a posteriori de l’accident.

38 Bureau d’étude 2017 - 2018

Page 40: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.2. RECHERCHE D’INFORMATIONS REDONDANTES

6.2 Recherche d’informations redondantes

Notre jeu de données contient beaucoup de variables et il est possible que certaines d’entre ellesne soient pas utiles pour notre problème de prédiction. L’analyse de la corrélation par le coefficient decorrélation linéaire, peut nous donner une indication quant à l’existence de relations linéaires entrecertaines variables, et donc à l’existence d’informations redondantes. Mais cette statistique peut serévéler insuffisante car deux variables non linéairement corrélées peuvent l’être d’une autre façon,par exemple une relation exponentielle ou polynomiale entre deux variables. La détection de ce typede relation est possible en utilisant la théorie de l’information de Shannon, dans laquelle les variablescontenues dans un jeu de données constituent de l’information mesurée par l’entropie.

Dans la suite, nous n’utiliserons que l’analyse de la corrélation entre variables, le volume de don-nées que nous avons ne permettant pas le calcul de l’entropie. Les algorithmes que nous mettrons enplace par la suite ont leur propre mesure du degré d’information donnée par les variables.

Par ailleurs, notre jeu de données étant classé en quatre bases donnant une information précise(USAGERS, CARACTERISTIQUES, LIEUX, VEHICULES), nous décidons d’effectuer une analyse parsous-bases de données, les données catégorielles étant transformées en variables binaires.

— Base USAGERS

FIGURE 6.4 – Analyse de la corrélation sur la base USAGERS

Nous n’observons pas de fortes relations entre les différentes variables de notre jeu de données,sauf entre les variables décrivant le même élément comme la variable du taux de sécurité taux_secucréée qui est corrélée à la variable secu puisqu’elle a été créée à partir de cette dernière, ou encore lenombre de personnes, qui est lié au nombre d’indemnes. Par la suite, nous choisirons les variables enfonction du degré d’information qui nous intéresse.

39 Bureau d’étude 2017 - 2018

Page 41: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.2. RECHERCHE D’INFORMATIONS REDONDANTES

— Base VEHICULES

FIGURE 6.5 – Analyse de la corrélation de la base VEHICULES

Nous pouvons ici observer une forte corrélation entre le nombre de véhicules et "obstacle 2" quiindique une collision avec un véhicule lors de l’accident, "obstacle 1" indiquant une collision avec unpiéton, ainsi que "obstacle 4" indiquant un obstacle fixe, ce qui semble tout à fait normal.

De même, comme précédemment, nous avons les modalités de variables corrélées entre elles.Nous avons là rien de surprenant.

40 Bureau d’étude 2017 - 2018

Page 42: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.2. RECHERCHE D’INFORMATIONS REDONDANTES

— Base CARACTERISTIQUES

FIGURE 6.6 – Analyse de la corrélation base CARACTERISTIQUES

Là aussi, nous n’observons pas de fortes corrélations entre variables, sauf entre modalités de va-riables ainsi qu’entre les nouvelles variables et les variables qui ont servi à leur création.

Nous pouvons de plus, noter que ce genre de graphes devient illisible lorsque le nombre de va-riables est élevé. Nous le garderons alors dans un but purement illustratif.

41 Bureau d’étude 2017 - 2018

Page 43: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.2. RECHERCHE D’INFORMATIONS REDONDANTES

— Base LIEUX

FIGURE 6.7 – Analyse de la corrélation base LIEUX

Dans cette sous-base, nous observons une certaine corrélation entre le régime de circulation(circ) et la catégorie de route (catr) autour de -23%, ce qui n’est toutefois pas très fort. De mêmeentre le profil en long de la route (prof) et le tracé en plan (plan) qui décrit la sinuosité de la route,avec une corrélation autour de 21%.

42 Bureau d’étude 2017 - 2018

Page 44: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.3. LES MÉTRIQUES UTILISÉES

6.3 Les métriques utilisées

Pour mesurer la qualité de nos modèles, nous avons utilisé plusieurs indicateurs de "performance"fréquemment utilisés pour ce type de problème, et adaptés à notre étude.

Notons qu’utiliser une seule métrique n’est pas pertinent car chaque métrique évalue un type decaractéristiques particulier. C’est donc en regardant un ensemble complémentaire de métriques bienchoisies que nous pourrons évaluer la qualité de nos modèles.

Dans cette partie, nous utiliserons la notion de vrais et faux positifs, ainsi que de vrais et fauxnégatifs. Nous pouvons les définir de la manière suivante :

— les vrais positifs (TP) : ce sont les valeurs positives correctement prédites. Cela signifie que lavaleur de la classe réelle est "1" et celle de la classe prédite est également "1".

— les faux positifs (FP) : ce sont les valeurs positives incorrectement prédites. Cela signifie quela valeur de la classe réelle est "0" et celle de la classe prédite est "1".

— les vrais négatifs (TN) : ce sont les valeurs négatives correctement prédites. Cela signifie quela valeur de la classe réelle est "0" et celle de la classe prédite est également "0".

— les faux négatifs (FN) : ce sont les valeurs négatives incorrectement prédites. Cela signifie quela valeur de la classe réelle est "1" et celle de la classe prédite est "0".

6.3.1 Exactitude (Accuracy)

L’Exactitude est la mesure de "performance" la plus intuitive. Il s’agit d’un rapport entre le nombred’observations correctement prédites (les vrais positifs et les vrais négatifs) et le nombre total d’ob-servations.

E xacti tude = T P + T N

T P + F P + T N + F N

6.3.2 Précision (Precision)

La Précision est définie comme le nombre de résultats positifs corrects (les vrais positifs) divisépar le nombre de tous les résultats positifs renvoyés par le modèle de prédiction (les vrais positifs etles faux positifs).

Pr éci si on = T P

T P + F P

Nous n’avons pas utilisé cette métrique pour mesurer la qualité de nos modèles. Cette métriquesert à comprendre comment est construit le Score F1 (que nous définirons un peu plus loin).

6.3.3 Rappel (Recall)

Le Rappel est défini comme étant le nombre de résultats positifs corrects (les vrais positifs) di-visé par le nombre de résultats positifs corrects ainsi que tous les échantillons qui auraient dû êtreidentifiés comme positifs par le modèle de prédiction (les vrais positifs et les faux négatifs).

Rappel = T P

T P + F N

43 Bureau d’étude 2017 - 2018

Page 45: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.3. LES MÉTRIQUES UTILISÉES

6.3.4 Score F1

Le Score F1 (aussi appelé F-score), utilise les notions de précision et de rappel d’un test définiesci-dessus.

Il s’agit de la moyenne harmonique de la précision et du rappel, pour laquelle un Score F1 atteintsa meilleure valeur en 1 (précision et rappel parfait) et sa moins bonne valeur en 0.

Scor e F 1 = 21

r appel + 1pr édi ct i on

= 2× r appel ×pr édi ct i on

r appel +pr édi ct i on

Notons que le Score F1 ne tient pas compte des vrais négatifs, tout comme la précision et le rappel.Nous voyons ainsi la limite de ces trois classificateurs.

D’autres classificateurs en tiennent compte, comme par exemple le coefficient de corrélation deMatthews.

6.3.5 AUC (Area Under Curve)

Tout d’abord, définissons la courbe ROC, étroitement liée avec l’AUC.

Lorsque la classification est binaire ("0" ou "1"), le problème se réduit à l’obtention d’un scoreobtenu par le modèle prédictif mesurant la probabilité d’une observation d’appartenir à l’un des deuxgroupes. La question est alors de définir un seuil permettant de répartir les observations dans l’un deces deux groupes : si l’observation obtient un score supérieur au seuil, elle sera classée dans le groupe"1", et dans le groupe "0" sinon.

Lorsque les deux groupes sont globalement équiprobables, il est légitime d’affecter une observa-tion au groupe "1" si le modèle lui attribue un score supérieur à 0.5 et au groupe "0" sinon. Cependant,dans certains domaines comme en assurance automobile, la population des individus ayant subi unsinistre grave est peu représentée par rapport au nombre d’accidentés total, et un modèle construitpar apprentissage n’affectera jamais une probabilité d’avoir un sinistre grave supérieur à 0.5. En re-vanche, si par expérience, la probabilité d’avoir un sinistre grave est de 0.05, alors un individu pourlequel le modèle prédit une probabilité de 0.1 pourra être jugé comme un individu à risque.

Ainsi, la courbe ROC sera d’autant plus efficiente que le seuil choisi est pertinent. Ce choix duseuil influencera donc profondément les prédictions du modèle. Il se fait en fonction des prédictionsobtenues pour une base d’apprentissage d’observations pour lesquels nous connaissons le grouped’appartenance.

Introduisons maintenant la notion de sensibilité et de spécificité :

— la sensibilité se définit comme le taux de vrais positifs

Se = T P

T P + F N

— la spécificité se définit comme le taux de vrais négatifs

Sp = T N

T N + F P

La courbe ROC représente l’évolution de la sensibilité en fonction la spécificité quand nous fai-sons varier le seuil. Pour évaluer la qualité d’un modèle de prédiction binaire, l’AUC est bon un critère.Elle est définie comme étant l’aire sous la courbe ROC. Une AUC égale à 1 signifie que le modèle pré-dictif est parfait, c’est-à-dire qu’il n’y a que des vrais positifs et vrais négatifs, en revanche une AUCégale à 0.5 signifie que l’affection des classes est faite aléatoirement.

44 Bureau d’étude 2017 - 2018

Page 46: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.4. LA THÉORIE DES MODÈLES DE PRÉDICTIONS

6.4 La théorie des modèles de prédictions

6.4.1 Modèles linéaires généralisés (GLM)

Les modèles linéaires généralisés ont été présentés pour la première fois en 1972, par Nelder etWedderburn. Ils permettent d’expliquer ou d’étudier la liaison entre une variable à expliquer Y etd’autres variables explicatives (X1, ..., Xp ).

Ils regroupent le modèle linéaire général, le modèle log-linéaire, la régression logistique et la ré-gression de Poisson.

Ces modèles linéaires généralisés sont principalement caractérisés par trois composantes :

— la composante aléatoire, qui identifie la loi de probabilités de la variable à expliquer. Noussupposons que l’échantillon statistique est constitué de n variables aléatoires indépendantes(Y1, ...,Yn), n ∈ N, admettant des distributions issues d’une structure exponentielle, c’est-à-dire que la loi de probabilité de la composante aléatoire appartient à la famille exponentielle.

Les lois classiques utilisées en actuariat sont, ∀i ∈ [1, ...,n], avec p le nombre de variablesexplicatives et n le nombre d’observations :

• la loi Normale : Yi ∼N (µ(xi ,1, ..., xi ,p ),σ2)• la loi de Bernoulli lorsque Yi ∈ {0,1} : Yi ∼B(π(xi ,1, ..., xi ,p ))• la loi Gamma lorsque Yi ∈R+ : Yi ∼G (α,β(xi ,1, ..., xi ,p ))• la loi de Poisson lorsque Yi ∈N : Yi ∼P (λ(xi ,1, ..., xi ,p ))

— la composante déterministe, exprimée sous la forme d’une combinaison linéaire β0 +β1X1 + ...+βp Xp . Ce vecteur à n composantes est appelé le "prédicteur" linéaire.

— le lien g, qui fait office de troisième composante, exprime une relation fonctionnelle entrela composante aléatoire et le prédicteur linéaire. Il spécifie comment l’espérance de Y est liéeau prédicteur linéaire, construit à partir des variables explicatives.

g (E(Yi )) =β0 +β1xi ,1 + ...+βp xi ,p

Les liens choisis par défaut par le logiciel R sont :

• pour le modèle GLM Gaussien : g (x) = x.

Nous avons alors : Yi ∼N (µ(xi ,1, ..., xi ,p ),σ2) avec :

g (E(Yi )) = E(Yi )

=µ(xi ,1, ..., xi ,n)

=β0 +β1xi ,1 + ...+βp xi ,p

Ainsi, Yi ∼N (β0 +β1xi ,1 + ...+βp xi ,p ,σ2).

• pour le modèle GLM Bernoulli : g (x) = log i t (x) = ln( x1−x ).

Nous avons alors Yi ∼B(π(xi ,1, ..., xi ,p )) avec :

g (E(Yi )) = l og i t (E(Yi ))

= ln(π(xi ,1,...,xi ,p )

1−π(xi ,1,...,xi ,p ) )

=β0 +β1xi ,1 + ...+βp xi ,p

Nous obtenons donc : P(Yi = 1) = exp(β0+β1xi ,1+...+βp xi ,p

1+exp(β0+β1xi ,1+...+βp xi ,p ) ).

Finalement, Yi ∼B(exp(β0+β1xi ,1+...+βp xi ,p

1+exp(β0+β1xi ,1+...+βp xi ,p ) )).

45 Bureau d’étude 2017 - 2018

Page 47: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.4. LA THÉORIE DES MODÈLES DE PRÉDICTIONS

• pour le modèle GLM Gamma : par défaut, R-Studio utilise le lien g (x) = 1x , mais en tarifi-

cation, le lien classique est g (x) = ln(x).

Nous avons alors Yi ∼G (α,β(xi ,1, ..., xi ,p )) avec :

g (E(Yi )) = ln(αβ(xi ,1, ..., xi ,p ))

=β0 +β1xi ,1 + ...+βp xi ,p .

Ainsi, Yi ∼G (α,exp(β0+β1xi ,1+...+βp xi ,p )

α ).

• pour le modèle GLM Poisson : g (x) = ln(x).

Nous avons alors Yi ∼P (λ(xi ,1, ..., xi ,p )) avec :

g (E(Yi )) = ln(λ(xi ,1, ..., xi ,p ))

=β0 +β1xi ,1 + ...+βp xi ,p

Ainsi Yi ∼P (exp(β0 +β1xi ,1 + ...+βp xi ,p )).

6.4.2 Forêts aléatoires

6.4.2.1 Les arbres de décisions

FIGURE 6.8 – Exemple simpliste d’arbre de décision : Trouver la maladie en fonction des symptômes

Cette méthode fut introduite par Leo Breinam en 1984.L’apprentissage par arbre de décision est une méthode classique en apprentissage automatique.

Son but est de créer un modèle qui prédit la valeur d’une variable cible depuis la valeur de plusieursvariables d’entrée.

Une des variables d’entrée est sélectionnée à chaque nœud intérieur de l’arbre selon une méthodequi dépend de l’algorithme. Chaque branche vers un nœud-fils correspond à un ensemble de valeursd’une variable d’entrée, de manière à ce que l’ensemble des branches vers les nœuds-fils couvrenttoutes les valeurs possibles de la variable d’entrée.

Il existe deux principaux types d’arbre de décision en fouille de données :

— Les arbres de classification (Classification Tree), qui permettent de prédire à quelle classela variable-cible appartient. Dans ce cas, la prédiction est une étiquette de classe.— Les arbres de régression (Regression Tree), qui permettent de prédire une quantité réelle(par exemple, le prix d’une maison ou la durée de séjour d’un patient dans un hôpital). Dansce cas, la prédiction est une valeur numérique.

46 Bureau d’étude 2017 - 2018

Page 48: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.4. LA THÉORIE DES MODÈLES DE PRÉDICTIONS

6.4.2.2 La théorie du modèle

Les forêts aléatoires peuvent être considérées comme une agrégation d’arbres de décision. Cetteméthode fut introduite par Leo Breinman en 2001, elle se base sur la technique générale du Bagging.

Le Bagging consiste à choisir K sous-ensembles de la base d’apprentissage avec remise, et à construireun arbre de décision sur chacun d’entre eux. Lors de la prédiction, nous prendrons ainsi la moyennedes prédictions retournées par chacun des K arbres.

Cependant, dans le Bagging, l’algorithme choisit à chaque noeud la variable qui effectue la meilleureséparation selon le critère choisi, alors que les forêts aléatoires choisissent la meilleure variable parmiune sélection aléatoire de q variables parmi les p variables initiales. C’est ce qu’on appelle le Boots-trapping. Le choix de q est généralement de

pp pour la classification, et de p

3 (arrondis à l’entierinférieur) pour la régression.

La méthode par forêts aléatoire consiste à faire tourner en parallèle un grand nombre d’arbres dedécisions construits aléatoirement. La construction aléatoires des arbres permet d’obtenir des arbresdécorrélés et donc une faible variance.

6.4.3 Modèle Gradient Boosting (GBM)

Comme les forêts aléatoires, le modèle Gradient boosting est aussi une méthode d’agrégation demodèles. L’algorithme est un cas particulier du Boosting.

Dans le même esprit d’approximation adaptative, Friedman (2002) a proposé sous l’acronymeMART (Multiple Additive Regression Trees) puis sous celui de GBM (Gradient Boosting Models), unefamille d’algorithmes basés sur une fonction perte supposée convexe et différentiable. Le principe debase est de construire une séquence de modèles de sorte qu’à chaque étape, chaque modèle ajoutéà la combinaison apparaisse comme un pas vers une meilleure solution. L’objectif est de donner unpoids plus important aux individus pour lesquels la valeur a été mal prédite pour la construction dumodèle suivant. Le fait de corriger les poids au fur et à mesure permet de mieux estimer les valeursdifficiles à prédire. La principale innovation est que le pas est franchi dans la direction du gradientde la fonction perte, afin d’améliorer les propriétés de convergence. Une deuxième idée consiste àapprocher le gradient par un arbre de régression afin d’éviter un sur-apprentissage.

Pour résumer, l’algorithme du gradient boosting a besoin de trois éléments principaux :

— Une fonction de perte à optimiser qui doit être différentiable, et qui permet de résoudrele problème— Un apprenant faible pour effectuer des prédictions— Un modèle additif pour combiner nos apprenants faibles afin de minimiser notre fonctionde perte

Choix de la fonction de perte :

— En classification nous utilisons généralement la perte exponentielle, mais dans un en-vironnement instable nous pouvons préférer utiliser la fonction déviance binomiale ln(1 +exp(−2y f )), beaucoup moins sensible aux variations de la base de données. Ce sont les deuxfonctions de perte à utiliser pour une classification binaire.

— En régression nous avons le choix entre la perte des moindres carrés ou la perte de norme1.

47 Bureau d’étude 2017 - 2018

Page 49: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.4. LA THÉORIE DES MODÈLES DE PRÉDICTIONS

6.4.4 Réseaux de neurones

Les premières réflexions sur les réseaux de neurones datent des années 1940 avec quelques nomsà retenir : Von Neumann, Turing, Wiener, Mac Culloch et Pitts.

— Réseaux neuronaux

Un réseau neuronal est l’association de neurones formels. Les principaux réseaux se distinguentpar leur architecture (nombre de couches,...), leur niveau de complexité (le nombre de neurones,présence ou non de boucles de rétroaction dans le réseau), le type de neurones (leurs fonctions detransition ou d’activation) et enfin l’objectif visé : apprentissage supervisé ou non, optimisation, sys-tèmes dynamiques,...

— Le neurone formel

C’est en 1943 que Mac Culloch et Pitts proposent les premières notions de neurone formel.

Le neurone réel, ou biologique, est une cellule qui se caractérise de la manière suivante :

• des synapses : les points de connexion avec les autres neurones, fibres nerveuses ou mus-culaires

• des dentrites ou entrées du neurones• les axones, ou sorties du neurone vers d’autres neurones ou fibres musculaires• le noyau qui active les sorties en fonction des stimulations en entrée

Son fonctionnement peut se résumer par :

• Une sommation pondérée des influx nerveux (inhibiteurs ou excitateurs) en provenancedes neurones auxquels il est relié, via les dendrites et les synapses.

• Une émission dans l’axone d’un influx si la sommation des entrées dépasse un seuil d’ac-tivation.

En comparaison, le neurone formel de Mac Culloch et Pitts reproduit ce fonctionnement.Pour une entrée x = (x1, ..., xn) ∈ Rn , l’unité de poids synaptiques ω= (ω1, ...,ωn) ∈ Rn , et un seuil

d’activation θ, il calcule :

— la somme pondérée :n∑

i=0ωi xi

— la sortie : y(x) =φ(ω.x −θ) = 1{ω.x≥θ}

La fonction φ est appelé la fonction d’activation, ou fonction de réponse.

FIGURE 6.9 – Schéma explicatif du fonctionnement d’un neurone formel

Un tel neurone réalise donc une fonction de Rn dans {0,1}.

48 Bureau d’étude 2017 - 2018

Page 50: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.4. LA THÉORIE DES MODÈLES DE PRÉDICTIONS

Nous trouvons de nombreuses fonctions d’activation, différentes de la fonction d’activation deHeaviside : φ(u) = 1{u≥0}.

— φ(u) = u, neurone linéaire ou de Widrow-Hoff— φT (u) = 1

1+exp(− uT ) , dite sigmoïde de température T, convergeant simplement vers φ0(u) =

1{u≥0}, quand T → 0

—∼φT (u) = 2φT (u) = tanh( u

2T ), sigmoïde à valeurs dans ]−1,1[— φT,a,b(u) = a + (b −a)φT (u), sigmoïde à valeurs dans ]a ,b[— φT (u), variable aléatoire de Bernoulli (neurone probabiliste) à valeurs dans {0,1} telle que :

P[φT (u) = 1] = 1

1+exp(− uT )

Ces premiers travaux de Mac Culloch et Pitts ont donné naissance à l’école connexionniste. Ceconcept fut ensuite mis en réseau avec une couche d’entrée et une couche de sortie par Rosenblatt(psychologue) en 1957 pour simuler le fonctionnement rétinien. C’est l’origine du perceptron.

— Le perceptron

Le perceptron peut être vu comme le type de réseau de neurones le plus simple. C’est un clas-sifieur linéaire. Ainsi, la différence avec le modèle de neurone formel est que ce neurone peut « ap-prendre ». Le perceptron va être capable de classer des entrées et décider si elles correspondent à uncôté ou bien à un autre. C’est la fonction d’activation qui distribue la réponse d’un côté ou de l’autre.

Dans sa version simplifiée, le perceptron est "simple" (mono-couche) et n’a qu’une seule sortieà laquelle toutes les entrées sont connectées. Les entrées et la sortie sont booléennes. Plus générale-ment, les entrées peuvent être des nombres réels.

FIGURE 6.10 – Schéma explicatif du fonctionnement d’un perceptron simple

Le perceptron multicouche est un type de réseau neuronal formel organisé en plusieurs couchesau sein desquelles une information circule de la couche d’entrée vers la couche de sortie uniquement.Il s’agit donc d’un réseau à propagation directe. Chaque couche est constituée d’un nombre variablede neurones, les neurones de la dernière couche (dite « de sortie ») étant les sorties du système global.

FIGURE 6.11 – Schéma explicatif du fonctionnement d’un perceptron monocouche (1 couche cachée)

49 Bureau d’étude 2017 - 2018

Page 51: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— Les autres types de réseaux neuronaux

Il existe cependant d’autres types de réseaux neuronaux que nous n’utiliserons pas dans cetteétude, tels que les réseaux neuronaux convolutifs (CNN) et les réseaux neuronaux récurrents (RNN).Les perceptrons multicouches, fonctionnent bien sur les données transactionnelles (tabulaires), tou-tefois, lorsque l’on désire effectuer de la reconnaissance d’images, les CNN sont un excellent choix ;ou encore avec des données séquentielles (telles que du texte, de l’audio, des séries chronologiques),les RNN sont un bon choix.

6.5 Application à notre étude

6.5.1 Échantillonnage de la base de données

Nous disposons d’un historique de données de 809 209 observations sur la période 2005-2016, etafin d’avoir une bonne évaluation de la qualité de nos modèles, nous décidons de la diviser en troisparties :

— Une base d’apprentissage, qui correspond à 80% des observations de la période 2005-2015,soit 601 754 observations, et qui servira à alimenter nos modèles.

— Une base de test, qui correspond à 20% des observations de la période 2005-2015, soit 150 437observations et permettra de détecter du sur- ou sous-apprentissage par nos modèles.

— Une base de validation, qui correspond aux observations de l’année 2016, soit 57 018 obser-vations, qui nous permettra de renforcer l’évaluation de nos modèles.

Nous n’utiliserons pas de validation croisée, qui est aussi une méthode d’estimation de fiabilitéd’un modèle fondée sur une technique d’échantillonnage.

Nous rappelons que cet échantillonnage fait suite à nos hypothèses de départ, qui sont :

— la sélection des conducteurs supposés responsables de l’accident— la suppression des lignes comprenant des valeurs manquantes— la suppression des variables aberrantes

6.5.2 Mise en forme des données

Comme évoqué précédemment, pour faciliter la compilation des algorithmes, il a été nécessaired’effectuer une mise en forme de nos données, qui consiste en :

— une normalisation des variables numériques pour éviter aux algorithmes d’avoir à traiter desvaleurs trop grandes, et donc leur faciliter le traitement des données. Nous utilisons une nor-malisation par le min et le max, suivant la formule xi = xi−mi n(x)

max(x)−mi n(x) .

— un regroupement des modalités des variables qualitatives, qui a déjà été réalisé précédem-ment lors de la création de la nouvelle base de données.

6.5.3 Paramétrage des modèles

6.5.3.1 Sous H2O

Le nombre de paramètres pour la mise en place d’un modèle est très large (plus de 15 paramètres),même pour un modèle aussi simple que le modèle GLM. Dans la documentation des algorithmes, ilest même conseillé d’utiliser les paramètres par défaut des algorithmes qui, selon le problème auquelnous faisons face, donnent des résultats satisfaisants.

Il existe des paramètres communs à tous les modèles dans H2O :

— Y : la variable à prédire, ici la variable grav— X : les variables explicatives, c’est-à-dire toutes les autres variables

50 Bureau d’étude 2017 - 2018

Page 52: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— training_frame : la base d’apprentissage sur laquelle le modèle est appris.— validation_frame : la base de validation utilisée pour évaluer la précision du modèle.— seed : appelé graine de génération, il s’agit d’un nombre permettant d’obtenir la même généra-

tion aléatoire, et donc l’utilisation de mêmes nombres qui sont censés être aléatoires lorsquele modèle est lancé plusieurs fois. Il va nous permettre de comparer les différents modèleslorsque nous changeons les paramètres.

6.5.3.2 GLM

— family : binomial, la distribution de la loi utilisée dans le modèle— link : logit, la fonction lien— alpha : 0.5, le paramètre de pénalisation, permettant d’éviter le sur-apprentissage, et ainsi de

choisir le modèle de régression pénalisée : entre le LASSO, la regression ridge, et l’elastic net.Ici, nous avons choisis l’elastic net.

— lambda : 2.022e-4, valeur par défaut, par une méthode heuristique décrite dans la documen-tation, le paramètre de contrôle de la régularisation.

Remarque : Sous H2O, les paramètres de régularisation peuvent être optimisés avec une méthodedu type Grid Search ou lambda Search, qui consiste à entrer plusieurs valeurs de alpha et lambda etla sélection par H2O du meilleur modèle.

6.5.3.3 Forêts aléatoires

— ntrees : 50, le nombre d’arbres créés par l’algorithme— max_depth : 20, la profondeur maximale de chaque arbre— mtries : 20, le nombre de variables utilisées pour créer chaque arbre

6.5.3.4 GBM

— ntrees : 50, nombre d’arbres créés par l’algorithme— max_depth : 20, la profondeur maximale de chaque arbre— distribution : binomial, la famille de lois de notre modèle— min_depth : 5, profondeur minimale de l’arbre

6.5.3.5 Sous Keras

Sous le modèle séquentiel, il existe plusieurs types de couches dans un réseau neuronal, et chaquecouche du réseau est paramétrable. Nous avons mis en place un réseau neuronal à 4 couches, dontune couche d’entrée, 2 couches cachées, et 1 couche de sortie. Nous avons ajouté des couches de«dropout» qui permettent d’éviter le surapprentissage en ne prenant pas en compte une proportionde la base d’apprentissage à chaque cycle d’entraînement du réseau. De plus, toujours dans l’optiqued’éviter le surapprentissage, il faut faire attention au nombre d’unités dans les couches cachées, quine doit pas être trop élevé ni trop bas si nous ne voulons pas être non plus en sous-apprentissage.

Avant le paramétrage du réseau, nous allons demander à Keras d’utiliser la bibliothèque Tensor-Flow grâce à la commande :

— use_condaenv("r-tensorflow",required=T)

Les paramètres communs à toutes les couches sont :

— units : le nombre d’unités dans chaque couche— kernel_initializer : la méthode d’initialisation de la matrice des poids— activation : la fonction d’activation

La couche d’entrée, contient juste les données d’entrées. Dans la première couche cachée nousavons :

51 Bureau d’étude 2017 - 2018

Page 53: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— units : 16— kernel_initializer : uniform— activation : relu— input_shape : ncol(x_train_tbl)), le nombre de colonnes de la base d’apprentissage

On ajoute ensuite une couche dropout :

— rate : 0.1, le pourcentage d’observations dans la base d’apprentissage qui n’est pas pris encompte

Viens ensuite la deuxième couche cachée :

— units : 13— kernel_initializer : uniform— activation : tanh

Comme précédemment, nous rajoutons une couche dropout :

— rate : 0.1

Et pour finir, la dernière couche, la couche de sortie :

— units : 1— kernel_initializer : uniform— activation : sigmoid

Finalement, les paramètres du compilateur de réseau sous Keras :

— optimizer : adam, l’algorithme d’optimisation— loss : binary_crossentropy, la fonction de perte binaire, car nous avons un problème de classi-

fication— metrics : accuracy, la mesure d’évaluation de la qualité du modèle pendant l’apprentissage

On rajoute aussi un paramètres d’arrêt du réseau si les résultats sur la base de validation ne s’amé-liorent pas après 11 cycles :

— early_stopping <- callback_early_stopping(patience = 11)

6.5.4 Présentation des résultats

6.5.4.1 Résultats

Nous présentons les résultats des différents algorithmes, selon les métriques choisies, et sur lesdifférentes bases de données.

— Sur la base d’apprentissage :

Modèles sur base d’apprentissage Accuracy Recall Score F1 AUCGLM 0,82876 1 0,82326 0,90435Random Forest 0,84771 1 0,84329 0,92671GBM 0,84784 1 0,84305 0,92775Deep Learning with TensorFlow 0,85100 1 0,84364 0,93137

TABLE 6.1 – Résultats des modèles sur la base d’apprentissage

52 Bureau d’étude 2017 - 2018

Page 54: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— Sur la base de test :

Modèles sur base de test Accuracy Recall Score F1 AUCGLM 0,82677 1 0,82181 0,90282Random Forest 0,84949 1 0,84427 0,92848GBM 0,84682 1 0,84214 0,92718Deep Learning with TensorFlow 0,85000 1 0,84140 0,92994

TABLE 6.2 – Résultats des modèles sur la base de test

— Sur la base de validation 2016 :

Modèles sur base de validation 2016 Accuracy Recall Score F1 AUCGLM 0,82347 1 0,81518 0,90063Random Forest 0,84679 1 0,83802 0,92501GBM 0,84391 1 0,83613 0,92417Deep Learning with TensorFlow 0,84500 1 0,83318 0,92612

TABLE 6.3 – Résultats des modèles sur la base de la validation

Les courbes ROC obtenues pour nos différents modèles ont des allures quasi-similaires, de laforme suivante :

FIGURE 6.12 – Courbe ROC des modèles mis en place

Nous pouvons donc voir que les modèles mis en place sont de bonne qualité si nous nous rap-portons à la définition de l’AUC.

53 Bureau d’étude 2017 - 2018

Page 55: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Nous pouvons également visualiser l’historique d’entraînement du réseau neuronal sous Tensor-flow :

FIGURE 6.13 – Historique d’entraînement du réseau neuronal

Après 10 cycles d’entraînement, la précision du réseau est de 85%, après 18 cycles d’entraînement,la courbe de pertes de la base d’entraînement passe légèrement en dessous de celle de validation,c’est la marque d’un sur-apprentissage. Nous pouvons donc limiter l’entraînement du réseau à cenombre de cycles.

6.5.4.2 Interpréation des résultats

Des quatre modèles mis en place, le modèle le plus performant est celui sous TensorFlow, maisles autres modèles, plus simples, restent néanmoins acceptables. Nous gagnons 3% en termes deprécision par rapport au modèle GLM. De plus si nous prenons en compte la complexité de la miseen place du réseau neuronal par rapport à celle du GLM en termes de complexité/performance, nouspouvons dire que le modèle GLM sort gagnant de cette comparaison. C’est une analyse courante enmachine learning.

En effet les modèles les plus performants ne sont pas toujours les plus complexes. Dans certainesétudes, les modèles simples ont parfois un rendement similaire par rapport à des modèles plus com-plexes (c’est le cas ici), et même souvent supérieur. Cependant l’utilité d’un modèle plus complexepeut se révéler dans son interprétabilité.

Même si le réseau neuronal est loin d’être le réseau le plus interprétable, nous avons utilisé le pa-ckage LIME (Local Interpretable Model-agnostic Explanations), qui permet d’expliquer localement,pour toute observation d’un jeu de données, et à partir du modèle mis en place, les variables quiinfluent le plus sur la gravité.

54 Bureau d’étude 2017 - 2018

Page 56: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Voici ci-dessous les variables les plus influentes de la gravité pour chacun des modèles sous H2O :

— GLM

FIGURE 6.14 – Variables explicatives de la gravité par le modèle glm

En bleu, nous observons les variables qui influent positivement la gravité. Par exemple, la catégo-rie de véhicule 1, soit les véhicules à 2 roues, influent positivement le risque de gravité ; et de manièrecontraire, la catégorie obstacle 1, en orange, influe de manière négative la probabilité d’être blessé outué lors de l’accident.

Les coefficients représentés sont les poids prédictifs des données normalisées, et sont inclus uni-quement à titre informatif (par exemple en comparaison de l’importance relative de variables dansune forêt aléatoire). Dans ce cas, les coefficients «normaux» sont obtenus à partir des coefficientsstandardisés en inversant le processus de standardisation des données (désaxé avec l’ordonnée àl’origine ajustée par un décalage supplémentaire) afin qu’ils puissent être appliqués aux donnéesdans leur forme originale.

55 Bureau d’étude 2017 - 2018

Page 57: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— Forêts aléatoires

FIGURE 6.15 – Variables explicatives de la gravité par les forêts aléatoires

Nous avons le graphe de l’importance des variables dans la construction de la forêt aléatoire. Eneffet, celui-ci est déterminé en calculant l’influence relative de chaque variable, en fonction de si elle aété sélectionnée lors de la division dans le processus de construction de l’arbre, et de combien l’erreurquadratique (sur tous les arbres construits) s’est améliorée en conséquence.

— GBM

FIGURE 6.16 – Variables explicatives de la gravité dans le modèle gbm

L’importance des variables est déterminée de façon similaire à celle sous les forêts aléatoires.

56 Bureau d’étude 2017 - 2018

Page 58: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

On peut remarquer que l’interprétation de l’importance des variables pour les variables qualita-tives, est plus aisée sous les forêts aléatoires, contrairement au GLM qui transforme chaque classed’une variable qualitative en une variable unique, mais qui est par conséquent, plus précis au niveaude l’importance des variables.

Nous utilisons l’ordre d’importance des variables donné par les forêts aléatoires afin de les analy-ser.

Les variables avec un niveau d’importance au-delà de 15% sont :

— catv

Regardons cette variable, de plus près :

FIGURE 6.17 – Graphique croisé de catv-grav

Le graphe de gauche représente le pourcentage d’indemnes et de victimes par catégorie de vé-hicule, alors que celui de droite représente le nombre d’indemnes et de victimes par catégorie devéhicule. Les niveaux de gravité par catégorie de véhicule sont différents. Nous comprenons tout desuite l’importance de cette variable dans la sinistralité de l’individu. La probabilité d’être victime pourun véhicule à deux roues est de 88.8%, et donc de 2,3 fois celle d’un véhicule léger, et de 3,16 fois celled’un véhicule utiltaire. Pour les autres véhicules, ce niveau s’élève autour de 3,4 fois. On comprendaussi pourquoi le modèle GLM fait ressortir cette catégorie en premier parmi les variables les plusinfluentes.

D’autre part, nous avons 487 389 véhicules légers, soit 2,5 fois plus de deux roues motorisées, maisun nombre d’indemnes largement supérieur, 5,6 fois plus d’indemnes chez les usagers de véhiculeslégers par rapport à ceux des deux roues motorisées.

57 Bureau d’étude 2017 - 2018

Page 59: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— NB_pers

FIGURE 6.18 – Graphique croisé de NB_pers-grav

Les observations au-delà des troisièmes quartiles concernent les accidents survenus avec destransports en commun.

Le décalage entre les quartiles de la population des indemnes et celle des victimes, soit le troi-sième quartile des victimes qui est au niveau du deuxième quartile des indemnes, nous montre l’im-portance du nombre de personnes impliquées dans l’accident, même si la moyenne de personnesdans les deux catégories est quasiment la même, 2,47 pour les indemnes, et 2,04 pour les victimes.

58 Bureau d’étude 2017 - 2018

Page 60: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— obstacle

FIGURE 6.19 – Graphique croisé de obstacle-grav

Nous constatons que lors d’une collision avec un piéton, les usagers de véhicules ont 6,7 foismoins de chances d’être victime, soit 7% de victimes, en comparaison avec une collision entre deuxvéhicules où 46,9% des accidents entraînent des victimes.

59 Bureau d’étude 2017 - 2018

Page 61: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— agg

FIGURE 6.20 – Graphique croisé de agg-grav

Les accidents hors agglomération sont plus dangereux, ils entrainent plus de victimes que ceuxen agglomération, alors que le nombre d’accidents en agglomération atteint le double du nombre deceux qui se sont produits hors agglomération.

60 Bureau d’étude 2017 - 2018

Page 62: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— manv

FIGURE 6.21 – Graphique croisé de manv-grav

Lorsque la manœuvre avant accident est "déportée", la probabilité d’être victime, soit 75,7%, estde 3,12 fois celle d’être victime lorsque la manœuvre avant accident est de tourner à droite ou àgauche.

Il y a également plus de risque qu’un usager soit victime lorsque la manœuvre avant accident estun dépassement, avec une probabilité de 69,1% des accidents qui engendrent des victimes.

De plus, le nombre d’accidents en tournant, soit un nombre 99 296 accidents, est plus élevé quele nombre d’accidents lorsque la manœuvre est de rester dans le même sens de circulation, soit 70900 accidents, alors que nous avons quasiment 2 fois plus de chances d’être victimes lorsque noussommes dans le même sens de circulation.

61 Bureau d’étude 2017 - 2018

Page 63: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— col

FIGURE 6.22 – Graphique croisé de col-grav

Nous avons seulement 10,1% des accidents qui sont par "collision frontale", avec une probabi-lité de faire des victimes de 60%, supérieure aux 79,2% des accidents avec une "autre collision" (parl’arrière, par le coté, en chaines, collisions multiples. . . ), qui ont une probabilité de 43,9% de faire desvictimes.

62 Bureau d’étude 2017 - 2018

Page 64: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— densite

FIGURE 6.23 – Boites à moustaches de densité-grav

Là aussi les quartiles de distribution de la densité de population par rapport à la gravité sontdifférents.

En moyenne nous retrouvons moins de victimes dans les communes les plus denses par rapportaux communes les moins denses.

63 Bureau d’étude 2017 - 2018

Page 65: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Cette remarque peut être confirmée par le graphe suivant, si nous segmentons la densité de po-pulation en 10 classes :

FIGURE 6.24 – Graphique croisé de densite-grav

Nous constatons clairement la décroissance du niveau de gravité par rapport à l’augmentation dela densité de population.

64 Bureau d’étude 2017 - 2018

Page 66: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Comme évoqué précédemment, grâce au package LIME, nous allons visualiser l’explication in-dividuelle pour les 10 premières observations de la base de validation 2016, donnée par le réseauneuronal dans l’établissement de la prédiction.

FIGURE 6.25 – Explication individuelle de la sinistralité par le réseau neuronal

Pour ce faire, il a fallu demander à l’explicateur de modèles de nous faire ressortir les 6 variablesqui influent sur le niveau de gravité de chaque individu.

En vert, nous retrouvons les variables qui influent positivement sur l’attribution de la classe pourchaque observation et en rouge les variables qui influent négativement sur l’attribution de cetteclasse.

Nous avons également, en plus de la classe prédite Label et la probabilité de réalisation Probabi-lity, le pourcentage d’explication donné par l’explicateur Explanation Fit.

La première observation que nous pouvons faire est de remarquer la présence de la catégorie devéhicule comme premier facteur influent sur le niveau de gravité pour les 10 premières observations.

65 Bureau d’étude 2017 - 2018

Page 67: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

6.5.4.3 Analyse ex ante / ex post

Après cette première analyse des variables influentes de la gravité, il est important de rappeler queparmi les variables à notre disposition, nous avions jusqu’à maintenant dans notre jeu de données,des variables disponibles avant accident et d’autres après accident. Nous allons maintenant retirerles variables disponibles après accident, puis analyser l’impact de ce retrait sur nos modèles et sur lesvariables influentes de la gravité.

Définissons alors les variables disponibles avant accident :

Les variables connues avant accident sont les variables mesurables et déterminables avant acci-dent, par exemple par un capteur ou tout autre objet connecté, qui est intégré au système du véhiculepermettant de les mesurer, ou encore connu du conducteur avant accident.

Ce sont dans notre cas :

— secu : le niveau de sécurité, soit le port ou non du dispositif de sécurité (système intégré àl’automobile, ou connu du conducteur)

— densite : la densité de la commune (déterminable par un gps)— sexe : le sexe du conducteur (connu du conducteur)— trajet : le trajet (connu du conducteur)— age : l’âge du conducteur (connu du conducteur)— condu : variable indiquant si le conducteur est seul ou non (connue du conducteur)— catv : la catégorie de véhicule (connue du conducteur)— manv : la manœuvre avant acccident (connue du conducteur)— lum : les conditions d’éclairage (déterminables par un capteur)— agg : localisation (déterminable par un gps)— atm : conditions atmosphériques (déterminables par un capteur)— jour : le jour (système intégré ou connu du conducteur)— mois : le mois (connu du conducteur)— heure : l’heure (connue du conducteur)— wsemaine : pleine semaine, ou weekend (connu du conducteur)— chase : période chassé croisé (connue du conducteur)— catr : catégorie route (déterminable par un gps)— circ : régime de circulation— prof : Profil en long décrivant la déclivité de la route (déterminable par un capteur)— plan : tracé en plan (déterminable par un capteur)— surf : état de la surface (déterminable par un capteur)— situ : situation avant accident (connue du conducteur)

Ci-dessous les résultats obtenus pour chacun de nos modèles sur la base de validation 2016 :

Modèles sur base de validation 2016 Accuracy Recall Score F1 AUCGLM 0,78824 1 0,78193 0,85707Random Forest 0,79594 1 0,78997 0,86890GBM 0,79448 1 0,78968 0,86756Deep Learning with TensorFlow 0,79300 1 0,78300 0,86801

TABLE 6.4 – Résultat des nouveaux modèles sur la base de validation 2016

Nous remarquons tout de suite la baisse de qualité de nos modèles. Le modèle obtenu grâce auxforêts aléatoires est le meilleur modèle de prédiction lorsque les données que nous disposons sontcelles disponibles avant accident. Cette remarque rejoint celle que nous avions faite un peu plushaut : les forêts aléatoires ont une performance supérieure aux réseaux de neurones sur ce type deproblématique.

66 Bureau d’étude 2017 - 2018

Page 68: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Nous pouvons visualiser de nouveau les variables explicatives de la gravité sous les forêts aléa-toires :

FIGURE 6.26 – Variables explicatives de la gravité par les forêts aléatoires sous le nouveau modèle

67 Bureau d’étude 2017 - 2018

Page 69: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Nous remarquons l’apparition de nouvelles variables explicatives de la gravité, avec un niveaud’importance de plus de 15% :

— Age

FIGURE 6.27 – Graphique croisé age-grav

Nous observons une décroissance du niveau de gravité par rapport à l’âge. Les 18-20 ans ont unniveau de gravité très élevé par rapport aux autres groupes et par rapport à la proportion d’accidentés.

68 Bureau d’étude 2017 - 2018

Page 70: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— Plan

FIGURE 6.28 – graphique croisé Plan-grav

Cette variable, comme décrite dans le document descriptif des données, décrit la sinuosité de laroute à l’endroit de l’accident. Les informations sont données par rapport au sens de circulation dupremier véhicule décrit. C’est une variable importante pour l’étude des accidents en virage. La pro-portion d’accidents en courbe est un indicateur typologique classique lors de l’étude d’un réseau oud’un itinéraire. Nous observons que les routes en "S" sont les plus dangereuses, avec 71,2% d’acci-dents entraînant des victimes, alors qu’elles ne représentent que 1,3% des observations. Contraire-ment aux routes dont la sinuosité est en partie rectiligne, sur lesquelles 76,3% des accidents ont lieu,la probabilité d’être victime est de 45,7%.

69 Bureau d’étude 2017 - 2018

Page 71: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— Heure

FIGURE 6.29 – graphique croisé heure-grav

Comme également remarqué lors de la visualisation des données, 38,7% des accidents ont lieu enpériode d’après-midi, entre 12h et 18h, et la période au cours de laquelle nous avons le moins d’ac-cidents est pendant le premier quart de la journée (soit entre 00h et 6h du matin) mais les accidentsayant lieu au cours de cette période entraînent plus de victimes, soit 70,3% de victimes contre 46,3%de victimes en après-midi.

70 Bureau d’étude 2017 - 2018

Page 72: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

— Mois

FIGURE 6.30 – graphique croisé mois-grav

Les périodes estivales engendrent le plus de victimes, soit plus de 50% des accidents en août,juillet, juin et mai.

Lors du retour des vacances estivales, nous avons aussi 49,9% des accidents qui engendrent desvictimes.

En comparaison avec le mois d’octobre qui compte le plus d’accidents, 71 368 accidents pour78,9% de victimes.

71 Bureau d’étude 2017 - 2018

Page 73: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

6.5. APPLICATION À NOTRE ÉTUDE

Nous pouvons à nouveau visualiser l’explication donnée par le réseau neuronal :

FIGURE 6.31 – Explication individuelle de la sinistralité automobile

72 Bureau d’étude 2017 - 2018

Page 74: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 7

Représentation géographique desaccidents

L’autre objectif de ce bureau d’étude était de mettre en place des cartes interactives de représen-tation des accidents. Pour cela, nous avons utilisé l’outil 3D Maps permettant de réaliser des cartessous Excel à l’aide d’informations géographiques telles que la longitude, la latitude, le département,et toute information géographique permettant de représenter des lieux. Ces informations sont dispo-nibles, dans notre jeu de données, dans la sous-base LIEUX.

Ci dessous, la représentation des accidents de l’année 2016 en France métropolitaine :

FIGURE 7.1 – Aperçu de la représentation des accidents sur l’année 2016 en France métropolitaine

73 Bureau d’étude 2017 - 2018

Page 75: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Nous pouvons remarquer une concentration des accidents sur la région Île de France, plus parti-culièrement au niveau de Paris et de sa banlieue, mais aussi au niveau de la partie ouest et sud-ouestde la France.

Partant de là, il a également été possible de visualiser l’évolution du nombre de tués sur la période2005-2016, en région Bretagne.

FIGURE 7.2 – Aperçu du nombre de tués en Pointe de Bretagne au cours de l’année 2008

74 Bureau d’étude 2017 - 2018

Page 76: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Chapitre 8

Conclusion

Tout au long de cette étude, notre objectif était d’étudier la sinistralité automobile en France avecdes méthodes de Machine Learning en utilisant des Open Data. Nous avons alors choisi d’étudierla gravité des sinistres automobiles en mettant en place des algorithmes de prédiction sur la variablegrav à partir du jeu de données disponible. Pour cela, nous avons fait un certain nombre d’hypothèseset de modifications sur les données utilisées. En effet, nous avons d’abord dû retraiter certaines don-nées, sélectionner les données à utiliser en modifiant la variable cible de départ.

Les résultats obtenus sur les différents algorithmes mis en place nous ont permis de faire ressortirles différents facteurs influents de cette sinistralité avec une précision que nous pouvons qualifier desatisfaisante.

Cependant, il aurait été intéressant de comparer la différence de résultats avec d’autres hypo-thèses, comme :

— l’imputation des valeurs manquantes au lieu d’une suppression de ces dernières, afin d’éva-luer la perte d’informations résultant de cette suppression ou l’impact de l’imputation sur laprédiction

— le choix d’une modification de la variable cible en une classe combinée de blessés légers etde blessés hospitalisés d’une part, et d’autre part d’une classe combinée d’indemnes et dedécédés, puisque la première est plus susceptible d’influer le portefeuille d’un assureur

De plus les données que nous avons utilisées contiennent peu d’informations personnelles tellesque le degré d’alcool des individus accidentés ou encore la vitesse des véhicules avant l’accident, etcela dans un souci de protection de la vie privée des personnes physiques. Ces données personnellesnous auraient certainement permis d’améliorer significativement la compréhension de la sinistralitécar celle-ci est la combinaison de facteurs généraux et externes tels que la catégorie des routes ou lesphénomènes météorologiques dont nous avons parlé dans cette étude, ainsi que de facteurs liés auconducteur et à son comportement.

Cette situation d’informations incomplètes ou partielles est l’un des inconvénients lorsque noustravaillons avec des données disponibles en Open Data car celles-ci, comme dit précédemment, nedoivent pas divulguer les informations personnelles des individus. Néanmoins, il est possible pourun assureur, en accord commun avec ses clients, d’avoir accès à ces informations dites personnelles,comme cela se fait déjà en assurance automobile même si de façon limitée, avec l’installation decapteurs, ceci permettant d’adapter la prime en fonction du comportement du conducteur. D’autresacteurs, tels que les géants du Net encore appelés GAFA, disposent d’un nombre considérable d’in-formations, comme Google qui mesure la vitesse à laquelle nous circulons lorsque le GPS de notretéléphone mobile est activé et qui pourrait donc permettre une plus grande compréhension de lasinistralité.

Pour finir, ce bureau d’études a été une expérience très enrichissante pour nous car il nous anon seulement permis d’améliorer nos compétences informatiques, mais aussi de toucher à un sujetd’actualité qui est l’utilisation d’algorithmes de Machine Learning.

75 Bureau d’étude 2017 - 2018

Page 77: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

Annexe A

Codes informatiques

Les codes sont répartis en différentes parties.

###importation des données (webscrapping sur data.gouv)------------------------------------------------------------------------##création des liens

url = "http://www.data.gouv.fr/fr/datasets/base-de-donnees-accidents-corporels-de-la-circulation/"liens = read.csv(url, stringsAsFactors = FALSE)liens = liens[,1]View(liens[2,1])library(stringr)liens = liens[str_detect(liens,"<a href=https://www.data.gouv.fr/s/resources/")]liens = liens[str_detect(liens,".csv")]length(liens)liens = gsub(c(" <a href="),"",liens)liens = gsub(">","",liens)

###sous_liens------------------------------------------------------------------------##liens de la base véhiculevehicules_liens = liens[str_detect(liens,"vehicules")]

for(i in seq_along(vehicules_lien)) {

#chargement du fichier csv et sauvegarde dans la variable vehiculevehicule <- read.csv(vehicules_liens[i])

#on renomme le lien, en lui rajoutant l'annéeassign(paste0("vehicule_", 2017-i), vehicule)

}

##liens de la base usagerusager_liens = liens[str_detect(liens,"usagers")]for(i in seq_along(usager_liens)){

usager <- read.csv(usager_liens[i])

assign(paste0("usager_", 2017-i), usager)}

76 Bureau d’étude 2017 - 2018

Page 78: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

##liens de la base lieuxlieux_liens = liens[str_detect(liens,"lieux")]for(i in seq_along(lieux_liens)) {

lieux <- read.csv(lieux_lien[i])

assign(paste0("lieux_", 2017-i), lieux)}

##liens de la base lieuxcaracter_lien = liens[str_detect(liens,"caracteristiques")]for(i in seq_along(caracter_lien)) {

caracter <- read.csv(caracter_lien[i])

assign(paste0("caracter_", 2017-i), caracter)}

###concaténation des bases de données------------------------------------------------------------------------base_usager=rbind(usager_2005,usager_2006,usager_2007,usager_2008,usager_2009,usager_2010,usager_2011,usager_2012,usager_2013,usager_2014,usager_2015,usager_2016)

base_vehicule=rbind(vehicule_2005,vehicule_2006,vehicule_2007,vehicule_2008,vehicule_2009,vehicule_2010,vehicule_2011,vehicule_2012,vehicule_2013,vehicule_2014,vehicule_2015,vehicule_2016)

base_caracter=rbind(caracter_2005,caracter_2006,caracter_2007,caracter_2008,caracter_2009,caracter_2010,caracter_2011,caracter_2012,caracter_2013,caracter_2014,caracter_2015,caracter_2016)

base_lieux=rbind(lieux_2005,lieux_2006,lieux_2007,lieux_2008,lieux_2009,lieux_2010,lieux_2011,lieux_2012,lieux_2013,lieux_2014,lieux_2015,lieux_2016)

###première analyse de la base de données------------------------------------------------------------------------##évolution de la gravité par annéebase_caracter$an = 2000 + base_caracter$an

##sélection de la gravité dans la base usagerbase_usager = as.data.table(base_usager)grav_data = base_usager %>%

select(Num_Acc,grav)

##sélection de l'année dans la base caractéristiquesbase_caracter = as.data.table(base_caracter)year_data = base_caracter %>%

select(Num_Acc,an)

##combinaison des deux basesevolution_data = left_join(grav_data,year_data)colnames(evolution_data) = c("Num_Acc","gravite","annee")

77 Bureau d’étude 2017 - 2018

Page 79: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

evolution_data$gravite = as.factor(evolution_data$gravite)

##recodage variable gravite##irec(evolution_data,gravite)##Recodage de evolution_data$graviteevolution_data$gravite <- fct_recode(evolution_data$gravite,

"Indemne" = "1","Tué" = "2","Blessé hospitalisé" = "3","Blessé léger" = "4")

##graphe d'évolution des accidents année après annéeggplot(evolution_data,aes(x =annee,fill=gravite))+geom_bar(position="fill")+theme_wsj()

###analyse base usager------------------------------------------------------------------------##recherche de valeurs abérrantes##structure de la base de donnéestr(base_usager)

##variable(place)describe(base_usager$place)base_usager$place[base_usager$place==0] = NA

##variable(catu)describe(base_usager$catu) #variable en bon état

##variable(grav)describe(base_usager$grav) #variable en bon état

##variable(sexe)describe(base_usager$sexe) #variable en bon état

##variable(an_nais)describe(base_usager$an_nais) #variable en bon état

##variable(trajet)describe(base_usager$trajet) #variable en bon étatbase_usager$trajet[base_usager$trajet==0] = NA

##variable(secu)describe(base_usager$secu) #variable en bon étatbase_usager$secu[base_usager$secu<11] = NA

##variable(locp)describe(base_usager$locp)base_usager$locp[base_usager$locp==0] = NA

##variable(actp)describe(base_usager$actp)base_usager$actp[base_usager$actp==0] = NA

##variable(etatp)

78 Bureau d’étude 2017 - 2018

Page 80: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

describe(base_usager$etatp)base_usager$etatp[base_usager$etatp==0] = NA

##profil de valeurs manquantesmice_plot <- aggr(base_usager, col=c('white','firebrick3'),

numbers=F, sortVars=TRUE,labels=names(base_usager), cex.axis=.7,gap=3, ylab=c("valeurs Manquantes","Profil de valeurs manquantes"),prop=T)

###analyse base vehicule------------------------------------------------------------------------##recherche de valeurs abérrantes##structure de la base de donnéestr(base_vehicule)

##variable(senc)describe(base_vehicule$senc)base_vehicule$senc[base_vehicule$senc==0] = NA

##variable(catv)describe(base_vehicule$catv) #variable en bon état

##variable(obs)describe(base_vehicule$obs)base_vehicule$obs[base_vehicule$obs==0] = NA

##variable(obsm)describe(base_vehicule$obsm)base_vehicule$obsm[base_vehicule$obsm==0] = NA

##variable(choc)describe(base_vehicule$choc)base_vehicule$choc[base_vehicule$choc==0] = NA

##variable(manv)describe(base_vehicule$manv)base_vehicule$manv[base_vehicule$manv=="00"] = NA

##variable(occutc)describe(base_vehicule$occutc)

##profil de valeurs manquantesmice_plot <- aggr(base_vehicule, col=c('white','firebrick3'),

numbers=F, sortVars=TRUE,labels=names(base_vehicule), cex.axis=.7,gap=3, ylab=c("valeurs Manquantes","Profil de valeurs manquantes"),prop=T)

###analyse base caractéristiques------------------------------------------------------------------------##recherche de valeurs abérrantes##structure de la base de donnéestr(base_caracter)

79 Bureau d’étude 2017 - 2018

Page 81: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

##variable(hrmn)describe(base_caracter$hrmn)#variable en bon état

##variable(lum)describe(base_caracter$lum) #variable en bon état

##variable(dep)describe(base_caracter$dep) #variable en bon état

##variable(com)describe(base_caracter$com) #variable en bon état

##variable(agg)describe(base_caracter$agg) #variable en bon état

##variable(int)describe(base_caracter$int) #variable en bon étatbase_caracter$int[base_caracter$int==0] = NA

##variable(atm)describe(base_caracter$atm) #variable en bon état

##variable(col)describe(base_caracter$col) #variable en bon état

##variable(adr)describe(base_caracter$adr)

##variable(gps)describe(base_caracter$gps)

##variable(lat)describe(base_caracter$lat)

##variable(long)describe(base_caracter$long)

##profil de valeurs manquantesmice_plot <- aggr(base_caracter, col=c('white','firebrick3'),

numbers=F, sortVars=TRUE,labels=names(base_caracter), cex.axis=.7,gap=3, ylab=c("valeurs Manquantes","Profil de valeurs manquantes"),prop=T)

###analyse base lieux------------------------------------------------------------------------##recherche de valeurs abérrantes##structure de la base de donnéestr(base_lieux)

##variable(catr)describe(base_lieux$catr) #variable en bon état

##variable(voie)

80 Bureau d’étude 2017 - 2018

Page 82: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

describe(base_lieux$voie) #variable en bon état

##variable(v1)describe(base_lieux$v1) #variable en bon état

##variable(v2)describe(base_lieux$v2) #variable en bon état

##variable(circ)describe(base_lieux$circ)base_lieux$circ[base_lieux$circ==0] = NA

##variable(nbv)describe(base_lieux$nbv)base_lieux$nbv = as.numeric(base_lieux$nbv)base_lieux$nbv[base_lieux$nbv==0] = NAbase_lieux$nbv[base_lieux$nbv>8] = NA

##variable(vosp)describe(base_lieux$vosp)base_lieux$vosp[base_lieux$vosp==0] = NA

##variable(prof)describe(base_lieux$prof)base_lieux$prof[base_lieux$prof==0] = NA

##variable(pr)describe(base_lieux$pr)

##variable(pr1)describe(base_lieux$pr1)

##variable(plan)describe(base_lieux$plan)base_lieux$plan[base_lieux$plan==0] = NA

##variable(lartpc)describe(base_lieux$lartpc)

##variable(larrout)describe(base_lieux$larrout)

#variable(surf)describe(base_lieux$surf)base_lieux$surf[base_lieux$surf==0] = NA

##variable(infra)describe(base_lieux$infra)base_lieux$infra[base_lieux$infra==0] = NA

##variable(situ)describe(base_lieux$situ)base_lieux$situ[base_lieux$situ==0] = NA

81 Bureau d’étude 2017 - 2018

Page 83: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

##variable(env1)describe(base_lieux$env1)base_lieux$env1 = as.numeric(base_lieux$env1)base_lieux$env1[base_lieux$env1==0] = NA

##profil de valeurs manquantesmice_plot <- aggr(base_lieux, col=c('white','firebrick3'),

numbers=F, sortVars=TRUE,labels=names(base_lieux), cex.axis=.7,gap=3, ylab=c("valeurs Manquantes","Profil de valeursmanquantes"),prop=T,combibned = T)

#visualisationlibrary(treemap)#base usagers------------------------------------------------------------------------#catudes = base_usager# irec(des,catu)## Recodage de des$catudes$catu <- as.character(des$catu)des$catu[des$catu == "1"] <- "conducteur"des$catu[des$catu == "2"] <- "passager"des$catu[des$catu == "3"] <- "piéton"des$catu[des$catu == "4"] <- "piéton en roller (ou trotinette)"des$grav <- as.character(des$grav)des$grav[des$grav == "4"] <- "Blessé léger"des$grav[des$grav == "3"] <- "Blessé Hospitalisé"des$grav[des$grav == "1"] <- "Indemne"des$grav[des$grav == "2"] <- "Tué"colnames(des)[colnames(des)=="grav"] = "gravité"g <- ggplot(des, aes(catu))g+geom_bar(aes(fill = gravité), position = position_stack(reverse = TRUE)) +

coord_flip() +theme(legend.position = "top")

#sexe# irec(des,sexe)## Recodage de des3$sexedes$sexe <- as.character(des$sexe)des$sexe[des$sexe == "1"] <- "Homme"des$sexe[des$sexe == "2"] <- "Femme"g <- ggplot(des, aes(sexe))g+geom_bar(aes(fill = gravité), position = position_stack(reverse = TRUE)) +

coord_flip() +theme(legend.position = "top")

#base véhicules------------------------------------------------------------------------#catvdes = base_vehicule

82 Bureau d’étude 2017 - 2018

Page 84: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

# irec(des,catv)## Recodage de des$catvdes$catv[des$catv == "07"] <- "véhicule légér"des$catv[des$catv == "02"] <- "Cyclomoteur"des$catv[des$catv == "05"] <- "Motocyclette"des$catv[des$catv == "18"] <- "Autre véhicule"des$catv[des$catv == "17"] <- "Tracteur routier(+semi remorque)"des$catv[des$catv == "01"] <- "Bicyclette"des$catv[des$catv == "10"] <- "Véhicule utilitaire"des$catv[des$catv == "04"] <- "Scooter"des$catv[des$catv == "15"] <- "Poids lourd"des$catv[des$catv == "14"] <- "Poids lourd"des$catv[des$catv == "13"] <- "Poids lourd"des$catv[des$catv == "03"] <- "Voiturette"des$catv[des$catv == "32"] <- "Scooter"des$catv[des$catv == "37"] <- "Autobus"des$catv[des$catv == "30"] <- "Scooter"des$catv[des$catv == "31"] <- "Motocyclette"des$catv[des$catv == "33"] <- "Motocyclette"des$catv[des$catv == "34"] <- "Scooter"des$catv[des$catv == "99"] <- NAdes$catv <- as.character(des$catv)des = des$catvdes = as.data.table(des)des %>%

filter(!is.na(des)) %>%group_by(des) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des = reorder(des,Count)) %>%head(10) %>%

ggplot(aes(x = des,y = Count)) +geom_bar(stat='identity',colour="white", fill = "brown2") +geom_text(aes(x = des, y = 1, label = paste0("(",Count,")",sep="")),

hjust=0, vjust=.5, size = 4, colour = 'black',fontface = 'bold') +

labs(x = 'Catégorie Véhicules',y = 'Nombre') +

coord_flip()

#manoeuvredes3 = base_vehicule# irec(des3,manv)## Recodage de des3$manvdes3$manv[des3$manv == "01"] <- "Sans changement de direction"des3$manv[des3$manv == "16"] <- "Tournant à droite"des3$manv[des3$manv == "13"] <- "Déporté à gauche"des3$manv[des3$manv == "19"] <- "Traversant la chaussée"des3$manv[des3$manv == "17"] <- "Dépassant à gauche"des3$manv[des3$manv == "00"] <- NAdes3$manv[des3$manv == "02"] <- "Même sens, même file"

83 Bureau d’étude 2017 - 2018

Page 85: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

des3$manv[des3$manv == "15"] <- "Tournant à gauche"des3$manv[des3$manv == "23"] <- "Arrêté (hors stationnement)"des3$manv[des3$manv == "09"] <- "En s'incérant"des3$manv[des3$manv == "14"] <- "Déporté à droite"des3 = des3$manvdes3 = as.data.table(des3)des3 %>%

filter(!is.na(des3)) %>%group_by(des3) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des3 = reorder(des3,Count)) %>%head(10) %>%

ggplot(aes(x = des3,y = Count)) +geom_bar(stat='identity',colour="white", fill = "deeppink") +geom_text(aes(x = des3, y = 1, label = paste0("(",Count,")",sep="")),

hjust=0, vjust=.5, size = 4, colour = 'black',fontface = 'bold') +

labs(x = 'Manoeuvre avant accident',y = 'Nombre') +

coord_flip()

#base lieux------------------------------------------------------------------------des = base_lieux# irec(des,catr)## Recodage de des$catrdes$catr <- as.character(des$catr)des$catr[des$catr == "3"] <- "Route Départementale"des$catr[des$catr == "2"] <- "Route Nationale"des$catr[des$catr == "4"] <- "Voie Communale"des$catr[des$catr == "6"] <- "Parc de stationnement"des$catr[des$catr == "9"] <- NAdes$catr[des$catr == "5"] <- "Hors réseau public"des$catr[des$catr == "1"] <- "Autoroute"des = des$catrdes = as.data.table(des)des %>%

filter(!is.na(des)) %>%group_by(des) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des = reorder(des,Count)) %>%head(10) %>%

ggplot(aes(x = des,y = Count)) +geom_bar(stat='identity',colour="white", fill = "burlywood") +geom_text(aes(x = des, y = 1, label = paste0("(",Count,")",sep="")),

hjust=0, vjust=.5, size = 4, colour = 'black',fontface = 'bold') +

84 Bureau d’étude 2017 - 2018

Page 86: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

labs(x = 'Catégories des routes',y = 'Nombre') +

coord_flip()

#surfacedes2 = base_lieux# irec(des2,surf)## Recodage de des2$surfdes2$surf <- as.character(des2$surf)des2$surf[des2$surf == "1"] <- "normale"des2$surf[des2$surf == "2"] <- "mouillée"des2$surf[des2$surf == "0"] <- NAdes2$surf[des2$surf == "9"] <- NAdes2$surf[des2$surf == "7"] <- "verglacée"des2$surf[des2$surf == "8"] <- "corps gras - huile"des2$surf[des2$surf == "5"] <- "enneigée"des2$surf[des2$surf == "6"] <- "boue"des2$surf[des2$surf == "3"] <- "flaques"des2$surf[des2$surf == "4"] <- "inondée"des2 = des2$surfdes2 = as.data.table(des2)des2 %>%

filter(!is.na(des2)) %>%group_by(des2) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des2 = reorder(des2,Count)) %>%head(10) %>%

ggplot(aes(x = des2,y = Count)) +geom_bar(stat='identity',colour="white", fill = "cyan") +geom_text(aes(x = des2, y = 1, label = paste0("(",Count,")",sep="")),

hjust=0, vjust=.5, size = 4, colour = 'black',fontface = 'bold') +

labs(x = 'surfaces',y = 'Nombre') +

coord_flip()

#infrastructuresdes3 = base_lieux# irec(des3,infra)## Recodage de des3$infrades3$infra <- as.character(des3$infra)des3$infra[des3$infra == "0"] <- NAdes3$infra[des3$infra == "5"] <- "Carrefour aménagé"des3$infra[des3$infra == "4"] <- "Voie ferrée"des3$infra[des3$infra == "2"] <- "Pont-autopont"des3$infra[des3$infra == "3"] <- "Bretelle d’échangeur ou de raccordement"des3$infra[des3$infra == "6"] <- "Zone piétonne"des3$infra[des3$infra == "1"] <- "Souterrain - tunnel"

85 Bureau d’étude 2017 - 2018

Page 87: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

des3$infra[des3$infra == "7"] <- "Zone de péage"des3 = des3$infrades3 = as.data.table(des3)des3 %>%

filter(!is.na(des3)) %>%group_by(des3) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des3 = reorder(des3,Count)) %>%head(10) %>%

ggplot(aes(x = des3,y = Count)) +geom_bar(stat='identity',colour="white", fill = "springgreen4") +geom_text(aes(x = des3, y = 1, label = paste0("(",Count,")",sep="")),

hjust=0, vjust=.5, size = 4, colour = 'black',fontface = 'bold') +

labs(x = 'Infrastructures',y = 'Nombre') +

coord_flip()

# base caractéristiques------------------------------------------------------------------------#météo#conditins atmdes2 = base_caracter# irec(des2,atm)## Recodage de des2$atmdes2$atm <- as.character(des2$atm)des2$atm[des2$atm == "1"] <- "Normale"des2$atm[des2$atm == "2"] <- "Pluie légère"des2$atm[des2$atm == "3"] <- "Pluie forte"des2$atm[des2$atm == "8"] <- "Temps couvert"des2$atm[des2$atm == "9"] <- NAdes2$atm[des2$atm == "7"] <- "Temps éblouissant"des2$atm[des2$atm == "6"] <- "Vent fort - tempête"des2$atm[des2$atm == "4"] <- "Neige-grêle"des2$atm[des2$atm == "5"] <- "Brouillard-fumée"## Recodage de des$infrades2 = des2$atmdescribe(des2)des2 = as.data.table(des2)des = des2 %>%

filter(!is.na(des2)) %>%group_by(des2) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des2 = reorder(des2,Count)) %>%head(10)

treemap(des,index="des2",vSize = "Count",

86 Bureau d’étude 2017 - 2018

Page 88: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

title="",palette = "Blues",fontsize.title = 11

)

#heuredes3 = base_caracterdes3 = des3$hrmndes3 = floor(des3/100)des3[des3==0]=24des3=as.character(des3)des3 = as.data.table(des3)des3 %>%

filter(!is.na(des3)) %>%group_by(des3) %>%summarise(Count = n()) %>%arrange(desc(Count)) %>%ungroup() %>%mutate(des3 = reorder(des3,Count)) %>%head(24) %>%

ggplot(aes(x = des3,y = Count)) +geom_bar(stat='identity',colour="white", fill = "skyblue4") +geom_text(aes(x = des3, y = 1, label = paste0("(",Count,")",sep="")),

hjust=0, vjust=.5, size = 4, colour = 'black',fontface = 'bold') +

labs(x = 'Heures',y = 'Nombre') +

coord_flip()

#packageslibrary(ade4)library(lubridate)library(tidyverse)library(stringr)library(questionr)library(dplyr)library(data.table)library("corrplot")library(caret)library(h2o)library(funModeling)library(ggplot2)library(ggthemes)

------------------------------------------------------------------------#retrait des variables inutilesload("~/BE/files/Data_Final.RData")data$Num_Acc = NULLdata$vosp = NULLdata$nbv = NULLdata$Nom_commune = NULLdata$departmentName = NULL

87 Bureau d’étude 2017 - 2018

Page 89: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

data$regionName = NULLdata$Latitude = NULLdata$Longitude = NULLdata$num_veh = NULLdata$com = NULLdata$dep = NULLdata$POPULATION = NULLdata$SUPERFICIE = NULLdata$NB_indemne = NULLdata$NB_tue = NULLdata$NB_bles_hos = NULLdata$NB_bles_leg = NULLdata$taux_secu = NULLdata = data[data$age!="[0,10]",]data = data[data$age!="(100,110]",]data = data[data$age!="(110,120]",]

#modalité aberrantes#creation autre situationdata$situ = as.character(data$situ)data$situ[data$situ=="0"] = "6"data$situ = as.factor(data$situ)

#creation surf normale / surf mauvais étatdata$surf = as.character(data$surf)data$surf[data$surf=="0"] = "9"data$surf[data$surf!="1"] = "0"data$surf = as.factor(data$surf)data = na.omit(data)

#MODELES------------------------------------------------------------------------#valeur à prédiredata$grav <- as.character(data$grav)data$grav[data$grav == "1"] <- "Indemne"data$grav[data$grav == "2"] <- "victime"data$grav[data$grav == "3"] <- "victime"data$grav[data$grav == "4"] <- "victime"data$grav <- as.factor(data$grav)colnames(data)

colnames(data)[colnames(data)=="grav"] = "gravité"

#on voit que l'on a une base équilibréeggplot(data = training) +

geom_bar(mapping = aes(x = grav,fill = grav))+theme_wsj()

colnames(data)[colnames(data)=="gravité"] = "grav"

#préparation à la modélisation------------------------------------------------------------------------#rajout de l'année comme variable

88 Bureau d’étude 2017 - 2018

Page 90: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

#datanonorm icix = as.Date(data$moment_accident)x = substring(x,1,4)x = as.numeric(x)

data$moment_accident = NULL #plus besoin de cette variable

#normalisation des variables qualitativesdata1.1 = data[sapply(data, class) == "numeric"]for (i in 1:length(data1.1)) {

k = max(data1.1[, i])l = min(data1.1[, i])data1.1[, i] = (data1.1[, i] - l) / (k - l)

}data1.2 = data[sapply(data, class) == "factor"]

#creation de la nouvelle base normaliséedata = cbind(data1.1,data1.2)data$annee = x

#echantillonnage base de donnéestraining_base = data %>% #base 2005-2016

filter(annee<=2015)validating_base = data %>% #base de 2016

filter(annee==2016)

#plus besoin de l'agetraining_base$annee = NULLvalidating_base$annee = NULL

#reechantillonnage base d'apprentissage/testset.seed(1)in_train <- createDataPartition(training_base$grav, p = 0.80, list = FALSE)training <- training_base[in_train,]testing <- training_base[-in_train,]

#préparation à la programmation------------------------------------------------------------------------#H2OlocalH2O <- h2o.init(nthreads = -1)h2o.init()

#envoi des données dans le cluster h2Otrain = as.h2o(training)test = as.h2o(testing)pred = as.h2o(validating_base)

#sélection des variablescolnames(train)y.dep = 4x.dep = (1:29)[-4]

#mise en place des modèles

89 Bureau d’étude 2017 - 2018

Page 91: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

------------------------------------------------------------------------#mogèle glmregression.model <- h2o.glm( y = y.dep, x = x.dep, training_frame = train,validation_frame = test,

family = "binomial",seed = 1) #,nfolds = 5,fold_assignment = "Modulo",keep_cross_validation_predictions = T)

#extraction des résultats base de testmodel = h2o.performance(regression.model,valid=T)model

#base apprentissage/test#accuracyh2o.accuracy(model)[h2o.accuracy(model)$accuracy==max(h2o.accuracy(model)$accuracy),]

#score f1h2o.F1(model)[h2o.F1(model)$f1==max(h2o.F1(model)$f1),]

#recallh2o.recall(model)[h2o.recall(model)$tpr==max(h2o.recall(model)$tpr),]

#AUCh2o.auc(model)

#base validation#accuracyaccuracy = h2o.accuracy(h2o.performance(regression.model,newdata = pred))accuracy[accuracy$accuracy==max(accuracy$accuracy),]

#score f1F1 = h2o.F1(h2o.performance(regression.model, newdata = pred))F1[F1$f1==max(F1$f1),]

#recallh2o.recall(model)[h2o.recall(model)$tpr==max(h2o.recall(model)$tpr),]

#AUCh2o.auc(h2o.performance(regression.model, newdata = pred))

#graphesplot(model,timestep = "AUTO", metric = "AUTO")h2o.varimp_plot(regression.model,10)

#analyse ante/post accident#sélection des variablescolnames(train)y.dep = 4x.dep = (1:29)[c(-1,-2,-11,-13,-16,-18,-4)]

#nouveau modèleregression.model <- h2o.glm( y = y.dep, x = x.dep, training_frame = train,validation_frame = test, family = "binomial",seed = 1) #,nfolds = 5,fold_assignment = "Modulo",keep_cross_validation_predictions = T)

#extraction des résultats base de validationmodel = h2o.performance(regression.model,newdata = pred)model

90 Bureau d’étude 2017 - 2018

Page 92: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

#graphesmodel = h2o.performance(regression.model,valid=T)plot(model,timestep = "AUTO", metric = "AUTO")h2o.varimp_plot(regression.model,10)

# random forest------------------------------------------------------------------------colnames(train)y.dep = 4x.dep = (1:29)[-4]

rforest.model <- h2o.randomForest(y=y.dep, x=x.dep, training_frame = train,validation_frame = test,seed=1) #,nfolds = 5,fold_assignment = "Modulo",keep_cross_validation_predictions = T)rforest.model

#extraction des résultats base de testmodel = h2o.performance(rforest.model,valid=T)model

#base apprentissage/test#accuracyh2o.accuracy(model)[h2o.accuracy(model)$accuracy==max(h2o.accuracy(model)$accuracy),]

#score f1h2o.F1(model)[h2o.F1(model)$f1==max(h2o.F1(model)$f1),]

#recallh2o.recall(model)[h2o.recall(model)$tpr==max(h2o.recall(model)$tpr),]

#AUCh2o.auc(model)

#base validation#accuracyaccuracy = h2o.accuracy(h2o.performance(rforest.model,newdata = pred))accuracy[accuracy$accuracy==max(accuracy$accuracy),]

#score f1F1 = h2o.F1(h2o.performance(rforest.model, newdata = pred))F1[F1$f1==max(F1$f1),]

#recallh2o.recall(model)[h2o.recall(model)$tpr==max(h2o.recall(model)$tpr),]

#AUCh2o.auc(h2o.performance(rforest.model, newdata = pred))

#graphesplot(model,timestep = "AUTO", metric = "AUTO")h2o.varimp_plot(rforest.model,10)

#analyse ante/post accident#sélection des variables

91 Bureau d’étude 2017 - 2018

Page 93: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

colnames(train)y.dep = 4x.dep = (1:29)[c(-1,-2,-11,-13,-16,-18,-4)]

#nouveau modèlerforest.model <- h2o.randomForest(y=y.dep, x=x.dep, training_frame = train,validation_frame = test,seed=1) #,nfolds = 5,fold_assignment = "Modulo",keep_cross_validation_predictions = T)

#extraction des résultats base de validationmodel = h2o.performance(rforest.model,newdata = pred)model

#graphesmodel = h2o.performance(rforest.model,valid=T)plot(model,timestep = "AUTO", metric = "AUTO")h2o.varimp_plot(rforest.model,10)

# gbm------------------------------------------------------------------------#sélection des variablescolnames(train)y.dep = 4x.dep = (1:29)[-4]

#mogèle glmgbm.model = h2o.gbm(y=y.dep, x=x.dep, training_frame = train,validation_frame = test,distribution = "bernoulli",seed = 1) #,nfolds = 5,fold_assignment = "Modulo",keep_cross_validation_predictions = T)gbm.model

#extraction des résultats base de testmodel = h2o.performance(gbm.model,valid=T)model

#base apprentissage/test#accuracyh2o.accuracy(model)[h2o.accuracy(model)$accuracy==max(h2o.accuracy(model)$accuracy),]

#score f1h2o.F1(model)[h2o.F1(model)$f1==max(h2o.F1(model)$f1),]

#recallh2o.recall(model)[h2o.recall(model)$tpr==max(h2o.recall(model)$tpr),]

#AUCh2o.auc(model)

#base validation#accuracyaccuracy = h2o.accuracy(h2o.performance(gbm.model,newdata = pred))accuracy[accuracy$accuracy==max(accuracy$accuracy),]

#score f1F1 = h2o.F1(h2o.performance(gbm.model, newdata = pred))F1[F1$f1==max(F1$f1),]

92 Bureau d’étude 2017 - 2018

Page 94: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

#recallh2o.recall(model)[h2o.recall(model)$tpr==max(h2o.recall(model)$tpr),]

#AUCh2o.auc(h2o.performance(gbm.model, newdata = pred))

#graphesplot(model,timestep = "AUTO", metric = "AUTO")h2o.varimp_plot(gbm.model,10)

#analyse ante/post accident#sélection des variablescolnames(train)y.dep = 4x.dep = (1:29)[c(-1,-2,-11,-13,-16,-18,-4)]

#nouveau modèlegbm.model <- h2o.gbm(y=y.dep, x=x.dep, training_frame = train,validation_frame = test,distribution = "bernoulli",seed = 1) #,nfolds = 5,fold_assignment = "Modulo",keep_cross_validation_predictions = T)

#extraction des résultats base de validationmodel = h2o.performance(gbm.model,newdata = pred)model

#graphesmodel = h2o.performance(gbm.model,valid=T)plot(model,timestep = "AUTO", metric = "AUTO")h2o.varimp_plot(gbm.model,10)

# tendorflow------------------------------------------------------------------------library(keras)library(reticulate)library(tensorflow)library(lime)library(tidyquant)library(rsample)library(recipes)library(yardstick)library(corrr)library(stringi)use_condaenv("r-tensorflow",required=T)

#données#verification des donnéestraining$grav = as.character(training$grav)training$grav[training$grav=="victime"]="1"training$grav[training$grav=="Indemne"]="0"training <- training %>%

select(grav, everything())glimpse(training)testing$grav = as.character(testing$grav)testing$grav[testing$grav=="victime"]="1"testing$grav[testing$grav=="Indemne"]="0"

93 Bureau d’étude 2017 - 2018

Page 95: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

testing <- testing %>%select(grav, everything())

glimpse(testing)validating_base$grav = as.character(validating_base$grav)validating_base$grav[validating_base$grav=="victime"]="1"validating_base$grav[validating_base$grav=="Indemne"]="0"validating_base <- validating_base %>%

select(grav, everything())glimpse(validating_base)

#decoupage de la base en base apprentissage/test/validation# #decoupage de la base en base apprentissage/test/validationtrain_tbl <- trainingtest_tbl <- testingvalidating_tbl <- validating_base

#retraitement de la base de donnéerec_obj <- recipe(grav ~ ., data = train_tbl) %>%

step_dummy(all_nominal(), -all_outcomes()) %>% ## step 1 dummy trainingstep_center(all_predictors(), -all_outcomes()) %>% ## step 2 center trainingstep_scale(all_predictors(), -all_outcomes()) %>% ## step 3 scale trainingprep(data = train_tbl)

#variables explicatives#Predictorsx_train_tbl <- bake(rec_obj, newdata = train_tbl)x_test_tbl <- bake(rec_obj, newdata = test_tbl)x_validating_tbl <- bake(rec_obj, newdata = validating_tbl)x_train_tbl$grav = NULL;x_test_tbl$grav = NULL;x_validating_tbl$grav=NULLx_train_tbl$age_X.100.110. = NULL;x_train_tbl$age_X.110.120. = NULLx_test_tbl$age_X.100.110. = NULL;x_test_tbl$age_X.110.120. = NULLx_validating_tbl$age_X.100.110. = NULL;x_validating_tbl$age_X.110.120. = NULLglimpse(x_train_tbl);glimpse(x_test_tbl)

# Response variables for training and testing setsy_train_vec <- ifelse(pull(train_tbl, grav) == "1", 1, 0)y_test_vec <- ifelse(pull(test_tbl, grav) == "1", 1, 0)y_validating_vec <- ifelse(pull(validating_tbl, grav) == "1", 1, 0)

#enlever les ages#construction du reseau neuronalmodel_keras <- keras_model_sequential()model_keras %>%

# première couche cachéelayer_dense(

units = 16,kernel_initializer = "uniform",activation = "relu",input_shape = ncol(x_train_tbl)) %>%

# couche Dropout pour éviter de surapprentissagelayer_dropout(rate = 0.1) %>%# deuxième couche cachéelayer_dense(

94 Bureau d’étude 2017 - 2018

Page 96: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

units = 16,kernel_initializer = "uniform",activation = "tanh") %>%

# couche Dropout pour éviter de surapprentissagelayer_dropout(rate = 0.1) %>%# couche de sortie

layer_dense(units = 1,kernel_initializer = "uniform",activation = "sigmoid") %>%

#we# Compile ANNcompile(

optimizer = 'adam',loss = 'binary_crossentropy',metrics = c('accuracy')

)model_keras

#calibration du modelecheckpoint <- callback_model_checkpoint(

filepath = "model.hdf5",save_best_only = TRUE,period = 1,verbose = 1

)

early_stopping <- callback_early_stopping(patience = 11)

# Fit the keras model to the training datafit_keras <- fit(

object = model_keras,x = as.matrix(x_train_tbl),y = y_train_vec,batch_size = 5000,epochs = 40,validation_split = 0.30,callbacks = list(checkpoint, early_stopping),verbose = getOption("keras.fit_verbose", default = 1)

)

# Print the final modelfit_keras

# Plot the training/validation history of our Keras modelplot(fit_keras) +

theme_tq() +scale_color_tq() +scale_fill_tq()

# Predicted Classyhat_keras_class_vec_train <- predict_classes(object = model_keras, x = as.matrix(x_train_tbl)) %>%

as.vector()yhat_keras_class_vec_test <- predict_classes(object = model_keras, x = as.matrix(x_test_tbl)) %>%

95 Bureau d’étude 2017 - 2018

Page 97: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

as.vector()yhat_keras_class_vec_validating <- predict_classes(object = model_keras, x = as.matrix(x_validating_tbl)) %>%

as.vector()

# Predicted Class Probabilityyhat_keras_prob_vec_train <- predict_proba(object = model_keras, x = as.matrix(x_train_tbl)) %>%

as.vector()yhat_keras_prob_vec_test <- predict_proba(object = model_keras, x = as.matrix(x_test_tbl)) %>%

as.vector()yhat_keras_prob_vec_validating <- predict_proba(object = model_keras, x = as.matrix(x_validating_tbl)) %>%

as.vector()

# Format test data and predictions for yardstick metrics#appestimates_keras_tbl_train <- tibble(

observation = as.factor(y_train_vec) %>% fct_recode(victime = "1", Indemne = "0"),estimate = as.factor(yhat_keras_class_vec_train) %>% fct_recode(victime = "1", Indemne = "0"),class_prob = yhat_keras_prob_vec_train

)

#testestimates_keras_tbl_test <- tibble(

observation = as.factor(y_test_vec) %>% fct_recode(victime = "1", Indemne = "0"),estimate = as.factor(yhat_keras_class_vec_test) %>% fct_recode(victime = "1", Indemne = "0"),class_prob = yhat_keras_prob_vec_test

)

#validestimates_keras_tbl_validating <- tibble(

observation = as.factor(y_validating_vec) %>% fct_recode(victime = "1", Indemne = "0"),estimate = as.factor(yhat_keras_class_vec_validating) %>% fct_recode(victime = "1", Indemne = "0"),class_prob = yhat_keras_prob_vec_validating

)

options(yardstick.event_first = FALSE)

#confusion tableconfusion_train = estimates_keras_tbl_train %>% conf_mat(observation, estimate)summary(confusion_train, wide = TRUE)confusion_test = estimates_keras_tbl_test %>% conf_mat(observation, estimate)summary(confusion_test, wide = TRUE)confusion_validating = estimates_keras_tbl_validating %>% conf_mat(observation, estimate)summary(confusion_validating, wide = TRUE)#estimates_keras_tbl_train %>% roc_auc(observation, class_prob)estimates_keras_tbl_train %>% f_meas(observation, estimate, beta = 1,na.rm=T)estimates_keras_tbl_test %>% roc_auc(observation, class_prob)estimates_keras_tbl_test %>% f_meas(observation, estimate, beta = 1,na.rm=T)estimates_keras_tbl_validating %>% roc_auc(observation, class_prob)estimates_keras_tbl_validating %>% f_meas(observation, estimate, beta = 1,na.rm=T)

# estimates_keras_tbl_validating %>% metrics(observation, estimate)

96 Bureau d’étude 2017 - 2018

Page 98: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

#analyse post accident------------------------------------------------------------------------#sélection des données avant accident uniquementtraining = select(training,c(-NB_pers,-Nb_veh,-choc,-obstacle,-int,-col))testing = select(testing,c(-NB_pers,-Nb_veh,-choc,-obstacle,-int,-col))validating_base = select(validating_base,c(-NB_pers,-Nb_veh,-choc,-obstacle,-int,-col))# à partir de là on refait le travail effectué plus haut

# interpretation des modèles------------------------------------------------------------------------#sous h2O#catvtraining_base$catv = as.character(training_base$catv)

# irec(training_base,catv)## Recodage de training_base$catvtraining_base$catv[training_base$catv == "2"] <- "véhicule léger"training_base$catv[training_base$catv == "1"] <- "deux roues"training_base$catv[training_base$catv == "4"] <- "autre véhicule"training_base$catv[training_base$catv == "3"] <- "véhicule utilitaire"cross_plot(training_base, input="catv", target="grav")

#nb_persplotar(data=training_base, input=c('NB_pers'),target="grav", plot_type = "boxplot")

#obstacle# irec(training_base,obstacle)## Recodage de training_base$obstacletraining_base$obstacle <- as.character(training_base$obstacle)training_base$obstacle[training_base$obstacle == "0"] <- "autre obstacle"training_base$obstacle[training_base$obstacle == "1"] <- "piéton"training_base$obstacle[training_base$obstacle == "2"] <- "véhicule"training_base$obstacle[training_base$obstacle == "3"] <- "animal"training_base$obstacle[training_base$obstacle == "4"] <- "obstacle fixe seul"training_base$obstacle[training_base$obstacle == "5"] <- "obstacle fixe + mobile"training_base$obstacle[training_base$obstacle == "9"] <- "autre obstacle"cross_plot(training_base, input="obstacle", target="grav")

#agg# irec(training_base,agg)## Recodage de training_base$aggtraining_base$agg <- as.character(training_base$agg)training_base$agg[training_base$agg == "1"] <- "Hors agglomération"training_base$agg[training_base$agg == "2"] <- "En agglomération"cross_plot(training_base, input="agg", target="grav")

#manvplotar(data=training_base, input="manv", target="grav", plot_type = "histdens")

# irec(training_base,manv)training_base$manv <- as.character(training_base$manv)training_base$manv[training_base$manv == "1"] <- "même sens, même file"training_base$manv[training_base$manv == "2"] <- "en tournant"

97 Bureau d’étude 2017 - 2018

Page 99: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

training_base$manv[training_base$manv == "3"] <- "en dépassant"training_base$manv[training_base$manv == "4"] <- "déporté"training_base$manv[training_base$manv == "5"] <- "autres"cross_plot(training_base, input="manv", target="grav")

#coltraining_base$col <- as.character(training_base$col)training_base$col[training_base$col == "1"] <- "frontale"training_base$col[training_base$col == "2"] <- "autre collision"training_base$col[training_base$col == "3"] <- "sans collision"cross_plot(training_base, input="col", target="grav")

#densiteplotar(data=training_base, input="densite", target="grav", plot_type = "boxplot")cross_plot(training_base, input="densite", target="grav",auto_binning = T)

#moiscross_plot(training_base, input="mois", target="grav")

#agetraining_base$age = as.character(training_base$age)training_base$age[training_base$age=="(10,20]"] = "(18,20]"cross_plot(training_base, input="age", target="grav")

#plan# irec(training_base,plan)## Recodage de training_base$plantraining_base$plan <- as.character(training_base$plan)training_base$plan[training_base$plan == "0"] <- "Non connue"training_base$plan[training_base$plan == "1"] <- "partie rectiligne"training_base$plan[training_base$plan == "2"] <- "en courbe à gauche"training_base$plan[training_base$plan == "3"] <- "en courbe à droite"training_base$plan[training_base$plan == "4"] <- "en S"cross_plot(training_base, input="plan", target="grav")

#heurecross_plot(training_base, input="heure", target="grav")

#explication du modele avec limeclass(model_keras)

# préparation à lime::model_type() function for kerasmodel_type.keras.models.Sequential <- function(x, ...) {

return("classification")}

# Setup lime::predict_model() function for keraspredict_model.keras.models.Sequential <- function(x, newdata, type, ...) {

pred <- predict_proba(object = x, x = as.matrix(newdata))return(data.frame(victime = pred, Indemne = 1 - pred))

}

# Test our predict_model() function

98 Bureau d’étude 2017 - 2018

Page 100: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

predict_model(x = model_keras,newdata = x_validating_tbl, type = 'raw') %>%tibble::as_tibble()

# Run lime() on training setexplainer <- lime::lime(

x = x_validating_tbl,model = model_keras,bin_continuous = FALSE)

# Run explain() on explainerexplanation <- lime::explain(

x_validating_tbl[1:10,],explainer = explainer,n_labels = 1,n_features = 6,kernel_width = 0.5)

#importance visualisationplot_features(explanation) +

labs(title = "LIME Feature Importance Visualization",subtitle = "Hold Out (Test) Set, First 10 Cases Shown")

99 Bureau d’étude 2017 - 2018

Page 101: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

BIBLIOGRAPHIE

Bibliographie

[1] Documentation sur les OPEN DATA :

L., B. (2017) Open Data définition : Qu’est-ce que c’est? À quoi ça sert?, Disponible sur : https://www.lebigdata.fr/open-data-definition

CartoClic (2011) Mutualisation des applications développées dans le cadre de l’OpenData, Ca-talogue des Applications OpenData, Disponible sur : https://openappstore.wordpress.com

HAAS Avocats (2017) PRGPD / GDPR : Règlement général sur la protection des données, Dispo-nible sur : https://www.haas-avocats.com/nos-competences/avocat-rgpd

Scala Dream Team (2015) L’exploitation des données, Le blog, Disponible sur : https://www.groupe-scala.com/theme/exploitation-donnees/

Tranié, J. (2018) Facebook, partie open data - Cambridge Analytica : un scandale en quatretemps, Disponible sur : https://www.la-croix.com/Sciences-et-ethique/Numerique/Facebook-Cambridge-Analytica-scandale-quatre-temps-2018-03-30-1200928123

[2] Documentation sur la SINISTRALITÉ AUTOMOBILE :

Association Prévention Routière (2016) Statistiques d’accidents, Disponible sur : https://www.preventionroutiere.asso.fr/categorie/je-minforme/

Fédération Française de l’Assurance (2016) L’assurance automobile des particuliers en 2015, Dis-ponible sur : https://www.ffa-assurance.fr/

Naudot, E. (2017) Statistiques des accidents de la route, Fiches-auto.fr, Disponible sur : http://www.fiches-auto.fr/essais-tests/

Accident de la route en France, Wikipédia Disponible https://fr.wikipedia.org/wiki/Accident_de_la_route_en_France

[3] Documentation sur les TENSORFLOW et KERAS :

Keras (2017) Keras : The Python Deep Learning library, Disponible sur : https://keras.io/

TensorFlow, Site Officiel, Disponible sur : https://www.tensorflow.org/

[4] Documentation sur les MÉTRIQUES :

Joshi, R. (2016) Accuracy, Precision, Recall & F1 Score : Interpretation ofPerformance Measures, Disponible sur : http://blog.exsilio.com/all/accuracy-precision-recall-f1-score-interpretation-of-performance-measures/

[5] Documentation sur le MODÈLE GLM :

Aillot, P. (2017) Le modèle GLM, Cours sur les modèles linéaires

Université de Toulouse (2016) Introduction au modèle linéaire général, Wiki Stat, Disponiblesur : https://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/st-m-modlin-mlg.pdf

100 Bureau d’étude 2017 - 2018

Page 102: Étudedelasinistralitéautomobilepardes ...Open Data Les Open Data ou données ouvertes, sont des données rendues totalement publiques et libres d’accès et de droit, pouvant être

BIBLIOGRAPHIE

[6] Documentation sur les FORÊTS ALÉATOIRES :

Vaudor, L. (2015) Classification par forêts aléatoires, R-atique, Disponible sur : http://perso.ens-lyon.fr/lise.vaudor/classification-par-forets-aleatoires/

Forêt d’arbres décisionnels, Wikipédia, Disponible sur : https://fr.wikipedia.org/wiki/For%C3%AAt_d%27arbres_d%C3%A9cisionnels

[7] Documentation sur le MODÈLE GRADIENT BOOSTING :

RAKOTOMALALA, R. (2016) Gradient Boosting : Technique ensembliste pour l’analyse prédictive- Introduction explicite d’une fonction de coût, Disponible sur : http://eric.univ-lyon2.fr/~ricco/cours/slides/gradient_boosting.pdf

[8] Documentation sur les RÉSEAUX DE NEURONES :

Université de Toulouse (2016) Réseaux de neurones, Wiki Stat, Disponible sur : https://www.math.univ-toulouse.fr/~besse/Wikistat/pdf/st-m-app-rn.pdf

Vermet, F. (2017), Cours sur l’Apprentissage statistique

101 Bureau d’étude 2017 - 2018