Programme d’étude de séries temporelles

Slides:



Advertisements
Présentations similaires
Introduction Rétro ingénierie d’interfaces graphiques
Advertisements

Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
E-learning Evolutif Albarelli Corinne Behem Patrice Guillot Jérôme
Tests et Validation du logiciel
Introduction: Concepts de la programmation
LA GESTION DE PROJETS APPLIQUÉE AU SECTEUR DE LA TRADUCTION
Appels de fonctions natives sous C#
JXDVDTEK – Une DVDthèque en Java et XML
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
Conception de Programmes Evolutifs Pré Soutenance de TER Année Encadrants : Cathy Escazut et Michel Gautero Auteurs: Paul-Kenji Cahier Sylvain.
Conception de Programmes Evolutifs
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
au LISC, Cemagref de Clermont Ferrand
Autorisations Utilisation eCATT
Tests et Validation du logiciel
Architecture de machines Principes généraux
Ce qui est fait Cahier des charges L’analyse de l’application
Conception d’une application de gestion de fiches études
Projet 4info.
Les Ateliers de Génie Logiciel
1 Statistiques Séance 5 – 9 Nov Résumé séance précédente Lécart-type σ ou s. Comment le calculer? Les propriétés numériques de la courbe normale.
MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09.
Démarche de résolution de problèmes
Algorithmique et Programmation
Sommaire Objectif de Peakup Principes de fonctionnement
Présentation Intermédiaire de Travail de Bachelor
Développement d’un réseau social professionnel
FICHIERS : Définition : Algorithme général:
Projet de diplôme 2011 Miserez David
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Projet de Master première année 2007 / 2008
Cours Architecture des Systèmes Informatiques
Supports de formation au SQ Unifié
TD0 - Rappels. Acquis du programme 1 ère année Analyser et modéliser : un problème, une situation ; Imaginer et concevoir : une solution algorithmique.
PRESTO Programme d’étude de séries temporelles Projet 4 ème année Jean-Frédéric Berthelot Paul-Alain Bugnard Camille Capelle Sébastien Castiel.
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.
CRC Nancy France Télécom Romain Arnoux 2A DUT Informatique.
Introduction à Visual Studio C++ (VC++)
Introduction au Génie Logiciel
Module 9 : Transfert de données. Vue d'ensemble Présentation du transfert de données Outils d'importation et d'exportation de données disponibles dans.
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
ISBN Chapitre 10 L'implémentation des sous- programmes.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Algorithmique : Introduction
PLAN 1. Introduction 1.1. Sites de presse actuels 1.2. Objectif de notre site 2. Description du modèle 3. Outils utilisés 3.1. SVG 3.2. PHP et MySQL 4.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
Interface de génération de blason Projet STLM.GIBERT / M.LIPPMANN.
L’enseignement de spécialité SLAM
Réalisation d'un plugin pour la gestion
EPREUVE E6 : PARCOURS DE PROFESSIONNALISATION
Interface de génération de blason
TER LOGO Model a copier coller a chaque nouvelle diapositive.
Soutenance Phase 1 Bibliographie et Analyse des besoins
Ethnosim (Cr1) Projet encadré par : Mr David Crookall (17 juin 2004) Agostini Jean-Louis Dupouy Nicolas Giroussens Olivier Olivar Kevin Université de Nice.
Recueil d’exemples de cartographie dynamique (actualisé le 30/01/03)
Visualisation de données complexes en 3D Projet d'algorithmique et de Langage C Auteurs: Jonathan Courtois Pierre Tanguy Encadrant: Mohammed Haouach
PRESTO Programme d’étude de séries temporelles Projet 4 ème année Jean-Frédéric Berthelot Paul-Alain Bugnard Camille Capelle Sébastien Castiel.
Mathieu Martin Thomas Rovayaz Natacha Laborde Nathanaël Couret
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
1 Monopalme Projet 4 Info Présentation finale LE LAY Olivier MAHE Jocelyn FORM Nicolas HENRY Gurvan BONNIN Thomas BASSAND Guillaume Décembre 2009 MONNIER.
Les IDE orientés conception C ycle de V ie D es A pplications
Transcription de la présentation:

