]> SALOME platform Git repositories - modules/adao.git/blob - doc/fr/theory.rst
Salome HOME
8dc1bec462c203fae4b9355bb7804e2ee86b4a5c
[modules/adao.git] / doc / fr / theory.rst
1 ..
2    Copyright (C) 2008-2024 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: etat vrai
33 .. index:: single: observation
34 .. index:: single: a priori
35 .. index:: single: EstimationOf
36 .. index:: single: analyse
37
38 **L'assimilation de données** est un cadre général bien établi pour le calcul
39 de l'estimation optimale de l'état réel d'un système, au cours du temps si
40 nécessaire. Il utilise les valeurs obtenues en combinant des observations et
41 des modèles *a priori*, incluant de plus des informations sur leurs erreurs
42 tout en respectant simultanément des contraintes. Cela tient donc compte des
43 lois du comportement ou de la dynamique du système à travers les équations du
44 modèle, et de la façon dont les mesures sont physiquement liées aux variables
45 simulées.
46
47 En d'autres termes, l'assimilation de données est un moyen de fusionner les
48 données mesurées d'un système, qui sont les observations, avec des
49 connaissances physique et mathématique *a priori* du système, intégrées dans
50 les modèles numériques. L'objectif est d'obtenir la meilleure estimation
51 possible, appelée "*analyse*", de l'état réel du système et de ses propriétés
52 stochastiques. On note que cet état réel (ou "*état vrai*") ne peut être
53 habituellement atteint, mais peut seulement être estimé. De plus, malgré le
54 fait que les informations utilisées sont stochastiques par nature,
55 l'assimilation de données fournit des techniques déterministes afin de réaliser
56 l'estimation de manière très efficace.
57
58 Comme l'assimilation de données cherche l'estimation la **meilleure possible**,
59 la démarche technique sous-jacente intègre toujours de l'optimisation afin de
60 trouver cette estimation : des méthodes d'optimisation choisies sont toujours
61 intégrées dans les algorithmes d'assimilation de données. Par ailleurs, les
62 méthodes d'optimisation peuvent être vues dans ADAO comme un moyen d'étendre
63 les applications d'assimilation de données. Elles seront présentées de cette
64 façon dans la section pour :ref:`section_theory_optimization`, mais elles sont
65 beaucoup plus générales et peuvent être utilisées sans les concepts
66 d'assimilation de données.
67
68 Deux types principaux d'applications existent en assimilation de données, qui
69 sont couverts par le même formalisme : la **reconstruction de champs** (voir
70 `Reconstruction de champs ou interpolation de données`_) et **l'identification
71 de paramètres** (voir `Identification de paramètres, ajustement de modèles, ou
72 calage`_). On parle aussi respectivement **d'estimation d'état** et
73 **d'estimation de paramètres**, et l'on peut aussi estimer les deux de manière
74 conjointe si nécessaire (voir `Estimation conjointe d'états et de
75 paramètres`_). Dans ADAO, certains algorithmes peuvent être utilisés soit en
76 estimation d'état, soit en estimation de paramètres. Cela se fait simplement en
77 changeant l'option requise "*EstimationOf*" dans les paramètres des
78 algorithmes. Avant d'introduire la :ref:`section_theory_da_framework` dans une
79 prochaine section, on décrit brièvement ces deux types d'applications. A la fin
80 de ce chapitre, quelques informations permettent d'aller plus loin pour
81 :ref:`section_theory_more_assimilation` et :ref:`section_theory_optimization`,
82 ainsi que pour :ref:`section_theory_dynamic` et avoir
83 :ref:`section_theory_reduction`.
84
85 Reconstruction de champs ou interpolation de données
86 ----------------------------------------------------
87
88 .. index:: single: reconstruction de champs
89 .. index:: single: interpolation de données
90 .. index:: single: interpolation de champs
91 .. index:: single: estimation d'état
92 .. index:: single: ebauche
93
94 La **reconstruction (ou l'interpolation) de champs** consiste à trouver, à
95 partir d'un nombre restreint de mesures réelles, le (ou les) champ(s)
96 physique(s) qui est (sont) le(s) plus *cohérent(s)* avec ces mesures.
97
98 La *cohérence* est à comprendre en termes d'interpolation, c'est-à-dire que le
99 champ que l'on cherche à reconstruire, en utilisant de l'assimilation de
100 données sur les mesures, doit s'adapter au mieux aux mesures, tout en restant
101 contraint par la simulation globale du champ. Le champ calculé est donc une
102 estimation *a priori* du champ que l'on cherche à identifier. On parle aussi
103 **d'estimation d'état** dans ce cas.
104
105 Si le système évolue dans le temps, la reconstruction du champ dans son
106 ensemble doit être établie à chaque pas de temps, en tenant compte des
107 informations sur une fenêtre temporelle. Le processus d'interpolation est plus
108 compliqué dans ce cas car il est temporel, et plus seulement en termes de
109 valeurs instantanées du champ.
110
111 Un exemple simple de reconstruction de champs provient de la météorologie, dans
112 laquelle on recherche les valeurs de variables comme la température ou la
113 pression en tout point du domaine spatial. On dispose de mesures instantanées de
114 ces quantités en certains points, mais aussi d'un historique de ces mesures. De
115 plus, ces variables sont contraintes par les équations d'évolution de
116 l'atmosphère, qui indiquent par exemple que la pression en un point ne peut pas
117 prendre une valeur quelconque indépendamment de la valeur au même point à un
118 temps précédent. On doit donc faire la reconstruction d'un champ en tout point
119 de l'espace, de manière "cohérente" avec les équations d'évolution et avec les
120 mesures aux précédents pas de temps.
121
122 Identification de paramètres, ajustement de modèles, ou calage
123 --------------------------------------------------------------
124
125 .. index:: single: identification de paramètres
126 .. index:: single: ajustement de paramètres
127 .. index:: single: ajustement de modèles
128 .. index:: single: recalage
129 .. index:: single: calage
130 .. index:: single: ebauche
131 .. index:: single: régularisation
132 .. index:: single: problèmes inverses
133 .. index:: single: estimation de paramètres
134
135 **L'identification (ou l'ajustement) de paramètres** par assimilation de
136 données est une forme de calage d'état qui utilise simultanément les mesures
137 physiques et une estimation *a priori* des paramètres (appelée "*l'ébauche*")
138 d'état que l'on cherche à identifier, ainsi qu'une caractérisation de leurs
139 erreurs. De ce point de vue, cette démarche utilise toutes les informations
140 disponibles sur le système physique, avec des hypothèses restrictives mais
141 réalistes sur les erreurs, pour trouver "*l'estimation optimale*" de l'état
142 vrai. On peut noter, en termes d'optimisation, que l'ébauche réalise la
143 "*régularisation*", au sens mathématique de Tikhonov [Tikhonov77]_
144 [WikipediaTI]_, du problème principal d'identification de paramètres. On peut
145 aussi désigner cette démarche comme une résolution de type "*problème
146 inverse*".
147
148 En pratique, les deux écarts (ou incréments) observés "*calculs-mesures*" et
149 "*calculs-ébauche*" sont combinés pour construire la correction de calage des
150 paramètres ou des conditions initiales. L'ajout de ces deux incréments requiert
151 une pondération relative, qui est choisie pour refléter la confiance que l'on
152 donne à chaque information utilisée. Cette confiance est représentée par la
153 covariance des erreurs sur l'ébauche et sur les observations. Ainsi l'aspect
154 stochastique des informations est essentiel pour construire une fonction
155 d'erreur pour le calage.
156
157 Un exemple simple d'identification de paramètres provient de tout type de
158 simulation physique impliquant un modèle paramétré. Par exemple, une simulation
159 de mécanique statique d'une poutre contrainte par des forces est décrite par les
160 paramètres de la poutre, comme un coefficient de Young, ou par l'intensité des
161 forces appliquées. Le problème d'estimation de paramètres consiste à chercher
162 par exemple la bonne valeur du coefficient de Young de telle manière à ce que la
163 simulation de la poutre corresponde aux mesures, en y incluant la connaissance
164 des erreurs.
165
166 Toutes les grandeurs représentant la description de la physique dans un modèle
167 sont susceptibles d'être calibrées dans une démarche d'assimilation de données,
168 que ce soient des paramètres de modèles, des conditions initiales ou des
169 conditions aux limites. Leur prise en compte simultanée est largement facilitée
170 par la démarche d'assimilation de données, permettant de traiter objectivement
171 un ensemble hétérogène d'informations à disposition.
172
173 Estimation conjointe d'états et de paramètres
174 ---------------------------------------------
175
176 .. index:: single: jointe (estimation d'états et de paramètres)
177 .. index:: single: estimation conjointe d'états et de paramètres
178
179 Il parfois nécessaire, en considérant les deux types d'applications
180 précédentes, d'avoir besoin d'estimer en même temps des états (champs) et des
181 paramètres caractérisant un phénomène physique. On parle alors **d'estimation
182 conjointe d'états et de paramètres**.
183
184 Sans rentrer ici dans les méthodes avancées pour résoudre ce problème, on peut
185 mentionner la démarche conceptuellement très simple consistant à considérer le
186 vecteur des états à interpoler comme *augmenté* par le vecteur des paramètres à
187 caler. On note que l'on est globalement en *estimation d'état* ou
188 *reconstruction de champs*, et que dans le cas temporel de l'identification de
189 paramètres, l'évolution des paramètres à estimer est simplement l'identité. Les
190 algorithmes d'assimilation ou d'optimisation peuvent ensuite être appliqués au
191 vecteur augmenté. Valable dans le cas de non-linéarités modérées dans la
192 simulation, cette méthode simple étend l'espace d'optimisation, et conduit donc
193 à des problèmes plus gros, mais il est souvent possible de réduire la
194 représentation pour revenir à des cas numériquement calculables. Sans
195 exhaustivité, l'optimisation à variables séparées, le filtrage de rang réduit,
196 ou le traitement spécifique des matrices de covariances, sont des techniques
197 courantes pour éviter ce problème de dimension. Dans le cas temporel, on verra
198 ci-après des indications pour une `Estimation conjointe d'état et de paramètres
199 en dynamique`_.
200
201 Pour aller plus loin, on se référera aux méthodes mathématiques d'optimisation
202 et d'augmentation développées dans de nombreux ouvrages ou articles
203 spécialisés, trouvant leur origine par exemple dans [Lions68]_, [Jazwinski70]_
204 ou [Dautray85]_. En particulier dans le cas de non-linéarités plus marquées
205 lors de la simulation numérique des états, il convient de traiter de manière
206 plus complète mais aussi plus complexe le problème d'estimation conjointe
207 d'états et de paramètres.
208
209 .. _section_theory_da_framework:
210
211 Description simple du cadre méthodologique de l'assimilation de données
212 -----------------------------------------------------------------------
213
214 .. index:: single: analyse
215 .. index:: single: ebauche
216 .. index:: single: covariances d'erreurs d'ébauche
217 .. index:: single: covariances d'erreurs d'observation
218 .. index:: single: covariances
219 .. index:: single: 3DVAR
220 .. index:: single: Blue
221
222 On peut décrire ces démarches de manière simple. Par défaut, toutes les
223 variables sont des vecteurs, puisqu'il y a plusieurs paramètres à ajuster, ou
224 un champ discrétisé à reconstruire.
225
226 Selon les notations standards en assimilation de données, on note
227 :math:`\mathbf{x}^a` les paramètres optimaux qui doivent être déterminés par
228 calage, :math:`\mathbf{y}^o` les observations (ou les mesures expérimentales)
229 auxquelles on doit comparer les sorties de simulation, :math:`\mathbf{x}^b`
230 l'ébauche (valeurs *a priori*, ou valeurs de régularisation) des paramètres
231 cherchés, :math:`\mathbf{x}^t` les paramètres inconnus idéaux qui donneraient
232 exactement les observations (en supposant que toutes les erreurs soient nulles
233 et que le modèle soit exact) en sortie.
234
235 Dans le cas le plus simple, qui est statique, les étapes de simulation et
236 d'observation peuvent être combinées en un unique opérateur d'observation noté
237 :math:`\mathcal{H}` (linéaire ou non-linéaire). Il transforme formellement les
238 paramètres :math:`\mathbf{x}` en entrée en résultats :math:`\mathbf{y}`, qui
239 peuvent être directement comparés aux observations :math:`\mathbf{y}^o` :
240
241 .. math:: \mathbf{y} = \mathcal{H}(\mathbf{x})
242
243 De plus, on utilise l'opérateur linéarisé (ou tangent) :math:`\mathbf{H}` pour
244 représenter l'effet de l'opérateur complet :math:`\mathcal{H}` autour d'un
245 point de linéarisation (et on omettra usuellement ensuite de mentionner
246 :math:`\mathcal{H}`, même si l'on peut le conserver, pour ne mentionner que
247 :math:`\mathbf{H}`). En réalité, on a déjà indiqué que la nature stochastique
248 des variables est essentielle, provenant du fait que le modèle, l'ébauche et
249 les observations sont tous incorrects. On introduit donc des erreurs
250 d'observations additives, sous la forme d'un vecteur aléatoire
251 :math:`\mathbf{\epsilon}^o` tel que :
252
253 .. math:: \mathbf{y}^o = \mathbf{H} \mathbf{x}^t + \mathbf{\epsilon}^o
254
255 Les erreurs représentées ici ne sont pas uniquement celles des observations, ce
256 sont aussi celles de la simulation. On peut toujours considérer que ces erreurs
257 sont de moyenne nulle. En notant :math:`E[.]` l'espérance mathématique
258 classique, on peut alors définir une matrice :math:`\mathbf{R}` des covariances
259 d'erreurs d'observation par l'expression :
260
261 .. math:: \mathbf{R} = E[\mathbf{\epsilon}^o.{\mathbf{\epsilon}^o}^T]
262
263 L'ébauche peut être écrite formellement comme une fonction de la valeur vraie,
264 en introduisant le vecteur d'erreurs :math:`\mathbf{\epsilon}^b` tel que :
265
266 .. math:: \mathbf{x}^b = \mathbf{x}^t + \mathbf{\epsilon}^b
267
268 Les erreurs d'ébauche :math:`\mathbf{\epsilon}^b` sont aussi supposées de
269 moyenne nulle, de la même manière que pour les observations. On définit la
270 matrice :math:`\mathbf{B}` des covariances d'erreurs d'ébauche par :
271
272 .. math:: \mathbf{B} = E[\mathbf{\epsilon}^b.{\mathbf{\epsilon}^b}^T]
273
274 L'estimation optimale des paramètres vrais :math:`\mathbf{x}^t`, étant donné
275 l'ébauche :math:`\mathbf{x}^b` et les observations :math:`\mathbf{y}^o`, est
276 ainsi appelée une "*analyse*", notée :math:`\mathbf{x}^a`, et provient de la
277 minimisation d'une fonction d'erreur, explicite en assimilation variationnelle,
278 ou d'une correction de filtrage en assimilation par filtrage.
279
280 En **assimilation variationnelle**, dans un cas statique, on cherche
281 classiquement à minimiser la fonction :math:`J` suivante :
282
283 .. 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})
284
285 :math:`J` est classiquement désignée comme la fonctionnelle "*3D-Var*" en
286 assimilation de données (voir par exemple [Talagrand97]_) ou comme la
287 fonctionnelle de régularisation de Tikhonov généralisée en optimisation (voir
288 par exemple [WikipediaTI]_). Comme les matrices de covariance
289 :math:`\mathbf{B}` et :math:`\mathbf{R}` sont proportionnelles aux variances
290 d'erreurs, leur présence dans les deux termes de la fonctionnelle :math:`J`
291 permet effectivement de pondérer les termes d'écarts par la confiance dans les
292 erreurs d'ébauche ou d'observations. Le vecteur :math:`\mathbf{x}` des
293 paramètres réalisant le minimum de cette fonction constitue ainsi l'analyse
294 :math:`\mathbf{x}^a`. C'est à ce niveau que l'on doit utiliser toute la
295 panoplie des méthodes de minimisation de fonctions connues par ailleurs en
296 optimisation (voir aussi la section :ref:`section_theory_optimization`). Selon
297 la taille du vecteur :math:`\mathbf{x}` des paramètres à identifier, et la
298 disponibilité du gradient ou de la hessienne de :math:`J`, il est judicieux
299 d'adapter la méthode d'optimisation choisie (gradient, Newton,
300 quasi-Newton...).
301
302 En **assimilation par filtrage**, dans ce cas simple usuellement dénommé
303 "*BLUE*" (pour "*Best Linear Unbiased Estimator*"), l'analyse
304 :math:`\mathbf{x}^a` est donnée comme une correction de l'ébauche
305 :math:`\mathbf{x}^b` par un terme proportionnel à la différence entre les
306 observations :math:`\mathbf{y}^o` et les calculs :math:`\mathbf{H}\mathbf{x}^b` :
307
308 .. math:: \mathbf{x}^a = \mathbf{x}^b + \mathbf{K}(\mathbf{y}^o - \mathbf{H}\mathbf{x}^b)
309
310 où :math:`\mathbf{K}` est la matrice de gain de Kalman, qui s'exprime à l'aide
311 des matrices de covariance sous la forme suivante :
312
313 .. math:: \mathbf{K} = \mathbf{B}\mathbf{H}^T(\mathbf{H}\mathbf{B}\mathbf{H}^T+\mathbf{R})^{-1}
314
315 L'avantage du filtrage est le calcul explicite du gain, pour produire ensuite la
316 matrice *a posteriori* de covariance d'analyse.
317
318 Dans ce cas statique simple, on peut montrer, sous une hypothèse de
319 distributions gaussiennes d'erreurs (très peu restrictive en pratique) et de
320 linéarité de :math:`\mathcal{H}`, que les deux approches *variationnelle* et
321 *de filtrage* donnent la même solution.
322
323 On indique que ces méthodes de "*3D-Var*" et de "*BLUE*" peuvent être étendues
324 à des problèmes dynamiques ou temporels, sous les noms respectifs de "*4D-Var*"
325 et de "*Filtre de Kalman (KF)*" et leurs dérivés. Elles doivent alors prendre
326 en compte un opérateur d'évolution pour établir aux bons pas de temps une
327 analyse de l'écart entre les observations et les simulations et pour avoir, à
328 chaque instant, la propagation de l'ébauche à travers le modèle d'évolution. On
329 se reportera à la section suivante pour :ref:`section_theory_dynamic`. De
330 la même manière, ces méthodes peuvent aussi être utilisées dans le cas
331 d'opérateurs d'observation ou d'évolution non linéaires. Un grand nombre de
332 variantes ont été développées pour accroître la qualité numérique des méthodes
333 ou pour prendre en compte des contraintes informatiques comme la taille ou la
334 durée des calculs.
335
336 Une vue schématique des approches d'Assimilation de Données et d'Optimisation
337 -----------------------------------------------------------------------------
338
339 Pour aider le lecteur à se faire un idée des approches utilisables avec ADAO en
340 Assimilation de Données et en Optimisation, on propose ici un schéma simplifié
341 décrivant une classification arbitraire des méthodes. Il est partiellement et
342 librement inspiré de [Asch16]_ (Figure 1.5).
343
344   .. _meth_steps_in_study:
345   .. image:: images/meth_ad_and_opt.png
346     :align: center
347     :width: 75%
348   .. centered::
349     **Une classification simplifiée de méthodes utilisables avec ADAO en Assimilation de Données et en Optimisation (les acronymes et les liens descriptifs internes sont énumérés ci-dessous)**
350
351 Il est volontairement simple pour rester lisible, les lignes tiretées montrant
352 certaines des simplifications ou extensions. Ce schéma omet par exemple de
353 citer spécifiquement les méthodes avec réductions (dont il est donné ci-après
354 :ref:`section_theory_reduction`), dont une partie sont des variantes de
355 méthodes de base indiquées ici, ou de citer les extensions les plus détaillées.
356 Il omet de même les méthodes de tests disponibles dans ADAO et utiles pour la
357 mise en étude.
358
359 Chaque méthode citée dans ce schéma fait l'objet d'une partie descriptive
360 spécifique dans le chapitre des :ref:`section_reference_assimilation`. Les
361 acronymes cités dans le schéma ont la signification indiquée dans les pointeurs
362 associés :
363
364 - 3D-Var : :ref:`section_ref_algorithm_3DVAR`,
365 - 4D-Var : :ref:`section_ref_algorithm_4DVAR`,
366 - Blue : :ref:`section_ref_algorithm_Blue`,
367 - DiffEvol : :ref:`section_ref_algorithm_DifferentialEvolution`,
368 - EKF : :ref:`section_ref_algorithm_ExtendedKalmanFilter`,
369 - EnKF : :ref:`section_ref_algorithm_EnsembleKalmanFilter`,
370 - DFO : :ref:`section_ref_algorithm_DerivativeFreeOptimization`,
371 - Incr-Var : Incremental version Variational optimisation,
372 - KF : :ref:`section_ref_algorithm_KalmanFilter`,
373 - LLS : :ref:`section_ref_algorithm_LinearLeastSquares`,
374 - NLLS : :ref:`section_ref_algorithm_NonLinearLeastSquares`,
375 - QR : :ref:`section_ref_algorithm_QuantileRegression`,
376 - Swarm : :ref:`section_ref_algorithm_ParticleSwarmOptimization`,
377 - Tabu : :ref:`section_ref_algorithm_TabuSearch`,
378 - UKF : :ref:`section_ref_algorithm_UnscentedKalmanFilter`.
379
380 .. _section_theory_reduction:
381
382 Un aperçu des méthodes de réduction et de l'optimisation réduite
383 ----------------------------------------------------------------
384
385 .. index:: single: réduction
386 .. index:: single: méthodes de réduction
387 .. index:: single: méthodes réduites
388 .. index:: single: espace réduit
389 .. index:: single: sous-espace neutre
390 .. index:: single: SVD
391 .. index:: single: POD
392 .. index:: single: PCA
393 .. index:: single: Kahrunen-Loeve
394 .. index:: single: RBM
395 .. index:: single: ROM
396 .. index:: single: EIM
397 .. index:: single: Fourier
398 .. index:: single: ondelettes
399 .. index:: single: EOF
400 .. index:: single: sparse
401
402 Les démarches d'assimilation de données et d'optimisation impliquent toujours
403 une certaine réitération d'une simulation numérique unitaire représentant la
404 physique que l'on veut traiter. Pour traiter au mieux cette physique, cette
405 simulation numérique unitaire est souvent de taille importante voire imposante,
406 et conduit à un coût calcul extrêmement important dès lors qu'il est répété. La
407 simulation physique complète est souvent appelée "*simulation haute fidélité*"
408 (ou "*full scale simulation*").
409
410 Pour éviter cette difficulté pratique, **différentes stratégies de réduction du
411 coût du calcul d'optimisation existent, et certaines permettent également de
412 contrôler au mieux l'erreur numérique impliquée par cette réduction**. Ces
413 stratégies sont intégrées de manière transparente à certaines des méthodes
414 d'ADAO ou font l'objet d'algorithmes particuliers.
415
416 Pour établir une telle démarche, on cherche à réduire au moins l'un des
417 ingrédients qui composent le problème d'assimilation de données ou
418 d'optimisation. On peut ainsi classer les méthodes de réduction selon
419 l'ingrédient sur lequel elles opèrent, en sachant que certaines méthodes
420 portent sur plusieurs d'entre eux. On indique ici une classification grossière,
421 que le lecteur peut compléter par la lecture d'ouvrages ou d'articles généraux
422 en mathématiques ou spécialisés pour sa physique.
423
424 Réduction des algorithmes d'assimilation de données ou d'optimisation :
425     les algorithmes d'optimisation eux-mêmes peuvent engendrer des coûts de
426     calculs importants pour traiter les informations numériques. Diverses
427     méthodes permettent de réduire leur coût algorithmique, par exemple en
428     travaillant dans l'espace réduit le plus adéquat pour l'optimisation, ou en
429     utilisant des techniques d'optimisation multi-niveaux. ADAO dispose de
430     telles techniques qui sont incluses dans les variantes d'algorithmes
431     classiques, conduisant à des résolutions exactes ou approximées mais
432     numériquement plus efficaces. Par défaut, les options algorithmiques
433     choisies par défaut dans ADAO sont toujours les plus performantes
434     lorsqu'elles n'impactent pas la qualité de l'optimisation.
435
436 Réduction de la représentation des covariances :
437     dans les algorithmes d'assimilation de données, ce sont les covariances qui
438     sont les grandeurs les plus coûteuses à manipuler ou à stocker, devenant
439     souvent les quantités limitantes du point de vue du coût de calcul. De
440     nombreuses méthodes cherchent donc à utiliser une représentation réduite de
441     ces matrices (conduisant parfois mais pas obligatoirement à réduire aussi
442     la dimension l'espace d'optimisation). On utilise classiquement des
443     techniques de factorisation, de décomposition (spectrale, Fourier,
444     ondelettes...) ou d'estimation d'ensemble (EOF...), ou des combinaisons,
445     pour réduire la charge numérique de ces covariances dans les calculs. ADAO
446     utilise certaines de ces techniques, en combinaison avec des techniques de
447     calcul creux ("*sparse*"), pour rendre plus efficace la manipulation des
448     matrices de covariance.
449
450 Réduction du modèle physique :
451     la manière la plus simple de réduire le coût du calcul unitaire consiste à
452     réduire le modèle de simulation lui-même, en le représentant de manière
453     numériquement plus économique. De nombreuses méthodes permettent cette
454     réduction de modèles en assurant un contrôle plus ou moins strict de
455     l'erreur d'approximation engendrée par la réduction. L'usage de modèles
456     simplifiés de la physique permet une réduction mais sans toujours produire
457     un contrôle d'erreur. Au contraire, toutes les méthodes de décomposition
458     (Fourier, ondelettes, SVD, POD, PCA, Kahrunen-Loeve, RBM, EIM, etc.) visent
459     ainsi une réduction de l'espace de représentation avec un contrôle d'erreur
460     explicite. Très fréquemment utilisées, elles doivent néanmoins être
461     complétées par une analyse fine de l'interaction avec l'algorithme
462     d'optimisation dans lequel le calcul réduit est inséré, pour éviter des
463     instabilités, incohérences ou inconsistances notoirement préjudiciables.
464     ADAO supporte complètement l'usage de ce type de méthode de réduction, même
465     s'il est souvent nécessaire d'établir cette réduction indépendante
466     générique préalablement à l'optimisation.
467
468 Réduction de l'espace d'assimilation de données ou d'optimisation :
469     la taille de l'espace d'optimisation dépend grandement du type de problème
470     traité (estimation d'états ou de paramètres) mais aussi du nombre
471     d'observations dont on dispose pour conduire l'assimilation de données. Il
472     est donc parfois possible de conduire l'optimisation dans l'espace le plus
473     petit par une adaptation de la formulation interne des algorithmes
474     d'optimisation. Lorsque c'est possible et judicieux, ADAO intègre ce genre
475     de formulation réduite pour améliorer la performance numérique sans
476     amoindrir la qualité de l'optimisation.
477
478 Combinaison de plusieurs réductions :
479     de nombreux algorithmes avancés cherchent à combiner simultanément
480     plusieurs techniques de réduction. Néanmoins, il est difficile de disposer
481     à la fois de méthodes génériques et robustes, et d'utiliser en même temps
482     de plusieurs techniques très performantes de réduction. ADAO intègre
483     certaines méthodes parmi les plus robustes, mais cet aspect fait toujours
484     largement l'objet de recherches et d'évolutions.
485
486 On peut terminer ce rapide tour d'horizon des méthodes de réduction en
487 soulignant que leur usage est omni-présent dans les applications réelles et
488 dans les outils numériques, et qu'ADAO permet d'utiliser des méthodes éprouvées
489 sans même le savoir.
490
491 .. _section_theory_more_assimilation:
492
493 Approfondir le cadre méthodologique de l'assimilation de données
494 ----------------------------------------------------------------
495
496 .. index:: single: ajustement de paramètres
497 .. index:: single: apprentissage
498 .. index:: single: calage
499 .. index:: single: calibration
500 .. index:: single: data-driven
501 .. index:: single: estimation bayésienne
502 .. index:: single: estimation d'état
503 .. index:: single: estimation de paramètres
504 .. index:: single: intelligence artificielle
505 .. index:: single: interpolation de champs
506 .. index:: single: interpolation optimale
507 .. index:: single: inversion
508 .. index:: single: lissage de données
509 .. index:: single: machine learning
510 .. index:: single: méta-heuristiques
511 .. index:: single: méthodes de régularisation
512 .. index:: single: optimisation quadratique
513 .. index:: single: optimisation variationnelle
514 .. index:: single: problèmes inverses
515 .. index:: single: recalage
516 .. index:: single: réduction de modèles
517 .. index:: single: régularisation mathématique
518
519 Pour obtenir de plus amples informations sur les techniques d'assimilation de
520 données, le lecteur peut consulter les documents introductifs comme
521 [Talagrand97]_ ou [Argaud09]_, des supports de formations ou de cours comme
522 [Bouttier99]_ et [Bocquet04]_ (ainsi que d'autres documents issus des
523 applications des géosciences), ou des documents généraux comme [Talagrand97]_,
524 [Tarantola87]_, [Asch16]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ et
525 [WikipediaDA]_. De manière plus mathématique, on pourra aussi consulter
526 [Lions68]_, [Jazwinski70]_.
527
528 On note que l'assimilation de données n'est pas limitée à la météorologie ou aux
529 géo-sciences, mais est largement utilisée dans d'autres domaines scientifiques.
530 Il y a de nombreux champs d'applications scientifiques et technologiques dans
531 lesquels l'utilisation efficace des données observées, mais incomplètes, est
532 cruciale.
533
534 Certains aspects de l'assimilation de données sont aussi connus sous d'autres
535 noms. Sans être exhaustif, on peut mentionner les noms de *calage* ou de
536 *recalage*, de *calibration*, *d'estimation d'état*, *d'estimation de
537 paramètres*, *d'ajustement de paramètres*, de *problèmes inverses* ou
538 *d'inversion*, *d'estimation bayésienne*, *d'interpolation de champs* ou
539 *d'interpolation optimale*, *d'optimisation variationnelle*, *d'optimisation
540 quadratique*, de *régularisation mathématique*, de *méta-heuristiques*
541 d'optimisation, de *réduction de modèles*, de *lissage de données*, de pilotage
542 des modèles par les données (« *data-driven* »), *d'apprentissage* de modèles
543 et de données (*Machine Learning* et Intelligence Artificielle), etc. Ces
544 termes peuvent être utilisés dans les recherches bibliographiques.
545
546 .. _section_theory_optimization:
547
548 Approfondir l'estimation d'état par des méthodes d'optimisation
549 ---------------------------------------------------------------
550
551 .. index:: single: estimation d'état
552 .. index:: single: méthodes d'optimisation
553 .. index:: single: Optimisation locale
554 .. index:: single: Locale (optimisation)
555 .. index:: single: Optimisation globale
556 .. index:: single: Globale (optimisation)
557 .. index:: single: DerivativeFreeOptimization
558 .. index:: single: ParticleSwarmOptimization
559 .. index:: single: DifferentialEvolution
560 .. index:: single: QuantileRegression
561 .. index:: single: QualityCriterion
562
563 Comme vu précédemment, dans un cas de simulation statique, l'assimilation
564 variationnelle de données nécessite de minimiser la fonction objectif :math:`J`:
565
566 .. 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})
567
568 qui est dénommée la fonctionnelle du "*3D-Var*". Elle peut être vue comme la
569 forme étendue d'une *minimisation moindres carrés*, obtenue en ajoutant un terme
570 de régularisation utilisant :math:`\mathbf{x}-\mathbf{x}^b`, et en pondérant les
571 différences par les deux matrices de covariances :math:`\mathbf{B}` et
572 :math:`\mathbf{R}`. La minimisation de la fonctionnelle :math:`J` conduit à la
573 *meilleure* estimation de l'état :math:`\mathbf{x}`. Pour obtenir plus
574 d'informations sur ces notions, on se reportera aux ouvrages généraux de
575 référence comme [Tarantola87]_.
576
577 Les possibilités d'extension de cette estimation d'état, en utilisant de manière
578 plus explicite des méthodes d'optimisation et leurs propriétés, peuvent être
579 imaginées de deux manières.
580
581 En premier lieu, les méthodes classiques d'optimisation impliquent l'usage de
582 méthodes de minimisation variées souvent basées sur un gradient. Elles sont
583 extrêmement efficaces pour rechercher un minimum local isolé. Mais elles
584 nécessitent que la fonctionnelle :math:`J` soit suffisamment régulière et
585 différentiable, et elles ne sont pas en mesure de saisir des propriétés
586 globales du problème de minimisation, comme par exemple : minimum global,
587 ensemble de solutions équivalentes dues à une sur-paramétrisation, multiples
588 minima locaux, etc. **Une démarche pour étendre les possibilités d'estimation
589 consiste donc à utiliser l'ensemble des méthodes d'optimisation existantes,
590 permettant la minimisation globale, diverses propriétés de robustesse de la
591 recherche, etc**. Il existe de nombreuses méthodes de minimisation, comme les
592 méthodes stochastiques, évolutionnaires, les heuristiques et méta-heuristiques
593 pour les problèmes à valeurs réelles, etc. Elles peuvent traiter des
594 fonctionnelles :math:`J` en partie irrégulières ou bruitées, peuvent
595 caractériser des minima locaux, etc. Les principaux désavantages de ces
596 méthodes sont un coût numérique souvent bien supérieur pour trouver les
597 estimations d'états, et fréquemment aucune garantie de convergence en temps
598 fini. Ici, on ne mentionne que quelques méthodes disponibles dans ADAO :
599
600 - *Optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
601 - *Optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
602 - *Évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`),
603 - *Régression de quantile (Quantile Regression ou QR)* (voir :ref:`section_ref_algorithm_QuantileRegression`).
604
605 En second lieu, les méthodes d'optimisation cherchent usuellement à minimiser
606 des mesures quadratiques d'erreurs, car les propriétés naturelles de ces
607 fonctions objectifs sont bien adaptées à l'optimisation classique par gradient.
608 Mais d'autres mesures d'erreurs peuvent être mieux adaptées aux problèmes de
609 simulation de la physique réelle. Ainsi, **une autre manière d'étendre les
610 possibilités d'estimation consiste à utiliser d'autres mesures d'erreurs à
611 réduire**. Par exemple, on peut citer une *erreur en valeur absolue*, une
612 *erreur maximale*, etc. On donne précisément ci-dessous les cas les plus
613 classiques de mesures d'erreurs, en indiquant leur identifiant dans ADAO pour
614 la sélection éventuelle d'un critère de qualité :
615
616 - la fonction objectif pour la mesure d'erreur par moindres carrés pondérés et augmentés (qui est la fonctionnelle de base par défaut de tous les algorithmes en assimilation de données, souvent nommée la fonctionnelle du "*3D-Var*", et qui est connue dans les critères de qualité pour ADAO sous les noms de "*AugmentedWeightedLeastSquares*", "*AWLS*" ou "*DA*") est :
617
618     .. index:: single: AugmentedWeightedLeastSquares (QualityCriterion)
619     .. index:: single: AWLS (QualityCriterion)
620     .. 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})
621
622 - la fonction objectif pour la mesure d'erreur par moindres carrés pondérés (qui est le carré de la norme pondérée :math:`L^2` de l'innovation, avec un coefficient :math:`1/2` pour être homogène à la précédente, et qui est connue dans les critères de qualité pour ADAO sous les noms de "*WeightedLeastSquares*" ou "*WLS*") est :
623
624     .. index:: single: WeightedLeastSquares (QualityCriterion)
625     .. index:: single: WLS (QualityCriterion)
626     .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
627
628 - la fonction objectif pour la mesure d'erreur par moindres carrés (qui est le carré de la norme :math:`L^2` de l'innovation, avec un coefficient :math:`1/2` pour être homogène aux précédentes, et qui est connue dans les critères de qualité pour ADAO sous les noms de "*LeastSquares*", "*LS*" ou "*L2*") est :
629
630     .. index:: single: LeastSquares (QualityCriterion)
631     .. index:: single: LS (QualityCriterion)
632     .. index:: single: L2 (QualityCriterion)
633     .. math:: J(\mathbf{x})=\frac{1}{2}(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})=\frac{1}{2}||\mathbf{y}^o-\mathbf{H}.\mathbf{x}||_{L^2}^2
634
635 - la fonction objectif pour la mesure d'erreur en valeur absolue (qui est la norme :math:`L^1` de l'innovation, et qui est connue dans les critères de qualité pour ADAO sous les noms de "*AbsoluteValue*" ou "*L1*") est :
636
637     .. index:: single: AbsoluteValue (QualityCriterion)
638     .. index:: single: L1 (QualityCriterion)
639     .. math:: J(\mathbf{x})=||\mathbf{y}^o-\mathbf{H}.\mathbf{x}||_{L^1}
640
641 - la fonction objectif pour la mesure d'erreur maximale (qui est la norme :math:`L^{\infty}` de l'innovation, et qui est connue dans les critères de qualité pour ADAO sous les noms de "*MaximumError*", "*ME*" ou "*Linf*") est :
642
643     .. index:: single: MaximumError (QualityCriterion)
644     .. index:: single: ME (QualityCriterion)
645     .. index:: single: Linf (QualityCriterion)
646     .. math:: J(\mathbf{x})=||\mathbf{y}^o-\mathbf{H}.\mathbf{x}||_{L^{\infty}}
647
648 Ces mesures d'erreurs peuvent ne pas être différentiables comme pour les deux
649 dernières, mais certaines méthodes d'optimisation peuvent quand même les
650 traiter : heuristiques et méta-heuristiques pour les problèmes à valeurs
651 réelles, etc. Comme précédemment, les principaux désavantages de ces méthodes
652 sont un coût numérique souvent bien supérieur pour trouver les estimations
653 d'états, et pas de garantie de convergence en temps fini. Ici encore, on ne
654 mentionne que quelques méthodes qui sont disponibles dans ADAO :
655
656 - *Optimisation sans dérivées (Derivative Free Optimization ou DFO)* (voir :ref:`section_ref_algorithm_DerivativeFreeOptimization`),
657 - *Optimisation par essaim de particules (Particle Swarm Optimization ou PSO)* (voir :ref:`section_ref_algorithm_ParticleSwarmOptimization`),
658 - *Évolution différentielle (Differential Evolution ou DE)* (voir :ref:`section_ref_algorithm_DifferentialEvolution`).
659
660 Le lecteur intéressé par le sujet de l'optimisation pourra utilement commencer
661 sa recherche grâce au point d'entrée [WikipediaMO]_.
662
663 .. _section_theory_dynamic:
664
665 Approfondir l'assimilation de données pour la dynamique
666 -------------------------------------------------------
667
668 .. index:: single: dynamique (système)
669 .. index:: single: système dynamique
670 .. index:: single: evolution temporelle
671 .. index:: single: EDO (Équation Différentielle Ordinaire)
672 .. index:: single: ODE (Ordinary Differential Equation)
673 .. index:: single: EstimationOf
674
675 On peut analyser un système en évolution temporelle (dynamique) à l'aide de
676 l'assimilation de données, pour tenir compte explicitement de l'écoulement du
677 temps dans l'estimation d'état ou de paramètres. On introduit ici brièvement la
678 problématique, et certains outils théoriques ou pratiques, pour faciliter le
679 traitement utilisateur de telles situations. On indique néanmoins que la
680 variété des problématiques physiques et utilisateur est grande, et qu'il est
681 donc recommandé d'adapter le traitement aux contraintes, qu'elles soient
682 physiques, numériques ou informatiques.
683
684 Forme générale de systèmes dynamiques
685 +++++++++++++++++++++++++++++++++++++
686
687 Les systèmes en évolution temporelle peuvent être étudiés ou représentés à
688 l'aide de systèmes dynamiques. Dans ce cas, il est aisé de concevoir l'analyse
689 de leur comportement à l'aide de l'assimilation de données (c'est même dans ce
690 cas précis que la démarche d'assimilation de données a initialement été
691 largement développée).
692
693 On formalise de manière simple le cadre de simulation numérique. Un système
694 dynamique simple sur l'état :math:`\mathbf{x}` peut être décrit en temps
695 continu sous la forme :
696
697 .. math:: \forall t \in \mathbb{R}^{+}, \frac{d\mathbf{x}}{dt} = \mathcal{D}(\mathbf{x},\mathbf{u},t)
698
699 où :math:`\mathbf{x}` est le vecteur d'état inconnu, :math:`\mathbf{u}` est un
700 vecteur de contrôle externe connu, et :math:`\mathcal{D}` l'opérateur
701 (éventuellement non linéaire) de la dynamique du système. C'est une Équation
702 Différentielle Ordinaire (EDO, ou ODE en anglais), du premier ordre, sur
703 l'état. En temps discret, ce système dynamique peut être écrit sous la forme
704 suivante :
705
706 .. math:: \forall n \in \mathbb{N}, \mathbf{x}_{n+1} = M(\mathbf{x}_{n},\mathbf{u}_{n},t_n\rightarrow t_{n+1})
707
708 pour une indexation :math:`t_n` des temps discrets avec :math:`n\in\mathbb{N}`.
709 :math:`M` est l'opérateur d'évolution discret, issu symboliquement de
710 :math:`\mathcal{D}` par le schéma de discrétisation. Usuellement, on omet la
711 notation du temps dans l'opérateur d'évolution :math:`M`. L'approximation de
712 l'opérateur :math:`\mathcal{D}` par :math:`M` introduit (ou ajoute, si elle
713 existe déjà) une erreur de modèle :math:`\epsilon`.
714
715 On peut alors caractériser deux types d'estimation en dynamique, que l'on
716 décrit ci-après sur le système dynamique en temps discret : `Estimation d'état
717 en dynamique`_ et `Estimation de paramètres en dynamique`_. Combinés, les deux
718 types peuvent permettre de faire une `Estimation conjointe d'état et de
719 paramètres en dynamique`_. Dans ADAO, certains algorithmes peuvent être
720 utilisés soit en estimation d'état, soit en estimation de paramètres. Cela se
721 fait simplement en changeant l'option requise "*EstimationOf*" dans les
722 paramètres des algorithmes.
723
724 Estimation d'état en dynamique
725 ++++++++++++++++++++++++++++++
726
727 L'estimation d'état peut être conduite par assimilation de données sur la
728 version en temps discret du système dynamique, écrit sous la forme suivante :
729
730 .. math:: \mathbf{x}_{n+1} = M(\mathbf{x}_{n},\mathbf{u}_{n}) + \mathbf{\epsilon}_{n}
731
732 .. math:: \mathbf{y}_{n} = H(\mathbf{x}_{n}) + \mathbf{\nu}_{n}
733
734 où :math:`\mathbf{x}` est l'état à estimer du système, :math:`\mathbf{x}_{n}`
735 et :math:`\mathbf{y}_{n}` sont respectivement l'état calculé (non observé) et
736 mesuré (observé) du système, :math:`M` et :math:`H` sont respectivement les
737 opérateurs d'évolution incrémentale et d'observation,
738 :math:`\mathbf{\epsilon}_{n}` et :math:`\mathbf{\nu}_{n}` sont respectivement
739 les bruits ou erreurs d'évolution et d'observation, et :math:`\mathbf{u}_{n}`
740 est un contrôle externe connu. Les deux opérateurs :math:`M` et :math:`H` sont
741 directement utilisables en assimilation de données avec ADAO.
742
743 Estimation de paramètres en dynamique
744 +++++++++++++++++++++++++++++++++++++
745
746 L'estimation de paramètres s'écrit un peu différemment pour être conduite par
747 assimilation de données. Toujours sur la version en temps discret du système
748 dynamique, on recherche une correspondance :math:`G` ("mapping") non-linéaire,
749 paramétrée par :math:`\mathbf{a}`, entre des entrées :math:`\mathbf{x}_{n}` et
750 des mesures :math:`\mathbf{y}_{n}` à chaque pas :math:`t_n`, l'erreur à
751 contrôler en fonction des paramètres :math:`\mathbf{a}` étant
752 :math:`\mathbf{y}_{n}-G(\mathbf{x}_{n},\mathbf{a})`. On peut procéder par
753 optimisation sur cette erreur, avec régularisation, ou par filtrage en écrivant
754 le problème représenté en estimation d'état :
755
756 .. math:: \mathbf{a}_{n+1} = \mathbf{a}_{n} + \mathbf{\epsilon}_{n}
757
758 .. math:: \mathbf{y}_{n} = G(\mathbf{x}_{n},\mathbf{a}_{n}) + \mathbf{\nu}_{n}
759
760 où, cette fois, le choix des modèles d'erreurs d'évolution et d'observation
761 :math:`\mathbf{\epsilon}_{n}` et :math:`\mathbf{\nu}_{n}` conditionne la
762 performance de la convergence et du suivi des observations (alors que les
763 représentations d'erreurs proviennent du comportement de la physique dans le
764 cas de l'estimation d'état). L'estimation des paramètres :math:`\mathbf{a}` se
765 fait par utilisation de paires :math:`(\mathbf{x}_{n},\mathbf{y}_{n})`
766 d'entrées et de sorties correspondantes.
767
768 Dans ce cas de l'estimation de paramètres, pour appliquer les méthodes
769 d'assimilation de données, on impose donc l'hypothèse que l'opérateur
770 d'évolution est l'identité (*Remarque : il n'est donc pas utilisé, mais doit
771 être déclaré dans ADAO, par exemple en matrice à 1*), et l'opérateur
772 d'observation est :math:`G`.
773
774 Estimation conjointe d'état et de paramètres en dynamique
775 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
776
777 Un cas spécial concerne l'estimation conjointe d'état et de paramètres utilisés
778 dans un système dynamique. On cherche à estimer conjointement l'état
779 :math:`\mathbf{x}` (qui dépend du temps) et les paramètres :math:`\mathbf{a}`
780 (qui ici ne dépendent pas du temps). Il existe plusieurs manières de traiter ce
781 problème, mais la plus générale consiste à utiliser un vecteur d'état augmenté
782 par les paramètres, et à étendre les opérateurs en conséquence.
783
784 Pour cela, en utilisant les notations des deux sous-sections précédentes, on
785 définit la variable auxiliaire :math:`\mathbf{w}` telle que :
786
787 .. math:: \mathbf{w} = \left[
788     \begin{array}{c}
789     \mathbf{x} \\
790     \mathbf{a}
791     \end{array}
792     \right]
793     = \left[
794     \begin{array}{c}
795     \mathbf{w}_{|x} \\
796     \mathbf{w}_{|a}
797     \end{array}
798     \right]
799
800 et les opérateurs d'évolution :math:`\tilde{M}` et d'observation
801 :math:`\tilde{H}` associés au problème augmenté :
802
803 .. math:: \tilde{M}(\mathbf{w},\mathbf{u}) = \left[
804     \begin{array}{c}
805     M(\mathbf{w}_{|x},\mathbf{u}) \\
806     \mathbf{w}_{|a}
807     \end{array}
808     \right]
809     = \left[
810     \begin{array}{c}
811     M(\mathbf{x},\mathbf{u}) \\
812     \mathbf{a}
813     \end{array}
814     \right]
815
816 .. math:: \tilde{H}(\mathbf{w}) = \left[
817     \begin{array}{c}
818     H(\mathbf{w}_{|x}) \\
819     G(\mathbf{w}_{|x},\mathbf{w}_{|a})
820     \end{array}
821     \right]
822     = \left[
823     \begin{array}{c}
824     H(\mathbf{x}) \\
825     G(\mathbf{x},\mathbf{a})
826     \end{array}
827     \right]
828
829 Avec ces notations, en étendant les variables de bruit
830 :math:`\mathbf{\epsilon}` et :math:`\mathbf{\nu}` de manière adéquate, le
831 problème d'estimation conjointe en temps discret d'état :math:`\mathbf{x}` et
832 de paramètres :math:`\mathbf{a}`, à travers la variable conjointe
833 :math:`\mathbf{w}`, s'écrit alors :
834
835 .. math:: \mathbf{w}_{n+1} = \tilde{M}(\mathbf{w}_{n},\mathbf{u}_{n}) + \mathbf{\epsilon}_{n}
836
837 .. math:: \mathbf{y}_{n} = \tilde{H}(\mathbf{w}_{n}) + \mathbf{\nu}_{n}
838
839 avec :math:`\mathbf{w}_{n}=[\mathbf{x}_n~~\mathbf{a}_n]^T`. Les opérateurs
840 d'évolution incrémentale et d'observation sont donc respectivement les
841 opérateurs augmentés :math:`\tilde{M}` et :math:`\tilde{H}`, et sont
842 directement utilisables dans les cas d'études avec ADAO.
843
844 Schéma conceptuel pour l'assimilation de données en dynamique
845 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
846
847 Pour compléter la description, on peut représenter la démarche d'assimilation
848 de données de manière spécifiquement dynamique à l'aide d'un schéma temporel,
849 qui décrit l'action des opérateurs d'évolution (:math:`M` ou :math:`\tilde{M}`)
850 et d'observation (:math:`H` ou :math:`\tilde{H}`) lors de la simulation et
851 l'estimation récursive discrète de l'état (:math:`\mathbf{x}`). Une
852 représentation simple est la suivante, particulièrement adaptée aux algorithmes
853 itératifs de filtrage de type Kalman :
854
855   .. _schema_d_AD_temporel:
856   .. figure:: images/schema_temporel_KF.png
857     :align: center
858     :width: 100%
859
860     **Schéma temporel d'action des opérateurs pour l'assimilation de données en dynamique**
861
862 avec **P** la covariance d'erreur d'état et *t* le temps itératif discret. Dans
863 ce schéma, l'analyse **(x,P)** est obtenue à travers la "*correction*" par
864 l'observation de la "*prévision*" de l'état précédent. Une autre manière de
865 comprendre l'assimilation de données dynamique, dans l'espace des états mesurés
866 et observations mesurées, consiste à représenter la démarche séquentielle
867 d'assimilation sous la forme suivante :
868
869   .. _schema_d_AD_sequentiel:
870   .. figure:: images/schema_temporel_sequentiel.png
871     :align: center
872     :width: 100%
873
874     **Schéma séquentiel de l'état et des mesures pour l'assimilation de données en dynamique**
875
876 Les concepts décrits dans ce schéma peuvent directement et simplement être
877 utilisés dans ADAO pour comprendre et construire des cas d'études, et sont
878 repris dans la description et les exemples de certains algorithmes.