Appropriation et extensions d'un logiciel libre de traitement de réseaux bayésiens complexes pour l’appréciation quantitative des risques alimentaires.

Slides:



Advertisements
Présentations similaires
Département Édition - Intégration SEMINAIRE SOA Migration du canal Esup MonDossierWeb Olivier Ziller / Charlie Dubois Université Nancy 2 16 octobre 2007.
Advertisements

Introduction: Concepts de la programmation
Introduction au langage C++
Champs de Markov en Vision par Ordinateur
RECONNAISSANCE DE FORMES
Reconnaissance de la parole
1 1 Momentum. 2 2 Tout objet en mouvement continuera son mouvement tant que rien nentrave sa progression.
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
GEF 243B Programmation informatique appliquée
Projet n°4 : Objecteering
JXDVDTEK – Une DVDthèque en Java et XML
Le monde du logiciel libre
Le Modèle Logique de Données
Master Génie Biologique et Informatique, première année
Outils de développements
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Conception d’une application de gestion de fiches études
بسم الله الرحمن الرحيم. Institut Supérieure des Etudes Technologiques de Kébili.
Interface Homme Machine IHM Pro
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Comment détecter et éliminer
Initiation à la programmation et algorithmique
Présentation du SVI - DELSOL Mikaël
Récursivité.
Plugin B pour JEdit Matthias Meusburger Antoine Acquaviva
Tice (logiciels) et aide personnalisée.
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
DeltaPROD Suivi des interventions Gestion de configuration
Programme et Langage C++
Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE,
Configuration de Windows Server 2008 Active Directory
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
SIMATIC Industrial Software
Des outils pour le développement logiciel
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Maîtrise des risques et sûreté de fonctionnement – Avignon – 6-10 Octobre 2008 Modélisation des dysfonctionnements dun système dans le cadre dactivités.
Techniques de test Boulanger Jean-Louis.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
Structures de données IFT-2000
Projet de diplôme 2011 Miserez David
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Introduction : Présentation de Linux Choix d’une distribution
Conception des Réalisé par : Nassim TIGUENITINE.
Projet de Master première année 2007 / 2008
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI Jean-Jacques DUMÉRY -1-
Module 12 : Surveillance des ressources et des performances
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
Réseaux bayésiens: Inférence
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
Soutenance de stage 16 Mai au 5 Août 2011
Stage 2A CS80 pour Origin 1/28. 1) Presentation of the internship 2) The Multi-Oscillator 3) Connection-GUI’s API Conclusion Stage 2A CS80 pour Origin.
UTILISATION DE LINUX. LINUX 2 UTILISATION DE LINUX Différences Windows-Linux Le prix La licence Le choix des distributions Les applications Les utilisateurs.
Programmation Système et Réseau (sous Linux)
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
Nouvelles technologies de système de fichiers dans Microsoft Windows 2000 Salim Shaker Ingénieur de support technique Support technique serveur Microsoft.
Supports de formation au SQ Unifié
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
L’Audio sur PC Comparaison Numérique vs Analogique Comparaison Audio sur PC vs Hardware dédié (DSP) Rmq: beaucoup de simulitudes avec la vidéo, mais débit.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Présentation de Qt Iris 1
Philippe Gandy - 1 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Transcription de la présentation:

Appropriation et extensions d'un logiciel libre de traitement de réseaux bayésiens complexes pour l’appréciation quantitative des risques alimentaires. Olivier GOUZE 21 JUIN 2005

But Mise en place de nouvelles structures pour l’application au risque. Choisir un logiciel libre pour le traitement de réseaux bayesiens complexes. S’approprier ce logiciel. Coder des extensions fonctionnelles.

Introduction sur l‘approche bayesienne Théorie qui repose sur la formule de Bayes. Choix d’une loi « a priori » sur θ. De plus en plus populaire =>disponibilité d’outils (algorithme, logiciels). Complexe = variables continues.

Algorithmes Stochastiques Méthodes de rejet fondée sur un calcul de probabilité. Méthode de Monte Carlo par chaînes de Markov : Métropolis-Hastings, Echantillonnage de Gibbs. Il est extrêmement difficile de contrôler la vitesse de convergence de la méthode.