Programme d’étude de séries temporelles Projet 4 INFO 2008 – 2009 PRESTO Programme d’étude de séries temporelles Soutenance de projet 26 mai 2009 Jean-Frédéric Berthelot Paul-Alain Bugnard Camille Capelle Sébastien Castiel Marion Floury Aymeric Hervieu Chris Hervieux Encadreurs : Jean Camillerapp Hamdi Raissi

Plan Introduction Spécification Conception Planification Démonstration PRESTO - Soutenance de projet Plan Introduction Les séries temporelles Modèles JMulti Spécification Conception Planification Démonstration Conclusion

Les séries temporelles PRESTO - Soutenance de projet Les séries temporelles Série d’observations numériques indicées par le temps Expliquer les événements passés et prédire leurs évolutions Séries économiques, financières ou météorologiques… Qu’est-ce que c’est ? Une série temporelle ou chronologique est une série d’observations numériques (mesures) indicées par le temps. Les dates d’observations sont souvent équidistantes les unes des autres. On peut avoir des séries hebdomadaires, mensuelles, trimestrielles, etc. Pourquoi on s’en sert ? Expliquer les événement passé et prédire leurs évolutions futures Ou peut-on les trouver ? On peut représenter par des séries temps des données : - macroéconomiques (le PIB d’un pays, l’inflation), - micro-économiques (les ventes d’une entreprise, son nombre d’employés), financières (le CAC40, le cours d’une action), météorologiques (la pluviosité), tout ce qui est chiffrable et varie en fonction du temps. Pour fixer les idées, on peut prendre un exemple :

Les séries temporelles PRESTO - Soutenance de projet Les séries temporelles

Objectifs de l’analyse des séries temporelles PRESTO - Soutenance de projet Objectifs de l’analyse des séries temporelles Résumer Décrire Modéliser Prédire Relier les variables Min Max Moyenne Ecart type 0.007 0.5 0.06 0.122 Décrire Quand on s’intéresse à une série temporelle, la première étape, comme pour toute donnée, est de décrire la série. On utilise pour ce faire un certain nombre de graphiques comme des diagrammes séquentiels ou des histogrammes. Modéliser Cela consiste à expliquer les valeurs prises par la série en l’associant à une loi statistique connue à peu de paramètres qui seront à estimer. Prédire Comprendre la dynamique qui relie une observation à celles qui l’ont précédée peut permettre d’extrapoler et d’établir une prévision. Relier les variables A partir de données non-stationnaires, Clive Granger a montré qu’il était possible de relier les variables de telle sorte qu’une combinaison spécifique de séries temporelles non-stationnaires se comporte stationnairement. On parle alors de cointégration. Si des séries sont cointégrées, elles peuvent évoluer de manière disjointe à court terme mais elles évoluent ensemble à long terme.

Les modèles Univarié / Multivarié Différents modèles PRESTO - Soutenance de projet Les modèles Univarié / Multivarié Différents modèles VAR : Vectoriel autorégressif VECM : Correction d’erreur Principe de causalité (Granger) Valider un modèle Résidus = Réel - Modèle

JMulti (1/3) Logiciel de traitement de séries numériques Date de 1999 PRESTO - Soutenance de projet JMulti (1/3) Logiciel de traitement de séries numériques Date de 1999 Codé en Java Offre différents traitements statistique : Statistiques descriptives (moyenne, écart type …) Affichage graphique Différents modèles statistiques

PRESTO - Soutenance de projet JMulti (2/3)

JMulti (3/3) Des imperfections : Problème d’ergonomie PRESTO - Soutenance de projet JMulti (3/3) Des imperfections : Problème d’ergonomie Peu d’extensibilité Utilisation incomplète des résultats mathématiques récents Ajouter la copie d’écran+ la critique de l’ergonomie.

Plan Introduction Spécification Conception Planification Conclu PRESTO - Soutenance de projet Plan Introduction Spécification Objectifs Fonctionnalités Conception Planification Conclu

Objectifs de Presto Objectifs de Presto : Contrat pour cette année: PRESTO - Soutenance de projet Objectifs de Presto Objectifs de Presto : Etude de séries temporelles Prise en main facile et intuitive Logiciel évolutif Contrat pour cette année: Réalisation de l’interface Ecrire des fonctions pour l’analyse multivariée Traduire les algorithmes de notre encadrant

