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