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