Les données manipulées PRESTO - Soutenance de projet Les données manipulées Différents types de données Importation/exportation de séries Opérations sur les variables Différents types de donnée : Série, scalaire, serieSet, ResultSet Importation/exportation des séries Renomer/afficher/supprimer

Programme et instructions PRESTO - Soutenance de projet Programme et instructions Ajout graphique d’une instruction Aide aux fonctions Programme = Des instructions 2 etats : executés ou non (truc vert) Déplacer/supprimer/executer/modifier une instruction Ajout console ou graphique à partir de la liste des fonctions disponible dans les menus (classé) Ajout d’une nouvelle fonction (xml) Aide aux fonctions Programme = plusieurs instructions Opérations sur les instructions Saisie textuelle d’une instruction

Les affichages Affichage des graphiques (onglets) PRESTO - Soutenance de projet Les affichages Affichage des graphiques (onglets) Une table des affichages Courbe ou Html Courbe = histogramme ou lissage des points (selon les données) + zoom Parler des rapports (concaténation d’affichage pour les RS) Enregistrer les résultats Différents types d’affichages Opérations sur les affichages

PRESTO - Soutenance de projet Le journal Différents types d’événements

Bilan fonctionnalités PRESTO - Soutenance de projet Bilan fonctionnalités Découpage en blocs : Données Programme Import/Export Fonctions Interface graphique Transition vers l’architecture.

Plan Introduction Spécification Conception Planification Conclusion PRESTO - Soutenance de projet Plan Introduction Spécification Conception Architecture Données Programme Import/Export Algorithme et fonction Affichage Médiateur Interface Graphique Planification Conclusion

Exportation Importation PRESTO - Soutenance de projet Architecture Exécution Fonctions Série Affichage Programme Sauvegarde Exportation Importation Création instruction Insister sur les importations, les formats autorisés

Données : différents types PRESTO - Soutenance de projet Données : différents types Matrice, scalaire, série… Héritent tous d’une classe Data Caractéristiques spécifiques : Structures de données (réel, tableau de réels…) Des affichages spécifiques

PRESTO - Soutenance de projet Données : exemples IntervalData : un affichage textuel de la forme [a ; b] et pas d’affichage graphique. SerieData : un affichage textuel et un affichage graphique.

Données : le stockage Stockées dans une table : DataTable PRESTO - Soutenance de projet Données : le stockage Stockées dans une table : DataTable Un ensemble de Command pour manipuler la table : AddDataCommand DeleteDataCommand RenameDataCommand

S2 = Centrer(S1) | C <macourbe> PRESTO - Soutenance de projet Instructions S2 = Centrer(S1) | C <macourbe> Directives d’affichage Paramètre(s) Fonction Résultat Mécanisme par instructions Saisie d’une instruction textuelle ou graphique Exemple : Centrer S1 => série Placer le résultat dans S2 Afficher S2 dans « macourbe » Saisi d’une instruction => ajout en fin de programme

Programme : rédaction Ensemble d’instructions PRESTO - Soutenance de projet Programme : rédaction Ensemble d’instructions Pouvoir effectuer plusieurs actions sur les instructions du programme : AddInstructionCommand DeleteInstructionCommand RenameInstructionCommand ExecuteInstructionCommand MoveInstructionCommand ReplaceInstructionCommand

Programme : exécution Structure de données : PRESTO - Soutenance de projet Programme : exécution Structure de données : Liste d’instructions Pointeur d’exécution A l’exécution : analyse des instructions pour contrôler qu’il n’y ait pas d’erreurs.

Programme : tests Un programme test : PRESTO - Soutenance de projet Programme : tests Un programme test : #Génère deux séries normales S1 = GenererSerieNormale(10;1;10) | H <Rapport> S2 = GenererSerieNormale(5;0,5;10) # Additionne S1 et S2 S3 = Addition(S1;S2) | H <Rapport> # Copie de S4 dans S5 S5 = S3 | B <Graphe> # Affichage de S5 S5 | C <Graphe> # Instruction à supprimer S6 = S5 # Quelle est la moyenne de S1 ? M = Moyenne(S1) | H <Rapport>, C<Graphe> # Erreur d’exécution SX = FonctionInconnue(S2) Exécution des l’ensembles de commandes associées.

