Salome HOME
Documentation improvements and post analysis
[modules/adao.git] / doc / fr / methodology.rst
1 ..
2    Copyright (C) 2008-2021 EDF R&D
3
4    This file is part of SALOME ADAO module.
5
6    This library is free software; you can redistribute it and/or
7    modify it under the terms of the GNU Lesser General Public
8    License as published by the Free Software Foundation; either
9    version 2.1 of the License, or (at your option) any later version.
10
11    This library is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    Lesser General Public License for more details.
15
16    You should have received a copy of the GNU Lesser General Public
17    License along with this library; if not, write to the Free Software
18    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19
20    See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
22    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
23
24 .. _section_methodology:
25
26 ===========================================================================================
27 **[DocT]** Méthodologie pour élaborer une étude d'Assimilation de Données ou d'Optimisation
28 ===========================================================================================
29
30 Cette section présente un méthodologie générique pour construire une étude
31 d'Assimilation de Données ou d'Optimisation. Elle décrit les étapes
32 conceptuelles pour établir de manière indépendante cette étude. Elle est
33 indépendante de tout outil, mais le module ADAO permet de mettre en œuvre
34 efficacement une telle étude. Les notations sont les mêmes que celles utilisées
35 dans :ref:`section_theory`.
36
37 Procédure logique pour une étude
38 --------------------------------
39
40 Pour une étude générique d'Assimilation de Données ou d'Optimisation, les
41 principales étapes méthodologiques peuvent être les suivantes, chacune des
42 étapes étant détaillée dans la section qui suit :
43
44 - :ref:`section_m_step1`
45 - :ref:`section_m_step2`
46 - :ref:`section_m_step3`
47 - :ref:`section_m_step4`
48 - :ref:`section_m_step5`
49 - :ref:`section_m_step6`
50 - :ref:`section_m_step7`
51
52 Si on veut illustrer ces étapes méthodologiques du point de vue d'une étude
53 appliquée à un système ou un problème industriel, le schéma suivant fait
54 correspondre ces étapes méthodologiques avec les étapes classiques dans une
55 étude :
56
57   .. _meth_steps_in_study:
58   .. image:: images/meth_steps_in_study.png
59     :align: center
60     :width: 75%
61   .. centered::
62     **Les étapes méthodologiques requises lors d'une démarche d'étude appliquée à un système ou un problème industriel**
63
64 Procédure détaillée pour une étude
65 ----------------------------------
66
67 .. _section_m_step1:
68
69 ÉTAPE 1: Spécifier la résolution du système physique et les paramètres à ajuster
70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
71
72 Une source essentielle de connaissance du système physique étudié est la
73 simulation numérique. Elle est souvent disponible à travers un ou des cas de
74 calcul, et elle est symbolisée par un **opérateur de simulation** (précédemment
75 inclus dans :math:`H`). Un cas de calcul standard rassemble des hypothèses de
76 modèles, une implémentation numérique, des capacités de calcul, etc. de manière
77 à représenter le comportement du système physique. De plus, un cas de calcul est
78 caractérisé par exemple par ses besoins en temps de calcul et en mémoire, par la
79 taille de ses données et de ses résultats, etc. La connaissance de tous ces
80 éléments est primordiale dans la mise au point d'une étude d'assimilation de
81 données ou d'optimisation.
82
83 Pour établir correctement une étude, il faut aussi choisir les inconnues
84 d'optimisation incluses dans la simulation. Fréquemment, cela peut être à l'aide
85 de modèles physiques dont les paramètres peuvent être ajustés. De plus, il est
86 toujours utile d'ajouter une connaissance de type sensibilité, comme par exemple
87 celle de la simulation par rapport aux paramètres qui peuvent être ajustés. Des
88 éléments plus généraux, comme la stabilité ou la régularité de la simulation par
89 rapport aux inconnues en entrée, sont aussi d'un grand intérêt.
90
91 En pratique, les méthodes d'optimisation peuvent requérir une information de
92 type gradient de la simulation par rapport aux inconnues. Dans ce cas, le
93 gradient explicite du code doit être donné, ou le gradient numérique doit être
94 établi. Sa qualité est en relation avec la stabilité ou la régularité du code de
95 simulation, et elle doit être vérifiée avec soin avant de mettre en œuvre les
96 calculs d'optimisation. Des conditions spécifiques doivent être utilisées pour
97 ces vérifications.
98
99 Un **opérateur d'observation** est toujours requis, en complément à l'opérateur
100 de simulation. Cet opérateur d'observation, noté :math:`H` ou inclus dedans,
101 doit convertir les sorties de la simulation numérique en quelque-chose qui est
102 directement comparable aux observations. C'est un opérateur essentiel, car il
103 est le moyen pratique de comparer les simulations et les observations. C'est
104 usuellement réalisé par échantillonnage, projection ou intégration, des sorties
105 de simulation, mais cela peut être plus compliqué. Souvent, du fait que
106 l'opérateur d'observation fasse directement suite à celui de simulation dans un
107 schéma simple d'assimilation de données, cet opérateur d'observation utilise
108 fortement les capacités de post-traitement et d'extraction du code de
109 simulation.
110
111 .. _section_m_step2:
112
113 ÉTAPE 2: Spécifier les critères de qualification des résultats physiques
114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
115
116 Comme les systèmes étudiés ont une réalité physique, il est important d'exprimer
117 les **information physiques qui peuvent aider à qualifier un état simulé du
118 système**. Il y a deux grand types d'informations qui conduisent à des critères
119 permettant la qualification et la quantification de résultats d'optimisation.
120
121 Premièrement, provenant d'une connaissance mathématique ou numérique, un grand
122 nombre d'indicateurs standards permettent de qualifier, en relatif ou en absolu,
123 l'intérêt d'un état optimal. Par exemple, des équations d'équilibre ou des
124 conditions de fermeture sont des mesures complémentaires de la qualité d'un état
125 du système. Des critères bien choisis comme des RMS, des RMSE, des extrema de
126 champs, des intégrales, etc. permettent d'évaluer la qualité d'un état optimisé.
127
128 Deuxièmement, provenant d'une connaissance physique ou expérimentale, des
129 informations utiles peuvent être obtenus à partir de l'interprétation des
130 résultats d'optimisation. En particulier, la validité physique ou l'intérêt
131 technique permettent d'évaluer l'intérêt de résultats des résultats numériques
132 de l'optimisation.
133
134 Pour obtenir une information signifiante de ces deux types de connaissances, il
135 est recommandé, si possible, de construire des critères numériques pour
136 faciliter l'évaluation de la qualité globale des résultats numériques
137
138 .. _section_m_step3:
139
140 ÉTAPE 3: Identifier et décrire les observations disponibles
141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
142
143 En tant que seconde source d'information principale à propos du système physique
144 à étudier, les **observations, ou mesures,** notées :math:`\mathbf{y}^o`,
145 doivent être décrites avec soin. La qualité des mesures, leur erreurs
146 intrinsèques, leur particularités, sont importantes à connaître, pour pouvoir
147 introduire ces informations dans les calculs d'assimilation de données ou
148 d'optimisation.
149
150 Les observations doivent non seulement être disponibles, mais aussi doivent
151 pouvoir être introduites efficacement dans l'environnement numérique de calcul
152 ou d'optimisation. Ainsi l'environnement d'accès numérique aux observations est
153 fondamental pour faciliter l'usage effectif de mesures variées et de sources
154 diverses, et pour encourager des essais extensifs utilisant des mesures.
155 L'environnement d'accès numérique intègre la disponibilité de bases de données
156 ou pas, les formats de données, les interfaces d'accès, etc.
157
158 .. _section_m_step4:
159
160 ÉTAPE 4: Spécifier les éléments de modélisation de l'AD/Optimisation (covariances, ébauche...)
161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
162
163 Des éléments supplémentaires de modélisation en Assimilation de Données ou en
164 Optimisation permettent d'améliorer l'information à propos de la représentation
165 détaillée du système physique étudié.
166
167 La connaissance *a-priori* de l'état du système peut être représentée en
168 utilisant une **ébauche**, notée :math:`\mathbf{x}^b`, et la **matrice de
169 covariance des erreurs d'ébauche**, notée :math:`\mathbf{B}`. Ces informations
170 sont extrêmement importantes à compléter, en particulier pour obtenir des
171 résultats signifiants en Assimilation de Données.
172
173 Par ailleurs, des informations sur les erreurs d'observation peuvent être
174 utilisées pour compléter la **matrice de covariance des erreurs d'observation**,
175 notée :math:`\mathbf{R}`. Comme pour :math:`\mathbf{B}`, il est recommandé
176 d'utiliser des informations soigneusement vérifiées pour renseigner ces matrices
177 de covariances.
178
179 Dans le cas de simulations dynamiques, il est de plus nécessaire de définir un
180 **opérateur d'évolution** et la **matrice de covariance des erreurs
181 d'évolution** associée.
182
183 .. _section_m_step5:
184
185 ÉTAPE 5: Choisir l'algorithme d'optimisation et ses paramètres
186 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
187
188 L'Assimilation de Données ou l'Optimisation demandent de résoudre un problème
189 d'optimisation, le plus souvent sous la forme d'un problème de minimisation.
190 Selon la disponibilité du gradient de la fonction coût en fonction des
191 paramètres d'optimisation, la classe recommandée de méthodes sera différente.
192 Les méthodes d'optimisation variationnelles ou avec linéarisation locale
193 nécessitent ce gradient. A l'opposé, les méthodes sans dérivées ne nécessitent
194 pas ce gradient, mais présentent souvent un coût de calcul notablement
195 supérieur.
196
197 A l'intérieur même d'une classe de méthodes d'optimisation, pour chaque méthode,
198 il y a usuellement un compromis à faire entre les *"capacités génériques de la
199 méthode"* et ses *"performances particulières sur un problème spécifique"*. Les
200 méthodes les plus génériques, comme par exemple la minimisation variationnelle
201 utilisant l':ref:`section_ref_algorithm_3DVAR`, présentent de remarquables
202 propriétés numériques d'efficacité, de robustesse et de fiabilité, ce qui
203 conduit à les recommander indépendamment du problème à résoudre. De plus, il est
204 souvent difficile de régler les paramètres d'une méthode d'optimisation, donc la
205 méthodes la plus robuste est souvent celle qui présente le moins de paramètres.
206 Au final, au moins au début, il est recommandé d'utiliser les méthodes les plus
207 génériques et de changer le moins possible les paramètres par défaut connus.
208
209 .. _section_m_step6:
210
211 ÉTAPE 6: Conduire les calculs d'optimisation et obtenir les résultats
212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
213
214 Après avoir mis au point une étude d'Assimilation de Données ou d'Optimisation,
215 les calculs doivent être conduits de manière efficace.
216
217 Comme l'optimisation requiert usuellement un grand nombre de simulations
218 physiques élémentaires du système, les calculs sont souvent effectués dans un
219 environnement de calculs hautes performances (HPC, ou Hight Performance
220 Computing) pour réduire le temps complet d'utilisateur. Même si le problème
221 d'optimisation est petit, le temps de simulation du système physique peut être
222 long, nécessitant des ressources de calcul conséquentes. Ces besoins doivent
223 être pris en compte suffisamment tôt dans la procédure d'étude pour être
224 satisfaits sans nécessiter un effort trop important.
225
226 Pour la même raison de besoins de calculs importants, il est aussi important de
227 préparer soigneusement les sorties de la procédure d'optimisation. L'état
228 optimal est la principale information requise, mais un grand nombre d'autres
229 informations spéciales peuvent être obtenues au cours du calcul d'optimisation
230 ou à la fin: évaluation des erreurs, états intermédiaires, indicateurs de
231 qualité, etc. Toutes ces informations, nécessitant parfois des calculs
232 additionnels, doivent être connues et demandées au début du processus
233 d'optimisation.
234
235 .. _section_m_step7:
236
237 ÉTAPE 7: Exploiter les résultats et qualifier leur pertinence physique
238 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
239
240 Une fois les résultats obtenus, ils doivent être interprétés en termes de
241 significations physique et numérique. Même si la démarche d'optimisation donne
242 toujours un nouvel état optimal qui est au moins aussi bon que l'état *a
243 priori*, et le plus souvent meilleur, cet état optimal doit par exemple être
244 vérifié par rapport aux critères de qualité identifiés au moment de
245 :ref:`section_m_step2`. Cela peut conduire à des études statistiques ou
246 numériques de manière à évaluer l'intérêt d'un état optimal pour représenter la
247 système physique.
248
249 Au-delà de cette analyse qui doit être réalisée pour chaque étude d'Assimilation
250 de Données ou d'Optimisation, il est très utile d'exploiter les résultats
251 d'optimisation comme une partie intégrée dans une étude plus complète du système
252 physique d'intérêt.
253
254 .. _section_methodology_twin:
255
256 Pour tester une chaîne d'assimilation de données : les expériences jumelles
257 ---------------------------------------------------------------------------
258
259 .. index:: single: chaîne d'assimilation de données
260 .. index:: single: expériences jumelles
261
262 Lors de la mise au point d'une étude d'assimilation, les différentes étapes
263 décrites ci-dessus forment ce que l'on appelle une "chaîne d'assimilation de
264 données". Les tests et l'analyse de cette chaîne sont essentiels pour évaluer
265 la confiance que l'on peut avoir dans la démarche globale de l'étude.
266
267 Pour cela, les expériences jumelles forment un outil classique et très utile,
268 qui permet de se placer dans un environnement particulier où les simulations et
269 les erreurs attendues peuvent être contrôlées. Ainsi, les difficultés
270 méthodologiques ou numériques peuvent être séparées et identifiées, puis
271 corrigées.
272
273 On peut schématiser l'approche par expériences jumelles par la figure qui suit,
274 qui présente l'objectif et les moyens de la démarche :
275
276   .. _meth_twin_experiments:
277   .. image:: images/meth_twin_experiments.png
278     :align: center
279     :width: 75%
280   .. centered::
281     **La démarche d'expériences jumelles pour tester et analyser une chaîne d'assimilation de données (AD)**
282
283 Pour simplifier, on peut décrire l'approche générale pour appliquer la
284 méthodologie d'expériences jumelles de la manière suivante :
285
286 - on choisit de manière arbitraire un état dit "vrai", qui doit être valide pour la simulation ;
287 - on élabore ensuite des "pseudo-observations" à partir de la simulation de l'état vrai, en échantillonnant la simulation de manière similaire à de vraies observations ;
288 - on incorpore éventuellement du bruit, soit dans l'état vrai, soit dans les pseudo-observations, soit dans la chaîne de calcul, et cela de manière cohérente avec les hypothèses d'élaboration de la chaîne, pour voir son effet sur une partie spécifique de la chaîne ;
289 - on analyse ensuite, selon les hypothèses de bruit appliquées, la capacité de la chaîne à retrouver l'état vrai ou des différences attendues.
290
291 Ainsi, la méthodologie d'expériences jumelles, appliquée plusieurs fois et avec
292 des hypothèses contrôlées de bruit ou d'erreur différentes, permet alors de
293 vérifier étape par étape chacune des composantes de la chaîne complète
294 d'assimilation de données.