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