Import / Export de donnée PRESTO - Soutenance de projet Import / Export de donnée Import de série : format CSV, XLS, XLSX (2007), TXT Analyseur spécifique pour chaque formats : ExcelParser, CSVParser, TXTParser Export de série : format CSV Exporteur : SerieExporter

Import / Export de programme PRESTO - Soutenance de projet Import / Export de programme Export du programme au format texte Utilisation de ProgramExporter Import de programme au format texte Utilisation de ProgamParser et ProgramImporter

Import / Export de projet PRESTO - Soutenance de projet Import / Export de projet Projet Programme Séries importées Revenir à l’état d’un ancien projet Après l’import : l’exécution du programme permet de revenir à l’état précédent la sauvegarde

Fonctions Nom Fonction Fonction Execute() Fonctions natives PRESTO - Soutenance de projet Fonctions Nom Fonction Fonction Execute() Fonctions natives Fonctions importées Execute() Execute()

Fonctions importées Reflection Appel de fonction DLL Classe PRESTO - Soutenance de projet Fonctions importées DLL Reflection Classe Chemin d’accès Nom de la classe Nom de la fonction Assembly Type MethodInfo Méthode 1 … Méthode n Appel de fonction

Description des fonctions (1/2) PRESTO - Soutenance de projet Description des fonctions (1/2) XML Informations à stocker Localisation Signature Informations secondaires

Description des fonctions (2/2) PRESTO - Soutenance de projet Description des fonctions (2/2) Exemple de fichier de description

Chargement des DLL DLL 1 DLL 2 Nom Fonction Algo1.xml Algo2.xml Algo1 PRESTO - Soutenance de projet Chargement des DLL AlgoN.xml Algo1.xml Algo2.xml DLL 1 DLL 2 Nom Fonction Algo1 Algo2 … AlgoN

Création de DLL Langage non imposé PRESTO - Soutenance de projet Création de DLL Langage non imposé Objet Compilation en DLL .NET Utilisation des structures de données PRESTO

Traduction des algorithmes (1/3) PRESTO - Soutenance de projet Traduction des algorithmes (1/3) Boucles Indices Structures de contrôle Aperçu de code Fortran

Traduction des algorithmes (2/3) PRESTO - Soutenance de projet Traduction des algorithmes (2/3) Procédure systématique et fastidieuse Pas d’outil automatique satisfaisant Nombreuses erreurs de traduction

Traduction des algorithmes (3/3) PRESTO - Soutenance de projet Traduction des algorithmes (3/3) Tests et débogage difficiles Longueur globale Comparaison des résultats difficile Environnement Fortran peu adapté Différences de précision

Courbe générée avec la bibliothèque ZedGraph PRESTO - Soutenance de projet Affichages Courbes et diagrammes en bâtons Utilisation de la bibliothèque ZedGraph Représentation des matrices, séries, rapports… Utilisation du langage HTML Intégration facile Courbe générée avec la bibliothèque ZedGraph

Conception des affichages PRESTO - Soutenance de projet Conception des affichages Chaque donnée a plusieurs affichages possibles HTMLDisplay GraphDisplay Utilisation du design pattern Visiteur Code spécifique pour chaque type de données Table des affichages

Tests des affichages Utilisation de la bibliothèque ZedGraph PRESTO - Soutenance de projet Tests des affichages Utilisation de la bibliothèque ZedGraph Déjà testée Tests avec des données simulées Comparaisons avec sorties Excel et JMulti

Interface graphique Objectifs Réalisation Interface complète PRESTO - Soutenance de projet Interface graphique Objectifs Interface complète Interface intuitive Réalisation Utilisation de Visual Studio 2008 Utilisation du framework .NET (Winforms…)

Tests de l’interface graphique PRESTO - Soutenance de projet Tests de l’interface graphique Tests des différentes fenêtres Du point de vue du praticien Essais de prise en défaut de l’interface graphique

