Une méthode d’exploration
Analyse individuelle
Il est techniquement possible, dans un modèle multi-agents, de suivre individuellement l’histoire de chacun des agents qui composent le modèle. Bien sûr, les agents sont trop nombreux pour pouvoir tous être suivis individuellement ; cette analyse n’apporte donc pas grand chose à la compréhension des dynamiques macroscopiques du modèle qui sont l’objet de notre étude. Nous ne l’utiliserons donc pas pour l’exploration du modèle. Néanmoins, il fallait mentionner cette analyse, d’une part parce qu’elle est spécifique aux modèles multi-agents, d’autre part parce qu’elle nous a été très utile au cours de la construction du modèle, en particulier dans les phases de débuggage. En effet, il est possible de tracer pas à pas chaque décision d’un agent, de comprendre ces décisions en fonction de son état et de son environnement, de vérifier que ce comportement est conforme aux spécifications du modèle de comportement choisi 1.
Analyse matricielle
L’analyse matricielle est proche de l’analyse individuelle, dans la mesure où comme elle, elle permet de suivre pas à pas l’état de composants du modèle. Seulement, il ne s’agit plus de suivre l’état d’agents individuels, mais l’état d’agrégats d’agents, au niveau mésoéconomique. Cette analyse est similaire à l’analyse, dans le monde réel, des comptes de la comptabilité nationale.
L’exploration du modèle commencera donc naturellement par l’analyse, période après période, des matrices de stocks définies dans le chapitre précédent. Cette analyse permettra de vérifier la cohérence macroéconomique du modèle. Elle permettra aussi d’étudier, pas à pas, les interactions entre les groupes d’agents et les mécanismes de formation des grandeurs réelles et monétaires agrégées. Néanmoins, cette analyse matricielle sera vite insuffisante : parce que ces matrices constituent une succession de photographies de l’état des stocks à intervalles réguliers, elles ne permettent pas de saisir les relations dynamiques unissant les variables macroéconomiques. Elles devront donc être complétées par des analyses d’un autre type.
Etudes dynamiques, chocs, expériences
Comme dans le monde réel, l’étude de la dynamique du système économique modélisé passe par l’analyse graphique des séries temporelles des principaux indicateurs macroéconomiques. Nous utiliserons donc fréquemment ce type d’analyse, qui permet de saisir les enchaînements causaux à travers la description de l’« histoire » d’une simulation. Surtout, pour faire apparaître plus clairement ces mécanismes, nous pourrons nous livrer à de véritables expériences.
Dans une expérience, deux simulations sont mises en route. Dans l’une des deux simulations, le facteur à étudier est présent — sous la forme d’une brutale variation d’un paramètre à un instant donné — et dans l’autre non. Tous les autres paramètres sont en tout point identiques pour chaque manipulation — y compris la graine du générateur de nombres pseudo-aléatoire 2 ; la seconde simulation constitue un dispositif témoin.
Cependant de telles études ne peuvent être menées de façon systématique, pour toutes les combinaisons de paramètres du modèle.
Exploration extensive
Les modèles multi-agents présentent généralement un grand nombre de paramètres. Ginot et Monod (2006) montrent qu’une exploration extensive d’un tel modèle est impossible. Reprenons rapidement leur démonstration avec les données de notre modèle.
Le scénario d’une simulation est défini par 27 paramètres (5 pour le secteur bancaire, 5 pour le secteur des ménages, 17 pour le secteur des entreprises). Si l’on discrétise chacune des dimensions représentant un paramètre du modèle en 10 classes (10 valeurs pour chaque paramètres), il faudra 1027 simulations pour explorer toutes les combinaisons — un milliard de milliards de milliards de simulations — ce qui représente, même avec un ordinateur très puissant, un temps de calcul très largement supérieur à l’âge de l’univers (et encore, nous n’avons pas pris en compte le caractère stochastique du modèle).
L’exploration de toutes les configurations de paramètres est donc impossible, et 2. Un ordinateur étant une machine déterministe, le hasard y est simulé au moyen d’un générateur de nombres pseudo aléatoires, c’est-à-dire au moyen d’un algorithme qui génère une séquence de nombres présentant certaines propriétés du hasard. La « graine » du générateur est un nombre qui définit l’état initial de l’algorithme. En fixant cette graine d’une simulation à une autre, on s’assure de pouvoir disposer de deux séquences de nombres pseudo aléatoires identiques. Le contrôle de cette graine est donc essentiel à la réplicabilité unitaire des simulations (Amblard, Rouchier, et Bommel 2006, p. 95). c’est pour cela que Ginot et Monod jugent qu’il est toujours préférable d’analyser le modèle analytiquement — lorsque c’est possible. Dans le cas des modèles multiagents, c’est généralement impossible.
Analyses de sensibilité
Ginot et Monod proposent alors de pratiquer des analyses de sensibilité locale.
Il s’agit d’étudier les variations des sorties du modèle par rapport à une gamme de variation d’un paramètre unique, tous les autres restants fixés. Comme le font remarquer les auteurs : « On constatera aisément que la sensibilité dépend non seulement de la sortie et du paramètre considéré, mais aussi, et en particulier pour les modèles non linéaires, de la valeur précise du paramètre, de la valeur des autres paramètres et de l’instant de la simulation. C’est donc une valeur locale, valable uniquement pour un point de fonctionnement particulier du modèle. » (Ginot et Monod 2006, p. 66)
Les analyses de sensibilité impliquent donc le choix d’un « point de fonctionnement de référence » à proximité duquel on va étudier le modèle. Les auteurs proposent alors d’explorer graphiquement l’évolution des coefficients de sensibilité lorsqu’on s’éloigne du point de référence.
« Une manière très simple est de s’intéresser à chaque paramètre à tour de rôle en construisant les graphes donnant la (les) sortie(s) du modèle en fonction de chaque paramètre, les autres paramètres étant fixés à leur valeur de référence. Et ceci pour une gamme assez large de valeurs pour chaque paramètre, bien souvent la gamme de valeurs biologiquement (ou sociologiquement) acceptables. » (Ginot et Monod 2006, p. 68)
Les auteurs nomment « signature individuelle » du paramètre le graphe ainsi construit
— avec en abscisse le paramètre étudié, en ordonnée la variable dépendante observée
— qui permet de visualiser la sensibilité de l’une par rapport à l’autre.
A partir de ces signatures individuelles, Ginot et Monod proposent de préparer des analyses de sensibilités globales. Ces études posent trois difficultés particulières : « il va falloir résumer chaque signature individuelle, explorer un très vaste espace de combinaisons de valeurs de paramètres, et estimer les interactions entre paramètres. » (Ginot et Monod 2006, p. 73).
Nous l’avons déjà dit, notre modèle ne prétend pas être un modèle de prévision et de décision. Suivant la démarche constructive propre à l’approche multi-agents, nous avons fait abstraction d’un très grand nombre d’éléments importants du monde réel pour concentrer notre effort de modélisation sur quelques mécanismes simples de la production et du crédit. Une étude systématique et une mesure précise des sensibilités globales du modèle sont donc sans intérêt pour notre projet, au regard des difficultés techniques que cette étude et cette mesure impliquent.
Nous considérons notre modèle comme un prototype — c’est à dire un premier exemplaire destiné à subir des tests afin de valider les choix de conception de l’ensemble. Nous décidons d’un plan d’exploration limité à l’analyse des signatures individuelles des principaux paramètres du modèles, autour d’un point de référence de fonctionnement unique. L’étude d’une signature individuelle revenant à explorer le modèle le long d’une dimension de l’espace des paramètres, nous nous proposons donc de choisir un point de départ approximativement central dans cet espace, puis de « rayonner » méthodiquement à partir de ce point en privilégiant les directions qui paraissent les plus prometteuses.
Le modèle étant stochastique, nous devrons lancer plusieurs fois une nouvelle simulation pour la même valeur du paramètre étudié en faisant varier à chaque fois la graine du générateur de nombres pseudo-aléatoires. Nous obtiendrons donc une mesure de la variabilité du modèle pour chaque valeur du paramètre (Ginot et Monod 2006, p. 68) 3.
Définition du scénario de base
Nous devons définir un scénario de base, comme le point de fonctionnement de référence du modèle. C’est à partir de ce « camp de base » que nous pourrons ensuite lancer méthodiquement des « expéditions exploratoires » dans différentes directions de l’espace des paramètres. Où placer ce « camp de base » ?
Etat initial du modèle
La question des paramètres exogènes réglée, reste la question des valeurs initiales des paramètres endogènes. Cette question, qui n’a pas d’importance dans des modèles d’équilibre unique, peut être très importante dans des modèles dynamiques et complexes susceptibles de présenter des phénomènes de « dépendance au sentier » (hystérésis). Or le nombre de variables définissant l’état du système est bien plus grand que le nombre de paramètres, puisque l’état du système est rigoureusement défini par l’état de chacun des agents qui le composent, états dont nous savons qu’ils sont hétérogènes. Il est donc hors de question de pratiquer une étude systématique des conditions initiales, de même qu’il est inutile, compte tenu du caractère rudimentaire du modèle, d’aller chercher ces données dans le monde réel. Enfin, même une initialisation arbitraire du modèle pose problème : en effet, il paraît extrêmement difficile de concevoir une répartition cohérente des stocks de monnaie, de marchandises et de dettes entre les milliers d’agents composant le modèle.
Une solution beaucoup plus simple consiste à confier l’initialisation du modèle au modèle lui-même, par la mise en oeuvre des processus endogènes de production et de répartition, en partant de zéro. La matrice des bilans sectoriel B.1 (annexe B, page 353) donne une synthèse de l’état du modèle au début de la simulation, fin décembre 1999 7 . A ce moment, tous les stocks sont nuls : les agents ne détiennent ni marchandises, ni monnaie, ni dette. Cette hypothèse peu réaliste — une économie sans passé — va fortement marquer les premières années de la simulation.