Salome HOME
Correction of catalogue and version setting
[modules/adao.git] / doc / en / theory.rst
index 5b0e82b50f7ec5ce5432639b018d49abd67edc3a..03f222234ed8fbfe46f56b5938d2838cc8688cc3 100644 (file)
@@ -1,8 +1,31 @@
+..
+   Copyright (C) 2008-2015 EDF R&D
+
+   This file is part of SALOME ADAO module.
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with this library; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+
+   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+   Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+
 .. _section_theory:
 
-================================================================================
-A brief introduction to Data Assimilation and Optimization
-================================================================================
+=================================================================================
+**[DocT]** A brief introduction to Data Assimilation and Optimization
+=================================================================================
 
 .. index:: single: Data Assimilation
 .. index:: single: true state
@@ -42,13 +65,15 @@ Fields reconstruction or measures interpolation
 
 .. index:: single: fields reconstruction
 .. index:: single: measures interpolation
+.. index:: single: fields interpolation
 
-Fields reconstruction consists in finding, from a restricted set of real
-measures, the physical field which is the most *consistent* with these measures.
+**Fields reconstruction (or interpolation)** consists in finding, from a
+restricted set of real measures, the physical field which is the most
+*consistent* with these measures.
 
-This consistency is to understand in terms of interpolation, that is to say that
-the field we want to reconstruct, using data assimilation on measures, has to
-fit at best the measures, while remaining constrained by the overall field
+This *consistency* is to understand in terms of interpolation, that is to say
+that the field we want to reconstruct, using data assimilation on measures, has
+to fit at best the measures, while remaining constrained by the overall field
 calculation. The calculation is thus an *a priori* estimation of the field that
 we seek to identify.
 
@@ -72,23 +97,27 @@ Parameters identification, models adjustment, calibration
 ---------------------------------------------------------
 
 .. index:: single: parameters identification
+.. index:: single: parameters adjustment
 .. index:: single: models adjustment
 .. index:: single: calibration
 .. index:: single: background
 .. index:: single: regularization
+.. index:: single: inverse problems
 
-The identification of parameters by data assimilation is a form of state
-calibration which uses both the physical measurement and an *a priori*
-parameters estimation (called the "*background*") of the state that one seeks to
-identify, as well as a characterization of their errors. From this point of
-view, it uses all available information on the physical system (even if
-assumptions about errors are relatively restrictive) to find the "*optimal
+The **identification (or adjustment) of parameters** by data assimilation is a
+form of state calibration which uses both the physical measurement and an *a
+priori* parameters estimation (called the "*background*") of the state that one
+seeks to identify, as well as a characterization of their errors. From this
+point of view, it uses all available information on the physical system, with
+restrictive yet realistic assumptions about errors, to find the "*optimal
 estimation*" from the true state. We note, in terms of optimization, that the
-background realizes a mathematical regularization of the main problem of
-parameters identification.
+background realizes a "*regularization*", in the mathematical meaning of
+Tikhonov [[Tikhonov77]_ [WikipediaTI]_, of the main problem of parameters
+identification. One can also use the term "*inverse problem*" to refer to this
+process.
 
-In practice, the two observed gaps "*calculation-background*" and
-"*calculation-measures*" are combined to build the calibration correction of
+In practice, the two observed gaps "*calculation-measures*" and
+"*calculation-background*" are combined to build the calibration correction of
 parameters or initial conditions. The addition of these two gaps requires a
 relative weight, which is chosen to reflect the trust we give to each piece of
 information. This confidence is depicted by the covariance of the errors on the
@@ -111,9 +140,12 @@ Simple description of the data assimilation methodological framework
 .. index:: single: background error covariances
 .. index:: single: observation error covariances
 .. index:: single: covariances
+.. index:: single: 3DVAR
+.. index:: single: Blue
 
 We can write these features in a simple manner. By default, all variables are
-vectors, as there are several parameters to readjust.
+vectors, as there are several parameters to readjust, or a discrete field to
+reconstruct.
 
 According to standard notations in data assimilation, we note
 :math:`\mathbf{x}^a` the optimal parameters that is to be determined by
@@ -127,59 +159,65 @@ are zero and the model is exact) as output.
 In the simplest case, which is static, the steps of simulation and of
 observation can be combined into a single observation operator noted :math:`H`
 (linear or nonlinear). It transforms the input parameters :math:`\mathbf{x}` to