Présentation des 2 logiciels OpenBUGS (Open Bayesian inference Using Gibbs Sampling) : Sous Windows (Spiegelhalter), Winbugs 2.0 OpenSource depuis Novembre 2004, Implémenté en « Pascal Component ». JAGS (Just Another Gibbs Sampler ) : Concurrent de OpenBUGS sous Linux (M.Plummer), GNU licence, Implémenté en « C ».

Installation de OpenBUGS Installer la version exécutable de OpenBUGS.(http://mathstat.helsinki.fi/openbugs/) Incorporer les codes sources de OpenBUGS. Installer l’outil de développement BlackBox. Incorporer le dossier OpenBUGS dans le dossier BlackBox, afin de créer une fusion des deux exécutables.

Installation de JAGS Vérifier la présence sur le système des compilateurs C (gcc/g++) et FORTRAN 77 (g77). (Problème sous Mandrake 10.1) Installer la dernière version de l’outil R. Installer JAGS.

Différences entre JAGS et OpenBUGS Format des Données. JAGS code les données comme R. OpenBUGS a un problème de compatibilité avec R. Déclaration des Variables. Interface pour OpenBUGS. Directement dans la déclaration du modèle. Échantillonnage : JAGS a un ensemble de distributions de probabilités plus limité que OpenBUGS. => Certaines ayant une relative mauvaise performance.

Structure de OpenBUGS. Code : Code compilé Docu : Document/Spécification des programmes Rsrc : Fichiers utiles pour le développement (ex. Grammar.txt dans sous systeme Bugs) Mod : Code Pascal Component Sym : Code machine (fichier .osf)

Structure de JAGS. JAGS est beaucoup moins structuré que OpenBUGS. 2 répertoires : lib/ et terminal/ Lib/ contient les librairies utiles pour produire les modèles bayésiens (8 au total : matrix, graph, sampler, model…) Terminal/ permet la mise en place de la lecture des commandes dans le terminal de JAGS.

Choix : OpenBUGS OpenBUGS possède plus de fonctionnalités et une interface utilisateur plus agréable. La documentation de OpenBUGS est beaucoup plus dense. Les objectifs de JAGS (extension, gratuit…) sont obsolètes depuis le passage OpenSource de WinBUGS. Le C++ est plus dur à découvrir pour un néophyte que le Pascal Component  JAGS est donc plus difficile à développer. Le but des 2 programmes est aujourd’hui le même, c'est-à-dire de se fondre dans l’environnement R (library pour JAGS, appel de OB par BRugs)

Pascal Component ?(1) Raffinement du langage Oberon-2 Descendant des langages Pascal, Modula 2, Oberon. Principales Caractéristiques : Structure en blocs Modularité Compilation séparée Typage statique avec forte vérification à la compilation Extensions de Type avec Méthodes Chargement dynamique de Modules Garbage Collector (réattribution de mémoire)

Pascal Component ?(2) Langage orienté objet extension de type Les données de type « Abstract » sont des enregistrements extensibles Templates « Langage orienté composant » modèle d’objet dynamique, fort typage

Implémentation sous BlackBox (1)

Implémentation sous BlackBox (2) Utilisation de Templates. Mot clé ABSTRACT, Implémenter les méthodes « mathématiques ». Chargement des modules. Utilisation : Dans les modèles, Comme un programme classique.

Résultats Nouvelles distributions. Nouvelles Fonctions. Ex. Triangular, Empirique Nouvelles Fonctions. Ex. Quantile Utilisation pour l’étude du risque. Sanitaire (publication de Spiegelhalter) Alimentaire

Application au risque alimentaire model{ mu ~ dempirique(20,x[],y[]) } # Maintenant on ajoute les données list( y=c( 1, 2,3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,17, 18,19, 20), x=c(5, 10 ,15, 10 ,5, 10 ,15, 5, 0, 0, 10 ,15, 10,5, 10, 5 , 0, 20, 5) )

Ouvertures Templates sont contraignants : Absence de Template pour les distributions discrètes Absence de Template pour les distributions multivariables Regarder « plus profondément » le code : Contrôler certains facteurs. Afficher des messages d’erreurs explicites. Interface utilisateur (ex. chargement du modèle) Exportation des résultats.