700 millions de thétas et MOA et MOA et MOA
Ce billet parle des résultats d’un atelier transverse effectué au sein du Pôle Agronomie et Modélisation sur le thème de l’estimation des paramètres : c’est l’occasion de parler de la transversalité, des modèles et des paramètres (souvent désignés par la lettre grecque théta). Cet atelier s’appelait MOA pour Model Output Analysis.
Je vous laisse deviner les 700 millions de jeux de mots dont cet acronyme a été le prétexte.
Les modèles : une simplification de la réalité qui reste complexe
Les outils qu’itk met à disposition de ses utilisateurs sont basés sur des modèles qui simulent la croissance des cultures en interaction avec le climat, le sol, les maladies… Ces modèles sont conçus pour répondre à des problématiques précises et sont simplifiés au maximum : c’est le principe de parcimonie.
Néanmoins, le niveau de complexité atteint par ces modèles peut être relativement important, ce qui en fait des objets d’études en tant que tels. Parmi les études que l’on peut faire sur un modèle, on trouve les analyses de sensibilité.
Analyse de sensibilité et estimation des paramètres
Un paramètre est une valeur qui reste constante au cours d’une simulation pour une parcelle donnée. Ils peuvent varier d’une parcelle à l’autre. Par exemple, la profondeur du sol, la capacité de photosynthèse d’une variété sont des paramètres.
Une analyse de sensibilité sert à déterminer si les sorties du modèle qui nous intéressent (comme le rendement ou la marge brute de l’agriculteur) sont influencées fortement ou non par ces paramètres. Pour ce faire, plusieurs valeurs de paramètres sont testées et les conséquences sur les sorties mesurées. On peut de cette façon étudier les influences propres de ces paramètres ainsi que leurs interactions.
Les graphiques ci-dessous illustrent simplement un paramètre qui a une forte influence sur la sortie (à gauche) et un qui a une faible influence (à droite).
Une analyse de sensibilité permet de :
- débugger efficacement le modèle, car on sort des sentiers battus
- vérifier que le modèle a le comportement attendu
- déterminer quels sont les paramètres essentiels à mesurer
- choisir ceux qui doivent faire l’objet d’une calibration (par exemple les paramètres qui caractérisent une variété et qui sont les mêmes où que soit cultivée la variété)
- simplifier un modèle en supprimant des formalismes qui mettent en œuvre des paramètres non influents
Avant de se lancer dans un travail d’estimation de paramètres, il est bon de suivre les étapes suivantes :
- Répondre aux questions suivantes : dans quel but je cherche à estimer des paramètres et quels sont mes critères de réussite ?
- Identifier les paramètres à estimer par une analyse de sensibilité, ce qui implique de déterminer leur gamme de variation
- Identifier la meilleure méthode d’estimation des paramètres
Et la transversalité dans tout ça ?
La transversalité désigne tout ce qui permet de mettre en commun le travail effectué dans une équipe et qui peut servir à d’autres équipes, ou à maintenir sur le long terme des compétences dans le pôle. Elle permet également de réfléchir à nos outils de demain et de garder un lien fort entre équipes.
Pour produire du code ou des connaissances, nous constituons ce que nous appelons des ateliers qui conduisent un travail en mode projet : il y a un début, une fin, des objectifs précis identifiés, un suivi de l’avancement. Les ateliers sont composés de personnes d’équipes différentes qui dégagent du temps pour faire avancer cet objectif transverse.
On n’a évidemment pas attendu 2018 pour faire des analyses de sensibilité et des estimations de paramètres à itk. Mais cette année, trois ateliers ont permis de mettre à plat nos méthodes et de les homogénéiser. Au cours des premières années d’itk, il y a eu un travail de défrichage, puis de consolidation des méthodes et des pratiques ; il s’agissait à présent d’aplanir la voie pour nos futurs collègues et rendre notre travail au quotidien plus efficace.
La joie par le travail (Hubert, tu tiens ton livre à l’envers !)
Les différents ateliers
Atelier 1
Le premier atelier (réalisé en 2017) a permis de :
- Comparer différentes méthodes d’estimation des paramètres, pour déterminer celles qui sont le plus adaptées à nos besoins
- Nouer un partenariat avec MESO@LR de l’Université de Montpellier afin de faire du calcul intensif
Un joli tableau…
Atelier 2
Le deuxième atelier a permis d’établir un arbre de décision pour choisir la méthode d’analyse de sensibilité la plus appropriée. Par exemple, si je peux considérer que mes paramètres ont une distribution uniforme, que le modèle n’est pas monotone et que j’ai plus de 20 paramètres, je vais utiliser plutôt Morris (à ne pas confondre avec Morris). Le nombre de $ indique le coût en temps de calcul et d’analyse, de la méthode.
Atelier 3 : enfin MOA !
Et MOA dans tout ça alors ?
Cet atelier a permis de développer un paquet Python pour réaliser des analyses de sensibilité.
- Comment ? Développer un paquet Python ? Mais parbleu il doit bien en exister déjà, non ?
- Certes oui, et l’idée n’était absolument pas de redévelopper en Python ces méthodes. D’ailleurs tous nos codes commencent par des choses du style :
Nous utilisons la librairie SALib (pour « Sensitivity Analysis Library », visiblement).
Le but de ce paquet interne, qui s’appelle parametrix (oui, nous sommes prompts à une certaine dose d’humour par chez nous) sert à faire l’interface entre ces librairies existantes et nos modèles et à fournir à tous nos (futurs) collègues les outils pour faire facilement une analyse de sensibilité.
Cette image tirée d’une présentation interne illustre fort bien ce qu’apporte parametrix :
Allons à la rencontre de nos collègues
Je me fais à présent journaliste et vais tendre le micro vers un collègue qui a orchestré MOA.
Hubert, en tant que porteur de l’atelier MOA, peux-tu nous faire part de quelques réflexions ?
La trilogie des ateliers liés à la paramétrisation des modèles de cultures a redonné l’occasion aux membres du pôle agro de partager des connaissances et de construire un outil commun. Les méthodes d’analyse de sensibilité sont un outil précieux pour comprendre le fonctionnement du modèle et en garantir un bon développement. Ces méthodes sont cruciales pour identifier les paramètres qui méritent toute l’attention du modélisateur.
En cela, ces trois ateliers ont été une réussite totale à l’échelle d’itk, du fait de la qualité de l’outil final qui a été délivré mais aussi du fait des collaborations internes (entre les différentes équipes/projets d’itk) et externes (par exemple avec l’Université Montpellier 2) qui ont été générées. L’application des résultats de ces ateliers à nos modèles maïs et soja, qui s’insèrent dans un projet international, a permis de réduire significativement l’erreur de simulation et d’augmenter ainsi la confiance de notre client.
Aujourd’hui, il faut veiller à ce que le travail autour de cette thématique de paramétrisation se poursuivre avec la même ardeur au sein de chaque équipe d’itk mais aussi de façon transverse. Pour finir, je tiens à dire que j’ai été très heureux de porter les deux derniers ateliers et de voir comment les membres du pôle agro se sont très positivement impliqués. Ce fut une très belle expérience, merci.
La suite !
La suite naturelle de ce travail est de réaliser le même travail (frugal, bien entendu !) sur la paramétrisation des modèles. Les spéculations vont bon train sur le nom des futurs ateliers (MIA ?)…