I-12 : Data Mining, analyse de données symboliques PREVENTION
Transcription
I-12 : Data Mining, analyse de données symboliques PREVENTION
PAYEN Etienne M2 Informatique décisionnelle Session 2005-2006 I-12 : Data Mining, analyse de données symboliques PREVENTION DES RISQUES NATURELS Mr Edwin DIDAY INTRODUCTION Le data mining consiste à extraire et à analyser, par des méthodes statistiques, un large volume de données puisées dans le data warehouse de l'entreprise, en vue de découvrir des tendances ou des règles. Cette exploration de données fait partie de l’informatique décisionnelle, un domaine récent qui utilise les systèmes d’information dans le but de faciliter la prise de décision, c'est-à-dire la compréhension du fonctionnement actuel et l'anticipation des actions pour un pilotage éclairé de l'entreprise. Les outils de data mining proposent différentes techniques à choisir en fonction de la nature des données et du type d'étude que l'on souhaite entreprendre : classification, segmentation, arbres de décision, réseaux de neurones… Le but de ce projet est de mettre en place ces différentes techniques dans un cas concret de prévention des risques naturels à l’aide des logiciels Sodas et SAS. Nous reviendrons pour cela sur les notions de base du Data Mining ainsi que sur une description précise de l’utilisation des logiciels. Le problème général consistera à tirer du mieux possible des conclusions sur la base d’information fournie par la direction de la prévention des pollutions et des risques. SOMMAIRE PARTIE I : Les données sources I.1 Provenance des données I.2 Description des données I.3 Objectifs et choix des variables PAGE 03 PAGE 03 PAGE 04 PARTIE II : Utilisation du logiciel SODAS II.1 Présentation du logiciel II.2 Extraction des données II.3 Modification des données extraites II.4 La méthode SOE II.5 La méthode STAT II.6 La méthode DIV II.7 La méthode TREE II.8 La méthode PYR PAGE 05 PAGE 06 PAGE 07 PAGE 10 PAGE 11 PAGE 13 PAGE 14 PAGE 16 PARTIE III : Utilisation du logiciel SAS III.1 Présentation du logiciel III.2 ACM et classification PAGE 17 PAGE 18 PARTIE I : LES DONNEES SOURCES Tout au long de ce rapport nous effectuerons des analyses sur une base de données type suffisamment détaillées et remplie quant à l’application de différentes méthodes des deux logiciels utilisés. I.1 Provenance des données Prim.net ouvre un nouvel espace dont le but est de promouvoir la culture de la prévention des risques naturels et technologiques et de souligner la relation étroite qui existe entre l'Homme et son milieu, dans la perspective d'un développement durable. Le ministère espère à travers ce site Internet sensibiliser la population à l’écologie en lui exposant les différents risques naturels existants, comment les prévoir et y faire face. Pour cela, Prim.net fournis gratuitement une base de données intitulée GASPAR (Gestion Assistée des Procédures Administratives relatives aux Risques naturels). Elle est l’épine dorsale du système d’informations de la direction et réunie des informations sur les documents préventifs ou à portée réglementaire. Le site Internet : La base Gaspar : Gouvernement : http://www.prim.net/ http://www.prim.net/professionnel/procedures_regl/avancement.html http://www.ecologie.gouv.fr/sommaire.php3 I.2 Description des données La base Gaspar étant de taille importante, un premier tri sur les informations a été effectué de façon à ne garder que neuf tables de données utiles à notre analyse. De manière générale, une table centrale référence les différents programmes en cours sur les communes françaises. Chacun de ces plans de prévention est associé à un bassin d’une commune qui présente un risque nommé ; il possède un label d’action le définissant ainsi qu’un enjeu humain échelonné de 1 à 3. Les informations supplémentaires, que nous n’utiliserons pas, fournies par la base Gaspar correspondent aux dates des mouvements préventifs, un Atlas des zones inondables, et enfin les arrêtés de catastrophes naturelles : Visualisation : http://www.prim.net/professionnel/procedures_regl/export_gaspar/default.htm Schéma relationnel de la base de données Access résultantes : COD_NAT_PPR : COD_COMMUNE : LIB_COMMUNE : TOT_POPULATION : COD_DEPARTEMENT : LIB_DEPARTEMENT : COD_REGION : LIB_REGION : DAT_PRESCRIPTION : DATE_APPROBATION : DAT_MISE_A_ENQUETE : NUM_RISQUE : COD_RISQUE : LIB_RISQUE : LIB_RISQUE_LONG : COD_PPR : LIB_PPR : LIB_BASSIN_RISQUE : NIV_ENJEU : numéro du plan de prévention indice de la commune nom de la commune nombre d’habitant de la commune numéro de département nom du département indice de la région nom de la région date de prescription date d’approbation date de mise en enquête indice du risque encouru code du risque encouru nom du risque encouru description du risque indice du plan de prévention nom du plan de prévention bassin de la commune à risque niveau de l’enjeu I.3 Objectifs et choix des variables Lors de ce type d’analyse, on distingue les individus de premier ordre et les individus du second ordre. Les individus du premier ordre sont des entités à part entière et constituent les sources de l’analyse. Dans notre cas, ce sont les PPR caractérisés par les variables détaillées précédemment. Ils sont au nombre de 131 995. Les variables sont respectivement le lieu et le risque de type nominal, l’enjeu humain de type quantitatif. Les individus du second ordre sont les concepts, c’est à dire des ensembles d’individus du premier ordre qui satisfont une intention et une extension communes qui définissent le groupe. Ici, les concepts seront les types de risque caractérisés par leur libellé. Il en existe quatre au total : Avalanche : masse de neige qui dévale les flans d’une montagne à grande vitesse Eruption volcanique : émission violente de lave, gaz et pierres hors d’un volcan Feu de forets : incendie déclenché par combustion au sein d’un espace boisé Inondation : débordement des eaux recouvrant une partie d’un territoire Mouvement de terrain : ensemble des accidents du sol Séisme : tremblement de terre Tassement différentiel : affaissement de terrain par éboulement Nous tenterons par la suite d’analyser les conditions et propriétés communes des différents types de plan de prévention aux risques naturels prévisibles mis en place par le ministère de l’environnement. PARTIE II : UTILISATION DU LOGICIEL SODAS Le logiciel SODAS permet, a travers une interface graphique, d’exécuter un ensemble de méthodes statistiques sur une base de données importées et structurées d’une façon que l’on explicitera par la suite. II.1 Présentation du logiciel SODAS signifie « Symbolic Official Data Analysis System » ; il s'agit d'un logiciel prototype public, issu du projet de EUROSTAT , apte a analyser des données symboliques. Pour cela son utilisation est composée principalement de trois étapes. ▫ Préparation des données sources Dans une base de données sources, de type Access dans ce rapport, il faut définir les individus de premier et second ordre qui seront les objets d’analyses. On fait pour cela appel à des requêtes préalables sur le logiciel utilisé qui permettent de mettre en forme les données. ▫ Importation des données préparées Le support de données créé est ensuite importer sur le logiciel Sodas grâce à une interface DB2SO. ▫ Analyse des données importées Une fois le tableau de données symboliques crée, le logiciel permet d’y appliquer des méthodes via une interface graphique simple d’utilisation. Ces différentes étapes seront clairement explicitées par la suite avec des captures d’écran correspondantes à l’analyse des plans de prévision des risques. II.2 Extraction des données Rappelons que nous avons choisi de considérer lors de notre analyse les individus PPR nommés « COD_NAT_PPR » et pour concepts les types de risque qui correspondantes à l’attribut « LIB_RISQUE ». Les variables explicatives ont été détaillées lors du choix des objectifs de l’étude. La sélection de ces valeurs correspond à la requête SQL suivante : SELECT DISTINCT FROM WHERE AND AND AND AND GROUP BY Progammes_commune.COD_NAT_PPR, FIRST(Risques.LIB_RISQUE) AS PremierLIB_RISQUE, FIRST(Commune.COD_COMMUNE) AS PremierCOD_COMMUNE, FIRST(Risque_commune.NIV_ENJEU) AS PremierNIV_ENJEU, FIRST(Programmes.LIB_PPR) AS PremierLIB_PPR, Progammes_commune, Risques, Commune, Risque_commune, Programmes Progammes_commune.CODE_PPR = Programmes.CODE_PPR Progammes_commune.COD_COMMUNE = Commune.COD_COMMUNE Progammes_commune.NUM_RISQUE = Risques.NUM_RISQUE Progammes_commune.COD_COMMUNE = Risque_commune.COD_COMMUNE Progammes_commune.NUM_RISQUE = Risque_commune.NUM_RISQUE Progammes_commune.COD_NAT_PPR; La base de données sources contenant des doublons au niveau des références des plans de prévention, ceux si sont regroupés dans la requête et leur première apparition est conservées. Cette requête s’intitule « RequeteConcepts » et génère 16 924 enregistrements. Ces données sont importées sur Sodas via l’interface DB2SO : - création d’un nouveau fichier création d’une connexion ODBC vers la base Access sélection requête d’importation Sur la fenêtre un message de validation donne le contenu de la base : II.3 Modification des données extraites Le logiciel propose de modifier sa base de données de travail grâce à trois fonctions principales que nous allons utiliser pour renforcer les données du lieu des plans de prévention existants. ▫ Pour ajouter des variables à valeur unique, on utilise l’opération « AddSingle » On complète les informations de lieu pour chaque type de risque en ajoutant le nombre moyen d’habitant des communes concernées par les plan de prévention. On obtient ainsi un nombre moyen de personnes menacées par chacun des risques si on les considère à l’échelle de la ville. On sélectionne la requête dans la base de données sources : On insère ensuite la requête dans la table de données SODAS via le menu « Modify/Add single-valued variables… » de l’interface DB2S0. ▫ Pour ajouter des variables multi-valuées, on utilise l’opération « Set-valued multiple variable » On souhaite, pour les risques liés à l’eau, donner une indication sur les bassins concernés, c’est a dire les zones drainées communes aux villes menacées. La requête de sélection sur la base de données source fournit respectivement pour chaque type de risque, les modalités de l’attribut et leur cardinalité. On insère ensuite la requête dans la table de données SODAS via le menu « Modify/One set-valued multiple variables… » de l’interface DB2S0. ▫ Pour insérer une hiérarchie de variables on utilise l’opération « Taxonomie » Une requête SQL sur la base de données source permet de sélectionner les différents niveaux qui concernent le lieu, ainsi que leur lien : une commune identifié ici par un indicateur unique appartient à un département qui lui appartient à une région. Ne nous ne pouvons pas utilisé le label de la commune car plusieurs communes de régions différentes ont le même nom et rendent ainsi la taxonomie impossible. On insère ensuite la requête dans la table de données SODAS via le menu « Modify/Create a taxonomy… » de l’interface DB2S0. On obtient la taxonomie suivante, visualisable via le menu « View/Taxonomies… » : On enregistre enfin la table de données obtenues dans un format SDS que l’on pourra désormais ouvrir sur le logiciel SODAS; la table ainsi importée sera le support de notre analyse. II.4 La méthode SOE La méthode SOE permet de visualiser sous la forme simple d’étoiles zoom l’ensemble des valeurs des objets symbolique pour un ou plusieurs concepts sélectionnés. Nous allons utiliser cette fonction pour avoir un aperçu des valeurs prises par les variables d’origine pour les types de risques principaux. Remarquons que la méthode autorise le changement de nom des variables pour un affichage plus clair sur les axes des graphiques choisis à deux ou trois dimensions. Apres lancement de la chaîne, on regarde les étoiles intéressantes obtenues. Zoom étoile 2D Avalanche : On peut voir que les avalanches ont un niveau d’enjeu humain variable; dans la plus part des cas, une décision de type prévention est optée. D’autres interventions pour ce type d’évènement ont eu suite à l’arrêté 111-3 du code de l’urbanisme qui impose depuis 1959 une zone de sécurité autour de territoires à risque habités. Zoom étoile 3D Séisme : Ce graphique montre que les séismes ne concernent que certaines communes du pays, plus précisément les zones qui se trouvent aux points de rencontre des plaques tectoniques. Tous les cas sont de niveau 3, c’est a dire que tout risque de tremblement de terre menace la vie des habitants ; une action de type prévention est optée pour tous les cas. Cela s’explique du fait qu’un tremblement de terre est l'une des catastrophes naturelles parmi les plus dangereuses. A la différence d'un cyclone ou d'une éruption volcanique, un séisme frappe en quelques secondes ne donnant aucune chance de fuir. II.5 La méthode STAT Cette méthode permet d’appliquer différentes méthodes selon le type de la variable sélectionnée. On proposer d’utiliser cette fonction dans le but d’avoir une représentation des capacités probabilistes des différents programmes sur un échantillon de 1000 individus « plan de prévention » par type de risque. On obtient deux résultats en sortie : un listing et un graphique Lors de l’étude avec SOE, nous avions remarqué que dans la plus part des cas, un plan de prévention PPR était appliqué ; on peut affirmer maintenant qu’un PPR est présent dans les trois quarts des cas puisque sa probabilité moyenne est au dessus de une chance sur quatre. De plus, pour chaque cas, il y a plus d’une chance sur deux de faire appel à ce programme de prévention. Les PER et ARC peuvent éventuellement mis en placent avec une probabilité plutôt faible… On peut donc remarquer que le cas Avalanche vu précédemment est un des rares risques qui fait appel à l’article du code de l’urbanisme. En ce qui concerne le PSS, sa chance d’être appliquée est quasiment inexistante. Remarquons que les PSS, c’est à dire les Plans de Secours Spécialisés, ne sont entrepris que face aux risques technologiques qui n'ont pas fait l'objet d'un plan particulier d'intervention ou aux risques liés à un accident ou à un sinistre de nature à porter atteinte à la vie ou à l'intégrité des personnes, aux biens ou à l'environnement. II.6 La méthode DIV La méthode DIV permet de diviser successivement une classe initiale qui contient tous les objets symboliques. Pour cela il faut paramétrer la fonction avec rigueur : - des variables de classification à domaine ordonné continu ou discret la dissimilarité éventuellement normalisée entre deux objets le nombre de classes pour la dernière partition On utilise cette méthode de façon a remarquer les types de risques encourus par les communes selon leur nombre d’habitant. On souhaite mettre en évidence trois niveau qui, selon la population, auront une menace principale de deux types d’accident naturel. Contenu du fichier en sortie : ------------------------------------------------------BASE=c:\progra~1\Sodas\Tmp\EG9JHO01.CMD nind=7 nvar=4 nvarsel=2 METHOD=DIVISIVE CLUSTERING ------------------------------------------------------VARIANCE OF THE SELECTED VARIABLES : -----------------------------------Enjeu : 0.897959 MoyenneDeTOT_POPULATION : 11109321.119855 PARTITION IN 3 CLUSTERS : -------------------------: Cluster 1 (n=3) : "Inondation" "Avalanche" "Tassements différentiels" Cluster 2 (n=2) : "Feu de forêts" "Eruption volcanique" Cluster 3 (n=2) : "Mouvement de terrain" "Séisme" Explicated inertia : 93.336801 THE CLUSTERING TREE : --------------------- the number noted at each node indicates the order of the divisions - Ng <-> yes and Nd <-> no +---- Classe 1 (Ng=3) ! !----2- [MoyenneDeTOT_POPULATION <= 4648.630005] ! ! ! +---- Classe 3 (Nd=2) ! !----1- [MoyenneDeTOT_POPULATION <= 8126.564941] ! +---- Classe 2 (Nd=2) Si on considère trois catégories de commune, « grande » si la population dépasse 8126 habitants, « moyenne » si la population est entre 4648 et 8126 habitants, et « petite » sinon, on remarque alors que les risques feux de forêt et les éruptions volcaniques menacent majoritairement les grandes villes, les risques de mouvement de terrain et de séisme les villes de taille moyennes, et enfin les risques d’inondation, d’avalanche, et de tassement les petites villes. Ces résultats peuvent s’expliquer en remarquant que plus un type d’accident est rare et prévisible, moins le risque d’habitation sur la zone est important. Pour ces raisons il n’est pas surprenant d’avoir les grandes villes principalement menacée par des feux de foret et éruption volcanique. De plus, on peut remarquer que certains types d’accidents liés se retrouve logiquement dans la même partition. En effet, les villages de montagne peu habités sont menacés principalement par les avalanches au milieu de l’hiver et par des inondations lors de la fonte des neiges. II.7 La méthode TREE La méthode TREE est aussi une procédure de partitionnements successifs, avec à chaque étape sélection du meilleur selon une variable passée en paramètre. On utilise cette méthode dans le but de préciser les résultats précédents en créant une partition selon le niveau d’enjeu humain. Il nous faut pour cela ajouter à la table la données avec une méthode AddSingle qui donne pour chaque type de risque le libellé du niveau moyen de risque. On sélectionne les programmes comme variable de prédiction. On étudie ainsi les prises de décision au niveau des plans mis en place selon l’importance des risques des accidents naturels. La méthode donne en sortie un fichier texte composé d’élément intéressant à étudier : quantité dans les nœuds, taux d’erreur et arbre de décision. ======================================================== | | N(k/t) | N(k) | P(k/t) | P(t/k) | ======================================================== | Mortel | 3.00 | 3.00 | 42.86 | 100.00 | | Anodin | 4.00 | 4.00 | 57.14 | 100.00 | ======================================================== Trois des types de risques sont considérés dans la plus part des cas comme mortel, les autres sont considérés comme anodin ; on remarque donc que sauf cas exceptionnel, un accident n’est pas considéré comme dangereux sans être mortel. On peut aussi voir que le nombre de risques anodin et le nombre de risques mortels sont a peu de chose près équivalent. TRUE CLASS Mortel Anodin ( ( ( ERROR /SIZE 3 / 0 / ) 3 ) 4 ) TOTAL ( 3 / 7 ) FREQUENCY 100.00 0.00 42.86 Ce tableau révèle un fort taux de misclassification pour les accidents de type mortel ; autrement dit, ils ont été faussement classifié dans cette catégorie. Cette remarque est à prendre en compte lors de l’analyse des résultats. +---- [ 2 ]Mortel ( ! !----1[ Programme = 0110 ] ! +---- [ 3 ]Anodin ( 0.70 0.49 ) 2.30 3.51 ) On peut voir que, respectivement dans les deux classes, le taux de risques mortels et anodins ne sont pas vraiment majoritaires. SPLITTING NODE: VARIABLE SPLIT MODALITIES ( 2) ( 3) MODALITIES ( 1) ( 4) CRITERION 1 : ( 3) Programme : 0110 ( 1=left node, 0=right node) BELONG LEFT NODE : PER ARC BELONG RIGHT NODE : PPR PSS : 2.018130 On considéra toutefois que les plans PER et ARC sont appliqués dans des cas anodins, alors que les préventions et les plans de secours spécialisé ont lieu que pour les accidents naturels mortels. En effet, depuis 1082 les PER déterminent les zones exposées et les techniques de prévention à adopter plus dans un but préventif que d’action d’urgence. II.8 La méthode PYR Cette méthode permet de hiérarchiser des classes non disjointes en procédant par les niveaux du bas par intention et extension, ce qui correspond à une procédure d’héritage. Le choix des variables est cette fois totalement libre ; la méthode permet ainsi de faire correspondre des variables sans liens apparents. On utilise cette fonction pour étudier la hiérarchie des concepts risque en sélectionnant l’ensemble des variables nominales: - le plan de prévention : PPR, PER, PSS, ARC le niveau d’enjeu : anodin, dangereux, mortel la région : zones géographiques du pays le bassin : zones drainées par les fleuves ou rivières On obtient la hiérarchie suivante : PARTIE III : Utilisation du logiciel SAS Nous proposons maintenant de compléter l’analyse avec le logiciel SAS qui propose un autre moyen d’implémentation, moins interactif, mais toutefois très utilisé par les entreprises. Apres une petite présentation, nous illustrerons sont fonctionnement à travers une analyse à correspondances multiples sur notre cas des plans de prévention des accidents naturels. III.1 Présentation du logiciel SAS est à l’origine un logiciel de statistiques et actuellement un outils aux facettes multiples. Il est cher, peu évoluer, mais reste cependant sans réels concurrents. SAS est utilisé pour l’analyse de bases de données, l’automatisation et la modélisation. Les données sont parties soit d’un fichier texte, soit dans le code directement. Les analyses s’effectuent par un langage de programmation peu avancé constitué d’une succession de parties données et parties procédures. L’interface graphique principale est la suivante : On distingue principalement trois parties : - une fenêtre de saisie du programme une fenêtre de visualisation du déroulement du programme une fenêtre de visualisation des résultats du programme III.2 ACM et classification On propose d’utiliser le logiciel SAS pour une analyse factorielle des correspondances multiples ; le but est d’avoir une idée des différents enregistrements, ici les actions du ministère face aux accidents naturels, en fonction des meilleurs variables explicatives. ● Préparation des données Le logiciel SAS récupère les données via un fichier de type texte qu’il nous faut créer à partir de la base de données GASPAR que l’on dispose. On utilise pour cela l’option d’exportation du logiciel Access. Les données exportées doivent être numérisées : - on sélectionne chaque programme sans l’afficher le lieu est étudié par région avec numérisation par une nouvelle table le nombre de population de la commune le type de risque est donné par son numéro le type de plan est numérisé par une nouvelle table le niveau de l’enjeu La requête de création de la table de données est la suivante : Le panel Access d’exportation crée le fichier texte qui contient la table résultante, avec l’indicateur « » choisi comme séparateur de colonne. Le fichier de type texte résultant est le suivant : On remarque qu’il existe dans la table des doublons ; ils sont issus de programmes d’action différents. ● Programme SAS On importe dans un premier temps le fichier texte comme sources de données : Pour effectuer notre analyse, on crée des groupes pour chaque variable ; leur construction dépend de leur type. On lance alors la procédure d’analyse avec l’appel Corresp. : ● Analyse des résultats Le premier axe factoriel permet d’extraire 8 % d’information, et pareil pour le deuxième axe; le premier plan factoriel permet d’extraire 38% d’information. L’absence de « coude » dans l’histogramme nous empêche de conclure sur le nombre d’axes factoriels. Il nous faudrait ajouter des variables explicatives. VilleG, mvtTer, inonda, per et danger expliquent le mieux l’axe 1 Seisme, pss, arc, anodin et mortel expliquent le mieux l’axe 2 On a en tête de l’axe 1 les variables VilleG, mvtTer et per, c’est à dire les villes de taille importantes qui ont du informer des zones menacées par des mouvements de terrain, pour les constructions par exemple. On a en pied de l’axe 1 les variables inonda et danger, c’est à dire les villes de taille moyenne menacées par des inondations, accident naturel qui ne menace pas des vies humaines. On a en tête de l’axe 2 les variables séisme, pss et mortel, c’est à dire les cas de séisme à menace vitale qui ont nécessité un plan de prévention spécialisé. On a en pied de l’axe 2 les variables arc et anodin, c’est à dire les cas d’accident naturel anodin qui ont nécessité la mise en place d’un zone de sécurité. Cette analyse est complété par la construction de cluster : on utilise la procédure FASTCLUST qui donne des bons résultats dès le partitionnement en deux parties. CONCLUSION Ce projet m’aura permis de mieux comprendre les différentes notions dans l’analyse de données en les appliquant dans un cas concret à l’aide de deux logiciels : Sodas qui est convivial car utilisé simplement pour la variables symboliques avec une interface graphique, et SAS qui demande de la programmation mais génère des d’autres résultats intéressants. Ces deux applications nécessitent une étape importante de mise en forme de données qui aura été l’origine de la majorité des problèmes rencontrés : le type des variable et leur format. En effet, le fait d’avoir utiliser une grande base de données existante, implique d’y trouver certaines erreurs à corriger en amont pour une bonne exploitation lors de l’analyse. Le choix des individus et des concepts est ensuite cruciale et pas forcément évidente, surtout pour les concepts qui peuvent nécessiter une réflexion poussée, sur leur nombre entres autres. Il peut être enfin nécessaire d’ajouter, par exemple, des variables nominales qualitatives indispensables à certaines méthodes. Le logiciel Sodas permet alors d’effectuer des analyses en quelques clics et d’avoir des résultats représentatifs sous forme de graphes, de diagrammes… Les conclusions générales du cas des plans de prévention face au risque d’accidents naturels sont que le ministère effectue beaucoup de prévention, quelque soit le type de risque et son enjeu. Des interventions particulières ont lieu pour les cas extrêmes souvent non prévisibles et donc plus meurtrières.