-results :math:`\mathbf{y}` to be directly compared to observations
-:math:`\mathbf{y}^o`. Moreover, we use the linearized operator
-:math:`\mathbf{H}` to represent the effect of the full operator :math:`H` around
-a linearization point (and we omit thereafter to mention :math:`H` even if it is
-possible to keep it). In reality, we have already indicated that the stochastic
-nature of variables is essential, coming from the fact that model, background
-and observations are all incorrect. We therefore introduce errors of
-observations additively, in the form of a random vector
-:math:`\mathbf{\epsilon}^o` such that:
+results :math:`\mathbf{y}`, to be directly compared to observations
+:math:`\mathbf{y}^o`:
+
+.. math:: \mathbf{y} = H(\mathbf{x})
+
+Moreover, we use the linearized operator :math:`\mathbf{H}` to represent the
+effect of the full operator :math:`H` around a linearization point (and we omit
+thereafter to mention :math:`H` even if it is possible to keep it). In reality,
+we have already indicated that the stochastic nature of variables is essential,
+coming from the fact that model, background and observations are all incorrect.
+We therefore introduce errors of observations additively, in the form of a
+random vector :math:`\mathbf{\epsilon}^o` such that:
 
 .. math:: \mathbf{y}^o = \mathbf{H} \mathbf{x}^t + \mathbf{\epsilon}^o
 
 The errors represented here are not only those from observation, but also from
-the simulation. We can always consider that these errors are of zero mean. We
-can then define a matrix :math:`\mathbf{R}` of the observation error covariances
-by:
+the simulation. We can always consider that these errors are of zero mean.
+Noting :math:`E[.]` the classical mathematical expectation, we can then define a
+matrix :math:`\mathbf{R}` of the observation error covariances by the
+expression:
 
 .. math:: \mathbf{R} = E[\mathbf{\epsilon}^o.{\mathbf{\epsilon}^o}^T]
 
-The background can also be written as a function of the true value, by
-introducing the error vector :math:`\mathbf{\epsilon}^b` such that:
+The background can also be written formally as a function of the true value, by
+introducing the errors vector :math:`\mathbf{\epsilon}^b` such that:
 
 .. math:: \mathbf{x}^b = \mathbf{x}^t + \mathbf{\epsilon}^b
 
-where errors are also assumed of zero mean, in the same manner as for
-observations. We define the :math:`\mathbf{B}` matrix of background error
-covariances by:
+The errors :math:`\mathbf{\epsilon}^b` are also assumed of zero mean, in the
+same manner as for observations. We define the :math:`\mathbf{B}` matrix of
+background error covariances by:
 
 .. math:: \mathbf{B} = E[\mathbf{\epsilon}^b.{\mathbf{\epsilon}^b}^T]
 
 The optimal estimation of the true parameters :math:`\mathbf{x}^t`, given the
 background :math:`\mathbf{x}^b` and the observations :math:`\mathbf{y}^o`, is
 then the "*analysis*" :math:`\mathbf{x}^a` and comes from the minimisation of an
-error function (in variational assimilation) or from the filtering correction (in
-assimilation by filtering).
+error function, explicit in variational assimilation, or from the filtering
+correction in assimilation by filtering.
 
 In **variational assimilation**, in a static case, one classically attempts to
 minimize the following function :math:`J`:
 
