Grocer : un quasi-logiciel libre d'économétrie
Développé à partir du logiciel Scilab et de Matlab, Grocer est aujourd’hui un logiciel d’économétrie appliquée en accès libre sur Internet.
Lorsque je suis devenu conseiller scientifique au Conseil d'Analyse Économique au début de l’année 2000 et que j'ai souhaité faire de l'économétrie appliquée, le CAE ne disposait évidemment pas de logiciel de ce type. Je me suis naturellement tourné vers Internet, où j'ai découvert Easyreg, un logiciel gratuit et bien fait, développé par Herman Bierens. Mais Easyreg avait un défaut rédhibitoire à mes yeux : c'était un logiciel livré sans son code source et fonctionnant uniquement en mode « presse-bouton », ce qui interdisait (et interdit toujours) d'adapter à ses propres usages des bibliothèques de programmes existantes et même d'ajouter sa propre couche d'outils et de programmes à partir de ceux déjà existants dans Easyreg. C'est pourquoi j'ai alors résolu de bâtir mon propre outil « Grocer » en m'appuyant sur deux briques également disponibles gratuitement sur Internet, mais dont le code source était accessible : le logiciel Scilab et la boîte à outils de James LeSage pour Matlab. Fruit essentiellement de mes week-ends et soirées, Grocer est disponible sur Internet depuis plus de deux ans maintenant à l’adresse suivante : http://dubois.ensae.net/grocer.html/.
Grocer : un « quasi-logiciel » d'économétrie gratuit et opensource, distribué sur Internet
Grocer, c’est avant tout une collection de programmes économétriques distribués sur Internet avec leur code source (d'où le terme « opensource »), écrits pour Scilab, un langage matriciel très proche de Gauss, Matlab ou R. En ce sens, Grocer s'apparente aux bibliothèques et autres modules qu'on peut trouver sur Internet, écrits dans ces différents langages et qui proposent à l'internaute des méthodes économétriques diverses. Grocer n'est donc pas stricto sensu un logiciel. Mais Grocer est plus qu'une simple batterie de programmes : par son ampleur (plus de 500 programmes, plus de 20 000 lignes de code ), par l'importance du champ couvert (l'essentiel des programmes d'économétrie standard et de nombreuses procédures originales), par son environnement (une aide en ligne détaillée et un manuel utilisateur), on peut le qualifier de « quasi-logiciel ». Avec Grocer, l'économètre féru de logiciel libre peut se passer totalement des logiciels propriétaires.
À la base de Grocer : le logiciel Scilab ...
Scilab est un logiciel de calcul numérique scientifique disponible sur Internet depuis 1994 (http://www.scilab.org/). Il est gratuit, opensource, et fonctionne sous Windows comme sous linux. Scilab offre toute facilité pour traiter des matrices : il est donc particulièrement adapté à la mise au point de programmes d’économétrie. Scilab permet notamment d'ajouter ses propres types d'objet et de « surcharger » les opérateurs usuels pour ces nouveaux types. Scilab comprend un traducteur de Matlab en Scilab, précieux pour transposer en Scilab les nombreux programmes disponibles sur Internet et possède une interface graphique développée. Enfin, outil indispensable pour toutes les méthodes faisant appel à la maximisation de la vraisemblance, Scilab comprend un programme d'optimisation.
Développé à l'origine par une petite équipe de l'INRIA (Institut National de Recherche en Informatique et en Automatique) et de l'École Nationale des Ponts et Chaussées, à partir du même article théorique que Matlab, Scilab est passé à la vitesse supérieure en 2004 avec la création du Consortium Scilab, qui regroupe des écoles d'ingénieur, des entreprises privées,... L'implication, notamment financière, de ces partenaires a permis d'étoffer l'équipe, de développer l'éditeur de programmes, de passer à une résolution plus professionnelle des bugs et plus généralement d’améliorer les performances de Scilab....
Le logo de Scilab ... et la mascotte de Scilab : le macareux ...
... de nombreux programmes disponibles sur Internet ...
L'un des attraits majeurs de Scilab est sa grande proximité avec Matlab. Cela m'a notamment permis de puiser dans l'importante bibliothèque de programmes existant en Matlab et de les importer sans trop de frais en Scilab. La boîte à outils de James LeSage (http://www.spatial-econometrics.com/) a notamment fourni de nombreux programmes de base de Grocer et un modèle en matière de documentation des programmes.
La proximité avec Gauss, l'autre grand langage matriciel « propriétaire », bien que moindre, est suffisante pour avoir permis aussi une adaptation de programmes écrits dans ce langage. C'est le cas notamment du module de modèles Markoviens importé de la bibliothèque MSVARLib, développée par Benoît Bellone (ENSAE 2000) en Gauss. Cette adaptation a au passage permis de développer plusieurs programmes qui miment des fonctions existant en Gauss mais jusque là non disponibles sous Scilab (ni en général d'ailleurs en Matlab) . Les futures adaptations en seront facilitées !
... mais aussi de nombreux programmes originaux...
Internet ne fournissant pas tout ce dont peut rêver un économètre, il a aussi fallu développer des programmes nouveaux : certains tests de racine unité, plusieurs tests de spécification chers à David Hendry, de nombreux programmes de manipulation des séries temporelles, la méthode des régressions empilées,...
Trois de ces bibliothèques méritent d'être plus particulièrement signalées. La première met en œuvre la méthode de sélection automatique de variables développée par Hendry et Krolzig : cette méthode, qui constitue une version très améliorée de la vieille méthode du stepwise, offre un degré élevé d'automatisation de la méthodologie économétrique dite de la LSE. Aujourd'hui, Grocer est (à ma connaissance) le seul outil à proposer cette méthode, avec pcgets, le logiciel payant et propriétaire développé par Hendry et Krolzig. La deuxième bibliothèque offre la possibilité de calculer des contributions des exogènes à la variation d'une endogène. Des versions de ce type existent pour Troll ou Rats au sein de l'administration française, mais aucune à ce jour à ma connaissance dans une distribution logicielle. Enfin, une troisième famille de programmes, écrite par Emmanuel Michaux (ENSAE 2002), met en œuvre la méthodologie de détection des points de retournement développée au début des années 1970 par Bry et Boschan et remise récemment au goût du jour par Harding et Pagan. Un test d'avance sur les points de retournement, proposé par Banerji, est également disponible.
Une illustration de la fonction Grocer brybos de détection des points de retournement ; la série lpigiron est celle utilisée par Mark. W. Watson ; les zones grisées correspondent aux périodes récessives identifiées par l'algorithme de Bry et Boschan.
Qu’est-ce qui distingue Grocer des logiciels existants ?
Grocer est un outil parmi de nombreux autres existants. Outre les logiciels payants (SAS, E-views, Rats, Aremos, Pc-give, Troll pour n'en citer que quelques-uns), il existe actuellement une dizaine de logiciels gratuits qui peuvent séduire les utilisateurs impécunieux. On peut ainsi citer R, Easyreg ou Gretl parmi les principaux. Par rapport à ces logiciels, Grocer a des points forts, cernés à l’occasion des diverses utilisations dont je peux avoir connaissance .
En premier lieu, Grocer a évidemment l'avantage de la gratuité par rapport aux logiciels payants. Par rapport à ceux-ci, mais aussi par rapport à Easyreg (gratuit, mais pas opensource et n'offrant pas de possibilités d'intégrer ses propres programmes), Grocer a l'avantage des logiciels libres. Parmi ceux-ci figure la portabilité : les travaux effectués en un lieu donné, sur un ordinateur donné, peuvent être réutilisés n'importe où (chez soi ou dans son nouveau job), ce qui n'est évidemment pas toujours le cas avec des logiciels commerciaux ou compilés qui peuvent différer d'un employeur à l'autre. Chacun peut par ailleurs étudier comment chaque fonction qu'il utilise a été programmée, en réutiliser des composantes pour ses propres besoins,... Les mails reçus à l'adresse dédiée à Grocer (grocer.toolbox@free.fr) permettent par exemple de se rendre compte que ces fonctionnalités ont attiré des enseignants de plusieurs pays. Enfin, le dernier attrait de Grocer par rapport aux autres logiciels, qu'ils soient gratuits ou payants, réside dans ses bibliothèques originales, notamment le programme de sélection automatique de variables , le calcul des contributions dynamiques , le programme de détection des points de retournement ou l'estimation de modèles markoviens à changement de régime.
Un mot à propos de R : R est a priori plutôt une alternative à Scilab qu'à Grocer. Il est beaucoup utilisé par les économètres pour développer des applications. Il existe donc de nombreuses boîtes à outils sur telle ou telle procédure, mais pas de package intégré comme Grocer. En outre le langage matriciel de R reste moins intuitif que celui de Scilab.
Grocer : l'esprit collaboratif du logiciel libre
Parmi les avantages reconnus du logiciel libre, figure la capacité à mettre en commun des compétences diverses, complémentaires entre des développeurs qui ne se connaissent pas nécessairement. Je dois ainsi à un utilisateur indonésien, Martin Panggabean, la correction d'un bug sur le programme d'installation de Scilab. La prochaine version de Grocer devrait aussi s'enrichir de tests de stabilité à la Andrew proposés par un utilisateur américain. Mais les contributions les plus importantes viennent d'Emmanuel Michaux (ENSAE 2002), qui préside désormais avec moi à la destinée de Grocer. Le club est ouvert !
Une nouvelle version de Grocer tous les ans
Depuis novembre 2004, date de la première version mise en ligne (la 1.0), deux nouvelles versions ont été développées, la 1.1 mise sur Internet en novembre 2005 et la 1.2 en octobre 2006, chaque nouvelle version s'enrichissant de nouvelles fonctionnalités. Des versions plus incrémentales sont également proposées régulièrement aux utilisateurs, soit pour s’adapter au développement de Scilab, soit pour apporter des corrections à des bugs, soit pour apporter des innovations marginales. La version actuelle est ainsi la version 1.202. La prochaine version importante (la 1.3) est d'ores et déjà programmée pour la fin de 2007. Elle devrait s'enrichir de programmes d'analyse factorielle, de la méthode des moments généralisés (GMM), de logit multivarié... et des diverses demandes qui nous seront adressées (il nous a par exemple été demandé un module de prévision à partir de modèles markoviens à changement de régime, en cours de mise en point).
N'hésitez pas à essayer Grocer !
Et n'hésitez et à envoyer un mail à l’adresse grocer.toolbox@free.fr pour poser toute question, signaler tout bug ou simplement nous encourager.
Aucun commentaire
Vous devez être connecté pour laisser un commentaire. Connectez-vous.