Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
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
2
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
3
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 :
4
Les séries temporelles
PRESTO - Soutenance de projet Les séries temporelles
5
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.
6
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
7
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
8
PRESTO - Soutenance de projet
JMulti (2/3)
9
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.
10
Plan Introduction Spécification Conception Planification Conclu
PRESTO - Soutenance de projet Plan Introduction Spécification Objectifs Fonctionnalités Conception Planification Conclu
11
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
12
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
13
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
14
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
15
PRESTO - Soutenance de projet
Le journal Différents types d’événements
16
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.
17
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
18
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
19
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
20
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.
21
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
22
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
23
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
24
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.
25
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.
26
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
27
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
28
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
29
Fonctions Nom Fonction Fonction Execute() Fonctions natives
PRESTO - Soutenance de projet Fonctions Nom Fonction Fonction Execute() Fonctions natives Fonctions importées Execute() Execute()
30
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
31
Description des fonctions (1/2)
PRESTO - Soutenance de projet Description des fonctions (1/2) XML Informations à stocker Localisation Signature Informations secondaires
32
Description des fonctions (2/2)
PRESTO - Soutenance de projet Description des fonctions (2/2) Exemple de fichier de description
33
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
34
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
35
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
36
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
37
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
38
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
39
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
40
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
41
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…)
42
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
43
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
44
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
45
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
46
Plan Introduction Spécification Conception Planification Conclusion
PRESTO - Soutenance de projet Plan Introduction Spécification Conception Planification Conclusion
47
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.
48
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é
49
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
50
Bilan des développement et test
PRESTO - Soutenance de projet Bilan des développement et test Temps total estimé : 740h Temps total effectif : 760h
51
Durée des différentes phases
PRESTO - Soutenance de projet Durée des différentes phases
52
Plan Introduction Spécification Conception Planification Conclusion
PRESTO - Soutenance de projet Plan Introduction Spécification Conception Planification Conclusion
53
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)
54
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
55
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…
56
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…
57
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)
58
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
59
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….
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.