Salome HOME
Updating copyright date information (2)
[modules/adao.git] / doc / fr / ref_algorithm_UnscentedKalmanFilter.rst
1 ..
2    Copyright (C) 2008-2019 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 .. index:: single: UnscentedKalmanFilter
25 .. _section_ref_algorithm_UnscentedKalmanFilter:
26
27 Algorithme de calcul "*UnscentedKalmanFilter*"
28 ----------------------------------------------
29
30 Description
31 +++++++++++
32
33 Cet algorithme réalise une estimation de l'état d'un système dynamique par un
34 filtre de Kalman "unscented", permettant d'éviter de devoir calculer les
35 opérateurs tangent ou adjoint pour les opérateurs d'observation ou d'évolution,
36 comme dans les filtres de Kalman simple ou étendu.
37
38 Il s'applique aux cas d'opérateurs d'observation et d'évolution incrémentale
39 (processus) non-linéaires et présente d'excellentes qualités de robustesse et
40 de performances. Il peut être comparé à
41 l':ref:`section_ref_algorithm_EnsembleKalmanFilter`, dont les qualités sont
42 similaires pour les systèmes non-linéaires.
43
44 Dans le cas d'opérateurs linéaires ou "faiblement" non-linéaire, on peut
45 aisément utiliser l':ref:`section_ref_algorithm_ExtendedKalmanFilter` ou même
46 l':ref:`section_ref_algorithm_KalmanFilter`, qui sont souvent largement moins
47 coûteux en évaluation sur de petits systèmes. On peut vérifier la linéarité des
48 opérateurs à l'aide de l':ref:`section_ref_algorithm_LinearityTest`.
49
50 Commandes requises et optionnelles
51 ++++++++++++++++++++++++++++++++++
52
53 Les commandes requises générales, disponibles dans l'interface en édition, sont
54 les suivantes:
55
56   .. include:: snippets/Background.rst
57
58   .. include:: snippets/BackgroundError.rst
59
60   .. include:: snippets/EvolutionError.rst
61
62   .. include:: snippets/EvolutionModel.rst
63
64   .. include:: snippets/Observation.rst
65
66   .. include:: snippets/ObservationError.rst
67
68   .. include:: snippets/ObservationOperator.rst
69
70 Les commandes optionnelles générales, disponibles dans l'interface en édition,
71 sont indiquées dans la :ref:`section_ref_assimilation_keywords`. De plus, les
72 paramètres de la commande "*AlgorithmParameters*" permettent d'indiquer les
73 options particulières, décrites ci-après, de l'algorithme. On se reportera à la
74 :ref:`section_ref_options_Algorithm_Parameters` pour le bon usage de cette
75 commande.
76
77 Les options de l'algorithme sont les suivantes:
78
79   .. include:: snippets/BoundsWithExtremes.rst
80
81   .. include:: snippets/ConstrainedBy.rst
82
83   .. include:: snippets/EstimationOf.rst
84
85   Alpha, Beta, Kappa, Reconditioner
86     .. index:: single: Alpha
87     .. index:: single: Beta
88     .. index:: single: Kappa
89     .. index:: single: Reconditioner
90
91     Ces clés sont des paramètres de mise à l'échelle interne. "Alpha" requiert
92     une valeur comprise entre 1.e-4 et 1. "Beta" a une valeur optimale de 2 pour
93     une distribution *a priori* gaussienne. "Kappa" requiert une valeur entière,
94     dont la bonne valeur par défaut est obtenue en la mettant à 0.
95     "Reconditioner" requiert une valeur comprise entre 1.e-3 et 10, son défaut
96     étant 1.
97
98     Exemple :
99     ``{"Alpha":1,"Beta":2,"Kappa":0,"Reconditioner":1}``
100
101   StoreSupplementaryCalculations
102
103
104     Cette liste indique les noms des variables supplémentaires qui peuvent être
105     disponibles à la fin de l'algorithme. Cela implique potentiellement des
106     calculs ou du stockage coûteux. La valeur par défaut est une liste vide,
107     aucune de ces variables n'étant calculée et stockée par défaut. Les noms
108     possibles sont dans la liste suivante : ["APosterioriCorrelations",
109     "APosterioriCovariance", "APosterioriStandardDeviations",
110     "APosterioriVariances", "BMA", "CostFunctionJ", "CostFunctionJb",
111     "CostFunctionJo", "CurrentState", "Innovation"].
112
113     Exemple :
114     ``{"StoreSupplementaryCalculations":["BMA", "Innovation"]}``
115
116 Informations et variables disponibles à la fin de l'algorithme
117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
118
119 En sortie, après exécution de l'algorithme, on dispose d'informations et de
120 variables issues du calcul. La description des
121 :ref:`section_ref_output_variables` indique la manière de les obtenir par la
122 méthode nommée ``get`` de la variable "*ADD*" du post-processing. Les variables
123 d'entrée, mises à disposition de l'utilisateur en sortie pour faciliter
124 l'écriture des procédures de post-processing, sont décrites dans
125 l':ref:`subsection_r_o_v_Inventaire`.
126
127 Les sorties non conditionnelles de l'algorithme sont les suivantes:
128
129   .. include:: snippets/Analysis.rst
130
131 Les sorties conditionnelles de l'algorithme sont les suivantes:
132
133   .. include:: snippets/APosterioriCorrelations.rst
134
135   .. include:: snippets/APosterioriCovariance.rst
136
137   .. include:: snippets/APosterioriStandardDeviations.rst
138
139   .. include:: snippets/APosterioriVariances.rst
140
141   .. include:: snippets/BMA.rst
142
143   .. include:: snippets/CostFunctionJ.rst
144
145   .. include:: snippets/CostFunctionJb.rst
146
147   .. include:: snippets/CostFunctionJo.rst
148
149   .. include:: snippets/CurrentState.rst
150
151   .. include:: snippets/Innovation.rst
152
153 Voir aussi
154 ++++++++++
155
156 Références vers d'autres sections :
157   - :ref:`section_ref_algorithm_KalmanFilter`
158   - :ref:`section_ref_algorithm_ExtendedKalmanFilter`
159   - :ref:`section_ref_algorithm_EnsembleKalmanFilter`
160
161 Références bibliographiques :
162   - [WikipediaUKF]_