Médiateur Lien entre l’interface graphique et le reste du logiciel PRESTO - Soutenance de projet Médiateur Lien entre l’interface graphique et le reste du logiciel Liens simplifiés entre les modules Tests simplifiés

Architecture avec le médiateur PRESTO - Soutenance de projet Architecture avec le médiateur Fenêtre ajout de séries Exécution Fenêtre ajout de fonctions Sauvegarde Médiateur Fenêtre principale Création instruction Fenêtre modification Exportation Importation Autres fenêtres

PRESTO - Soutenance de projet Tests d’intégration Tester tous les modules à partir de l’interface graphique Tests sur différentes données Tests sur différents programmes Appels de toutes les fonctions Essai de prise en défaut du logiciel

Plan Introduction Spécification Conception Planification Conclusion PRESTO - Soutenance de projet Plan Introduction Spécification Conception Planification Conclusion

Stockage des données : Affichage : PRESTO - Soutenance de projet Stockage des données : Module important au niveau dépendance. Affichage : Bibliothèque ZedGraph efficace. Temps estimé Temps effectif Données -> module nécessaire à tous les autres -> bloquant pour le début de certains modules -> « consciement » surestimé Affichage -> bibliothèque trouvée -> mais très complète -> prévu du temps pour la maitriser et obtenir les « bons » graphes.

Instructions et programme : PRESTO - Soutenance de projet Instructions et programme : Conception précise Fonctions : Ajout de fonctions Temps estimé Temps effectif Inst&prog -> Fonctions -> complexification de la conception -> ajout de fonction non prévu: univarié

Interface graphique : Tests : Dans les temps PRESTO - Soutenance de projet Interface graphique : Dans les temps Tests : Beaucoup de tests sur les algorithmes Temps estimé Temps effectif Interface -> Test ->test algo important car cœur du logiciel -> test d’intégration

Bilan des développement et test PRESTO - Soutenance de projet Bilan des développement et test Temps total estimé : 740h Temps total effectif : 760h

Durée des différentes phases PRESTO - Soutenance de projet Durée des différentes phases

Plan Introduction Spécification Conception Planification Conclusion PRESTO - Soutenance de projet Plan Introduction Spécification Conception Planification Conclusion

Respect du cahier des charges (1/2) PRESTO - Soutenance de projet Respect du cahier des charges (1/2) Import et génération de séries Application de fonctions mathématiques Exécution d’algorithmes complexes et génération de rapports Affichage des résultats (textuel ou graphique)

Respect du cahier des charges (2/2) PRESTO - Soutenance de projet Respect du cahier des charges (2/2) Export des résultats (séries, graphiques, rapports…) Une interface graphique claire et intuitive Possibilité de développer des nouvelles fonctions

Des fonctionnalités supplémentaires PRESTO - Soutenance de projet Des fonctionnalités supplémentaires Autres fonctions mathématiques : analyse univariée (cours de modélisation statistique) Documentation des fonctions accessible depuis le logiciel : paramètres, retour…

Evolutions possibles Application multilingue PRESTO - Soutenance de projet Evolutions possibles Application multilingue Assistants d’analyse de données (démarche statistique) Personnalisation du logiciel par l’utilisateur (forme des résultats…) Gestion des dates dans les séries Nouveaux types de graphiques Complexifier le programme : sous-programmes, structures conditionnelles…

Apports du projet : techniques PRESTO - Soutenance de projet Apports du projet : techniques C# / .NET, Microsoft Visual Studio Création et utilisation statique ou dynamique de bibliothèques (DLL) Utilisation du format XML Développement collaboratif (SVN, Google Code)

Apports du projet : gestion de projet PRESTO - Soutenance de projet Apports du projet : gestion de projet Importance de la planification Importance et difficultés du dialogue avec un client non-informaticien Et aussi : Implémentation de notions vues en cours de modélisation statistique

Conclusion Un logiciel... Fonctionnel Novateur Extensible PRESTO - Soutenance de projet Conclusion Un logiciel... Fonctionnel Prêt à être utilisé par les statisticiens Novateur Propose des fonctionnalités inexistantes actuellement (prix Nobel de 2003) Extensible Ajout dynamique de nouvelles fonctions By Jean-Fred : C’est pas vraiment inexistant, plutôt inédites….