Salome HOME
Documentation and functions minor update correction
[modules/adao.git] / doc / fr / theory.rst
1 ..
2    Copyright (C) 2008-2018 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_theory:
25
26 =================================================================================
27 **[DocT]** Une brève introduction à l'Assimilation de Données et à l'Optimisation
28 =================================================================================
29
30 .. index:: single: Data Assimilation
31 .. index:: single: assimilation de données
32 .. index:: single: état vrai
33 .. index:: single: observation
34 .. index:: single: a priori
35
36 L'**assimilation de données** est un cadre général pour le calcul de
37 l'estimation optimale de l'état réel d'un système, au cours du temps si
38 nécessaire. Il utilise les valeurs obtenues en combinant des observations et des
39 modèles *a priori*, incluant de plus des informations sur leurs erreurs.
40
41 En d'autres termes, l'assimilation de données rassemble les données mesurées
42 d'un système, qui sont les observations, avec une connaissance physique et
43 mathématique *a priori* du système, intégrée dans les modèles numériques, afin
44 d'obtenir la meilleure estimation possible de l'état réel du système et de ses
45 propriétés stochastiques. On note que cet état réel (ou "*état vrai*") ne peut
46 être atteint, mais peut seulement être estimé. De plus, malgré le fait que les
47 informations utilisées sont stochastiques par nature, l'assimilation de données
48 fournit des techniques déterministes afin de réaliser l'estimation de manière
49 très efficace.
50
51 L'assimilation de données cherchant l'estimation la **meilleure possible**, la
52 démarche technique sous-jacente intègre toujours de l'optimisation afin de
53 trouver cette estimation : des méthodes d'optimisation choisies sont toujours
54 intégrées dans les algorithmes d'assimilation de données. Par ailleurs, les
55 méthodes d'optimisation peuvent être vues dans ADAO comme un moyen d'étendre les
56 applications d'assimilation de données. Elles seront présentées de cette façon
57 dans la section pour `Approfondir l'estimation d'état par des méthodes
58 d'optimisation`_, mais elles sont beaucoup plus générale et peuvent être
59 utilisés sans les concepts d'assimilation de données.
60
61 Deux types principaux d'applications existent en assimilation de données, qui
62 sont couverts par le même formalisme : l'**identification de paramètres** et la
63 **reconstruction de champs**. Avant d'introduire la `Description simple du cadre
64 méthodologique de l'assimilation de données`_ dans une prochaine section, nous
65 décrivons brièvement ces deux types d'applications. A la fin de ce chapitre,
66 quelques références permettent d'`Approfondir le cadre méthodologique de
67 l'assimilation de données`_ et d'`Approfondir l'estimation d'état par des
68 méthodes d'optimisation`_.
69
70 Reconstruction de champs ou interpolation de données
71 ----------------------------------------------------
72
73 .. index:: single: reconstruction de champs
74 .. index:: single: interpolation de données
75 .. index:: single: interpolation de champs
76
77 La **reconstruction (ou l'interpolation) de champs** consiste à trouver, à
78 partir d'un nombre restreint de mesures réelles, le champs physique qui est le
79 plus *cohérent* avec ces mesures.
80
81 La *cohérence* est à comprendre en termes d'interpolation, c'est-à-dire que le
82 champ que l'on cherche à reconstruire, en utilisant de l'assimilation de données
83 sur les mesures, doit s'adapter au mieux aux mesures, tout en restant contraint
84 par la simulation globale du champ. Le champ calculé est donc une estimation *a
85 priori* du champ que l'on cherche à identifier.
86
87 Si le système évolue dans le temps, la reconstruction doit être établie à chaque
88 pas de temps, du champ dans son ensemble. Le processus d'interpolation est dans
89 ce cas plus compliqué car il est temporel, et plus seulement en termes de
90 valeurs instantanées du champ.
91
92 Un exemple simple de reconstruction de champs provient de la météorologie, dans
93 laquelle on recherche les valeurs de variables comme la température ou la
94 pression en tout point du domaine spatial. On dispose de mesures instantanées de
95 ces quantités en certains points, mais aussi d'un historique de ces mesures. De
96 plus, ces variables sont contraintes par les équations d'évolution de
97 l'atmosphère, qui indiquent par exemple que la pression en un point ne peut pas
98 prendre une valeur quelconque indépendamment de la valeur au même point à un
99 temps précédent. On doit donc faire la reconstruction d'un champ en tout point
100 de l'espace, de manière "cohérente" avec les équations d'évolution et avec les
101 mesures aux précédents pas de temps.
102
103 Identification de paramètres, ajustement de modèles, calibration
104 ----------------------------------------------------------------
105
106 .. index:: single: identification de paramètres
107 .. index:: single: ajustement de paramètres
108 .. index:: single: ajustement de modèles
109 .. index:: single: calibration
110 .. index:: single: ébauche
111 .. index:: single: régularisation
112 .. index:: single: problèmes inverses
113
114 L'**identification (ou l'ajustement) de paramètres** par assimilation de données
115 est une forme de calibration d'état qui utilise simultanément les mesures
116 physiques et une estimation *a priori* des paramètres (appelée l'"*ébauche*")
117 d'état que l'on cherche à identifier, ainsi qu'une caractérisation de leurs
118 erreurs. De ce point de vue, cette démarche utilise toutes les informations
119 disponibles sur le système physique, avec des hypothèses restrictives mais
120 réalistes sur les erreurs, pour trouver l'"*estimation optimale*" de l'état
121 vrai. On peut noter, en termes d'optimisation, que l'ébauche réalise la
122 "*régularisation*", au sens mathématique de Tikhonov [Tikhonov77]_
123 [WikipediaTI]_, du problème principal d'identification de paramètres. On peut
124 aussi désigner cette démarche comme une résolution de type "*problème inverse*".
125
126 En pratique, les deux écarts (ou incréments) observés "*calculs-mesures*" et
127 "*calculs-ébauche*" sont combinés pour construire la correction de calibration
128 des paramètres ou des conditions initiales. L'ajout de ces deux incréments
129 requiert une pondération relative, qui est choisie pour refléter la confiance
130 que l'on donne à chaque information utilisée. Cette confiance est représentée
131 par la covariance des erreurs sur l'ébauche et sur les observations. Ainsi
132 l'aspect stochastique des informations est essentiel pour construire une
133 fonction d'erreur pour la calibration.
134
135 Un exemple simple d'identification de paramètres provient de tout type de
136 simulation physique impliquant un modèle paramétré. Par exemple, une simulation
137 de mécanique statique d'une poutre contrainte par des forces est décrite par les
138 paramètres de la poutre, comme un coefficient de Young, ou par l'intensité des
139 forces appliquées. Le problème d'estimation de paramètres consiste à chercher
140 par exemple la bonne valeur du coefficient de Young de telle manière à ce que la
141 simulation de la poutre corresponde aux mesures, en y incluant la connaissance
142 des erreurs.
143
144 Description simple du cadre méthodologique de l'assimilation de données
145 -----------------------------------------------------------------------
146
147 .. index:: single: ébauche
148 .. index:: single: covariances d'erreurs d'ébauche
149 .. index:: single: covariances d'erreurs d'observation
150 .. index:: single: covariances
151 .. index:: single: 3DVAR
152 .. index:: single: Blue
153
154 On peut décrire ces démarches de manière simple. Par défaut, toutes les
155 variables sont des vecteurs, puisqu'il y a plusieurs paramètres à ajuster, ou un
156 champ discrétisé à reconstruire.
157
158 Selon les notations standards en assimilation de données, on note
159 :math:`\mathbf{x}^a` les paramètres optimaux qui doivent être déterminés par
160 calibration, :math:`\mathbf{y}^o` les observations (ou les mesures
161 expérimentales) auxquelles on doit comparer les sorties de simulation,
162 :math:`\mathbf{x}^b` l'ébauche (valeurs *a priori*, ou valeurs de
163 régularisation) des paramètres cherchés, :math:`\mathbf{x}^t` les paramètres
164 inconnus idéaux qui donneraient exactement les observations (en supposant que
165 toutes les erreurs soient nulles et que le modèle soit exact) en sortie.
166
167 Dans le cas le plus simple, qui est statique, les étapes de simulation et
168 d'observation peuvent être combinées en un unique opérateur d'observation noté
169 :math:`H` (linéaire ou non-linéaire). Il transforme formellement les paramètres
170 :math:`\mathbf{x}` en entrée en résultats :math:`\mathbf{y}`, qui peuvent être
171 directement comparés aux observations :math:`\mathbf{y}^o` :
172
173 .. math:: \mathbf{y} = H(\mathbf{x})
174
175 De plus, on utilise l'opérateur linéarisé :math:`\mathbf{H}` pour représenter
176 l'effet de l'opérateur complet :math:`H` autour d'un point de linéarisation (et
177 on omettra ensuite de mentionner :math:`H` même si l'on peut le conserver). En
178 réalité, on a déjà indiqué que la nature stochastique des variables est
179 essentielle, provenant du fait que le modèle, l'ébauche et les observations sont
180 tous incorrects. On introduit donc des erreurs d'observations additives, sous la
181 forme d'un vecteur aléatoire :math:`\mathbf{\epsilon}^o` tel que :
182
183 .. math:: \mathbf{y}^o = \mathbf{H} \mathbf{x}^t + \mathbf{\epsilon}^o
184
185 Les erreurs représentées ici ne sont pas uniquement celles des observations, ce
186 sont aussi celles de la simulation. On peut toujours considérer que ces erreurs
187 sont de moyenne nulle. En notant :math:`E[.]` l'espérance mathématique
188 classique, on peut alors définir une matrice :math:`\mathbf{R}` des covariances
189 d'erreurs d'observation par l'expression :
190
191 .. math:: \mathbf{R} = E[\mathbf{\epsilon}^o.{\mathbf{\epsilon}^o}^T]
192
193 L'ébauche peut aussi être écrite formellement comme une fonction de la valeur
194 vraie, en introduisant le vecteur d'erreurs :math:`\mathbf{\epsilon}^b` tel que
195 :
196
197 .. math:: \mathbf{x}^b = \mathbf{x}^t + \mathbf{\epsilon}^b
198
199 Les erreurs :math:`\mathbf{\epsilon}^b` sont aussi supposées de moyenne nulle,
200 de la même manière que pour les observations. On définit la matrice
201 :math:`\mathbf{B}` des covariances d'erreurs d'ébauche par :
202
203 .. math:: \mathbf{B} = E[\mathbf{\epsilon}^b.{\mathbf{\epsilon}^b}^T]
204
205 L'estimation optimale des paramètres vrais :math:`\mathbf{x}^t`, étant donné
206 l'ébauche :math:`\mathbf{x}^b` et les observations :math:`\mathbf{y}^o`, est
207 ainsi "l'*analyse*" :math:`\mathbf{x}^a` et provient de la minimisation d'une
208 fonction d'erreur, explicite en assimilation variationnelle, ou d'une correction
209 de filtrage en assimilation par filtrage.
210
211 En **assimilation variationnelle**, dans un cas statique, on cherche
212 classiquement à minimiser la fonction :math:`J` suivante :
213
214 .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
215
216 :math:`J` est classiquement désignée comme la fonctionnelle "*3D-VAR*" en
217 assimilation de données (voir par exemple [Talagrand97]_) ou comme la
218 fonctionnelle de régularisation de Tikhonov généralisée en optimisation (voir
219 par exemple [WikipediaTI]_). Comme les matrices de covariance :math:`\mathbf{B}`
220 et :math:`\mathbf{R}` sont proportionnelles aux variances d'erreurs, leur
221 présence dans les deux termes de la fonctionnelle :math:`J` permet effectivement
222 de pondérer les termes d'écarts par la confiance dans les erreurs d'ébauche ou
223 d'observations. Le vecteur :math:`\mathbf{x}` des paramètres réalisant le
224 minimum de cette fonction constitue ainsi l'analyse :math:`\mathbf{x}^a`. C'est
225 à ce niveau que l'on doit utiliser toute la panoplie des méthodes de
226 minimisation de fonctions connues par ailleurs en optimisation (voir aussi la
227 section `Approfondir l'estimation d'état par des méthodes d'optimisation`_).
228 Selon la taille du vecteur :math:`\mathbf{x}` des paramètres à identifier, et la
229 disponibilité du gradient ou de la hessienne de :math:`J`, il est judicieux
230 d'adapter la méthode d'optimisation choisie (gradient, Newton, quasi-Newton...).
231
232 En **assimilation par filtrage**, dans ce cas simple usuellement dénommé
233 "*BLUE*" (pour "*Best Linear Unbiased Estimator*"), l'analyse
234 :math:`\mathbf{x}^a` est donnée comme une correction de l'ébauche
235 :math:`\mathbf{x}^b` par un terme proportionnel à la différence entre les
236 observations :math:`\mathbf{y}^o` et les calculs :math:`\mathbf{H}\mathbf{x}^b` :
237
238 .. math:: \mathbf{x}^a = \mathbf{x}^b + \mathbf{K}(\mathbf{y}^o - \mathbf{H}\mathbf{x}^b)
239
240 où :math:`\mathbf{K}` est la matrice de gain de Kalman, qui s'exprime à l'aide
241 des matrices de covariance sous la forme suivante :
242
243 .. math:: \mathbf{K} = \mathbf{B}\mathbf{H}^T(\mathbf{H}\mathbf{B}\mathbf{H}^T+\mathbf{R})^{-1}
244
245 L'avantage du filtrage est le calcul explicite du gain, pour produire ensuite la
246 matrice *a posteriori* de covariance d'analyse.
247
248 Dans ce cas statique simple, on peut montrer, sous une hypothèse de
249 distributions gaussiennes d'erreurs (très peu restrictive en pratique), que les
250 deux approches *variationnelle* et *de filtrage* donnent la même solution.
251
252 On indique que ces méthodes de "*3D-VAR*" et de "*BLUE*" peuvent être étendues à
253 des problèmes dynamiques, sous les noms respectifs de "*4D-VAR*" et de "*filtre
254 de Kalman*". Elles peuvent prendre en compte l'opérateur d'évolution pour
255 établir aux bons pas de temps une analyse de l'écart entre les observations et
256 les simulations et pour avoir, à chaque instant, la propagation de l'ébauche à
257 travers le modèle d'évolution. Un grand nombre de variantes ont été développées
258 pour accroître la qualité numérique des méthodes ou pour prendre en compte des
259 contraintes informatiques comme la taille ou la durée des calculs.
260
261 Approfondir le cadre méthodologique de l'assimilation de données
262 ----------------------------------------------------------------
263
264 .. index:: single: estimation d'état
265 .. index:: single: estimation de paramètres
266 .. index:: single: problèmes inverses
267 .. index:: single: estimation bayésienne
268 .. index:: single: interpolation optimale
269 .. index:: single: régularisation mathématique
270 .. index:: single: méthodes de régularisation
271 .. index:: single: méthodes de lissage
272
273 Pour obtenir de plus amples informations sur les techniques d'assimilation de
274 données, le lecteur peut consulter les documents introductifs comme
275 [Talagrand97]_ ou [Argaud09]_, des supports de formations ou de cours comme
276 [Bouttier99]_ et [Bocquet04]_ (ainsi que d'autres documents issus des
277 applications des géosciences), ou des documents généraux comme [Talagrand97]_,
278 [Tarantola87]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ et [WikipediaDA]_.
279
280 On note que l'assimilation de données n'est pas limitée à la météorologie ou aux
281 géo-sciences, mais est largement utilisée dans d'autres domaines scientifiques.
282 Il y a de nombreux champs d'applications scientifiques et technologiques dans
283 lesquels l'utilisation efficace des données observées, mais incomplètes, est
284 cruciale.
285
286 Certains aspects de l'assimilation de données sont aussi connus sous les noms
287 d'*estimation d'état*, d'*estimation de paramètres*, de *problèmes inverses*,
288 d'*estimation bayésienne*, d'*interpolation optimale*, de *régularisation
289 mathématique*, de *lissage de données*, etc. Ces termes peuvent être utilisés
290 dans les recherches bibliographiques.
291
292 Approfondir l'estimation d'état par des méthodes d'optimisation
293 ---------------------------------------------------------------
294
295 .. index:: single: estimation d'état
296 .. index:: single: méthodes d'optimisation
297
298 Comme vu précédemment, dans un cas de simulation statique, l'assimilation
299 variationnelle de données nécessite de minimiser la fonction objectif :math:`J`:
300
301 .. math:: J(\mathbf{x})=(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
302
303 qui est dénommée la fonctionnelle du "*3D-VAR*". Elle peut être vue comme la
304 forme étendue d'une *minimisation moindres carrés*, obtenue en ajoutant un terme
305 de régularisation utilisant :math:`\mathbf{x}-\mathbf{x}^b`, et en pondérant les
306 différences par les deux matrices de covariances :math:`\mathbf{B}` et
307 :math:`\mathbf{R}`. La minimisation de la fonctionnelle :math:`J` conduit à la
308 *meilleure* estimation de l'état :math:`\mathbf{x}`. Pour obtenir plus
309 d'informations sur ces notions, on se reportera aux ouvrages généraux de
310 référence comme [Tarantola87]_.
311
312 Les possibilités d'extension de cette estimation d'état, en utilisant de manière
313 plus explicite des méthodes d'optimisation et leurs propriétés, peuvent être
314 imaginées de deux manières.
315
316 En premier lieu, les méthodes classiques d'optimisation impliquent l'usage de
317 méthodes de minimisation variées basées sur un gradient. Elles sont extrêmement
318 efficaces pour rechercher un minimum local isolé. Mais elles nécessitent que la
319 fonctionnelle :math:`J` soit suffisamment régulière et différentiable, et elles
320 ne sont pas en mesure de saisir des propriétés globales du problème de
321 minimisation, comme par exemple : minimum global, ensemble de solutions
322 équivalentes dues à une sur-paramétrisation, multiples minima locaux, etc. **Une
323 méthode pour étendre les possibilités d'estimation consiste donc à utiliser
324 l'ensemble des méthodes d'optimisation existantes, permettant la minimisation
325 globale, diverses propriétés de robustesse de la recherche, etc**. Il existe de
326 nombreuses méthodes de minimisation, comme les méthodes stochastiques,
327 évolutionnaires, les heuristiques et méta-heuristiques pour les problèmes à
328 valeurs réelles, etc. Elles peuvent traiter des fonctionnelles :math:`J` en
329 partie irrégulières ou bruitées, peuvent caractériser des minima locaux, etc. Le
330 principal désavantage de ces méthodes est un coût numérique souvent bien
331 supérieur pour trouver les estimations d'états, et pas de garantie de
332 convergence en temps fini. Ici, on ne mentionne que des méthodes qui sont
333 disponibles dans le module ADAO : la *régression de quantile (Quantile
334 Regression)* [WikipediaQR]_ et l'*optimisation par essaim de particules
335 (Particle Swarm Optimization)* [WikipediaPSO]_.
336
337 En second lieu, les méthodes d'optimisation cherchent usuellement à minimiser
338 des mesures quadratiques d'erreurs, car les propriétés naturelles de ces
339 fonctions objectifs sont bien adaptées à l'optimisation classique par gradient.
340 Mais d'autres mesures d'erreurs peuvent être mieux adaptées aux problèmes de
341 simulation de la physique réelle. Ainsi, **une autre manière d'étendre les
342 possibilités d'estimation consiste à utiliser d'autres mesures d'erreurs à
343 réduire**. Par exemple, on peut citer l'**erreur absolue**, l'**erreur
344 maximale**, etc. Ces mesures d'erreurs ne sont pas différentiables, mais
345 certaines méthodes d'optimisation peuvent les traiter: heuristiques et
346 méta-heuristiques pour les problèmes à valeurs réelles, etc. Comme précédemment,
347 le principal désavantage de ces méthodes est un coût numérique souvent bien
348 supérieur pour trouver les estimations d'états, et pas de garantie de
349 convergence en temps fini. Ici encore, on ne mentionne que des méthodes qui sont
350 disponibles dans le module ADAO : l'*optimisation par essaim de particules
351 (Particle Swarm Optimization)* [WikipediaPSO]_.
352
353 Le lecteur intéressé par le sujet de l'optimisation pourra utilement commencer
354 sa recherche grâce au point d'entrée [WikipediaMO]_.