-.. math:: J(\mathbf{x})=(\mathbf{x}-\mathbf{x}^b)^T.\mathbf{B}^{-1}.(\mathbf{x}-\mathbf{x}^b)+(\mathbf{y}^o-\mathbf{H}.\mathbf{x})^T.\mathbf{R}^{-1}.(\mathbf{y}^o-\mathbf{H}.\mathbf{x})
-
-which is usually designed as the "*3D-VAR*" function. Since :math:`\mathbf{B}`
-and :math:`\mathbf{R}` covariance matrices are proportional to the variances of
-errors, their presence in both terms of the function :math:`J` can effectively
-weight the differences by confidence in the background or observations errors.
-The parameters vector :math:`\mathbf{x}` realizing the minimum of this function
-therefore constitute the analysis :math:`\mathbf{x}^a`. It is at this level that
-we have to use the full panoply of function minimization methods otherwise known
-in optimization (see also section `Going further in the state estimation by
-optimization methods`_). Depending on the size of the parameters vector
-:math:`\mathbf{x}` to identify, and of the availability of gradient or Hessian
-of :math:`J`, it is appropriate to adapt the chosen optimization method
-(gradient, Newton, quasi-Newton...).
+.. 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})
+
+:math:`J` is classically designed as the "*3D-VAR*" functional in data
+assimlation (see for example [Talagrand97]_) or as the generalized Tikhonov
+regularization functional in optimization (see for example [WikipediaTI]_).
+Since :math:`\mathbf{B}` and :math:`\mathbf{R}` covariance matrices are
+proportional to the variances of errors, their presence in both terms of the
+function :math:`J` can effectively weight the gap terms by the confidence in the
+background or observations errors. The parameters vector :math:`\mathbf{x}`
+realizing the minimum of this function therefore constitute the analysis
+:math:`\mathbf{x}^a`. It is at this level that we have to use the full panoply
+of function minimization methods otherwise known in optimization (see also
+section `Going further in the state estimation by optimization methods`_).
+Depending on the size of the parameters vector :math:`\mathbf{x}` to identify,
+and of the availability of gradient or Hessian of :math:`J`, it is appropriate
+to adapt the chosen optimization method (gradient, Newton, quasi-Newton...).
 
 In **assimilation by filtering**, in this simple case usually referred to as
 "*BLUE*" (for "*Best Linear Unbiased Estimator*"), the :math:`\mathbf{x}^a`
@@ -197,9 +235,9 @@ covariance matrices in the following form:
 The advantage of filtering is to explicitly calculate the gain, to produce then
 the *a posteriori* covariance analysis matrix.
 
-In this simple static case, we can show, under the assumption of Gaussian error
-distributions, that the two *variational* and *filtering* approaches are
-equivalent.
+In this simple static case, we can show, under an assumption of Gaussian error
+distributions (very little restrictive in practice), that the two *variational*
+and *filtering* approaches give the same solution.
 
 It is indicated here that these methods of "*3D-VAR*" and "*BLUE*" may be
 extended to dynamic problems, called respectively "*4D-VAR*" and "*Kalman
@@ -223,10 +261,11 @@ Going further in the data assimilation framework
 .. index:: single: data smoothing
 
 To get more information about the data assimilation techniques, the reader can
-consult introductory documents like [Argaud09]_, on-line training courses or
-lectures like [Bouttier99]_ and [Bocquet04]_ (along with other materials coming
-from geosciences applications), or general documents like [Talagrand97]_,
-[Tarantola87]_, [Kalnay03]_, [Ide97]_ and [WikipediaDA]_.
+consult introductory documents like [Talagrand97]_ or [Argaud09]_, on-line
+training courses or lectures like [Bouttier99]_ and [Bocquet04]_ (along with
+other materials coming from geosciences applications), or general documents like
+[Talagrand97]_, [Tarantola87]_, [Kalnay03]_, [Ide97]_, [Tikhonov77]_ and
+[WikipediaDA]_.
 
 Note that data assimilation is not restricted to meteorology or geo-sciences,
 but is widely used in other scientific domains. There are several fields in
@@ -253,8 +292,9 @@ which is named the "*3D-VAR*" function. It can be seen as a *least squares
 minimization* extented form, obtained by adding a regularizing term using
 :math:`\mathbf{x}-\mathbf{x}^b`, and by weighting the differences using
 :math:`\mathbf{B}` and :math:`\mathbf{R}` the two covariance matrices. The
-minimization of the :math:`J` function leads to the *best* `\mathbf{x}` state
-estimation.
+minimization of the :math:`J` function leads to the *best* :math:`\mathbf{x}`
+state estimation. To get more information about these notions, one can consult
+reference general documents like [Tarantola87]_.
 
 State estimation possibilities extension, by using more explicitly optimization
 methods and their properties, can be imagined in two ways.
@@ -284,9 +324,9 @@ example, we can cite *absolute error value*, *maximum error value*, etc. These
 error measures are not differentiables, but some optimization methods can deal
 with:  heuristics and meta-heuristics for real-valued problem, etc. As
 previously, the main drawback remain a greater numerical cost to find state
-estimates, and no guarantee of convergence in finite time. Here, we point also
-the following methods as it is available in the ADAO module: *Particle swarm
-optimization* [WikipediaPSO]_.
+estimates, and no guarantee of convergence in finite time. Here again, we only
+point the following methods as it is available in the ADAO module: *Particle
+swarm optimization* [WikipediaPSO]_.
 
 The reader interested in the subject of optimization can look at [WikipediaMO]_
 as a general entry point.