Salome HOME
Documentation for sampling update and examples improvement
[modules/adao.git] / doc / fr / ref_sampling_requirements.rst
1 ..
2    Copyright (C) 2008-2023 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_ref_sampling_requirements:
25
26 Conditions requises pour décrire un échantillonnage d'états
27 -----------------------------------------------------------
28
29 .. index:: single: SamplingTest
30 .. index:: single: Echantillonnage d'états
31 .. index:: single: Echantillonnage
32
33 De manière générale, il est utile de disposer d'un échantillonnage des états
34 lorsque l'on s'intéresse à des analyses qui bénéficient de la connaissance d'un
35 ensemble de simulations ou d'un ensemble de mesures similaires, mais chacune
36 obtenue pour un état différent.
37
38 C'est le cas pour la définition explicite des états simulables des
39 :ref:`section_ref_algorithm_SamplingTest`,
40 :ref:`section_ref_algorithm_EnsembleOfSimulationGenerationTask` et
41 :ref:`section_ref_algorithm_MeasurementsOptimalPositioningTask`.
42
43 L'ensemble de ces états peut être décrit de manière explicite ou implicite pour
44 en faciliter l'inventaire. On indique ci-dessous les descriptions possibles, et
45 on les fait suivre d'exemples très simples pour montrer les types de
46 répartitions obtenues dans l'espace des états.
47
48 Description explicite ou implicite de la collection d'échantillonnage des états
49 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
50
51 La collection d'échantillonnage des états peut être décrite à l'aide de
52 mots-clés dédiés dans le jeu de commandes d'un algorithme qui le nécessite.
53
54 L'échantillonnage des états :math:`\mathbf{x}` peut être fourni explicitement
55 ou sous la forme d'hypercubes, explicites ou échantillonnés selon des
56 distributions courantes, ou à l'aide d'un échantillonnage par hypercube latin
57 (LHS).
58
59 Ces mots-clés possibles sont les suivants :
60
61 .. include:: snippets/SampleAsExplicitHyperCube.rst
62
63 .. include:: snippets/SampleAsIndependantRandomVariables.rst
64
65 .. include:: snippets/SampleAsMinMaxLatinHyperCube.rst
66
67 .. include:: snippets/SampleAsMinMaxStepHyperCube.rst
68
69 .. include:: snippets/SampleAsnUplet.rst
70
71 Attention à la taille de l'hypercube (et donc au nombre de calculs) qu'il est
72 possible d'atteindre, elle peut rapidement devenir importante.
73
74 Exemples très simples de répartitions dans l'espace des états
75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
76
77 Pour illustrer les commandes, on propose ici des répartitions simples obtenues
78 dans un espace d'état à 2 dimensions (pour être représentable), et les
79 commandes qui permettent de les obtenir. On choisit arbitrairement de
80 positionner 25 états dans chaque cas. Dans la majeure partie des commandes,
81 comme on décrit les états séparément selon chaque coordonnée, on demande donc 5
82 valeurs de coordonnées par axe.
83
84 Les trois premiers mots-clés illustrent la même répartition car ce sont
85 simplement des manières différentes de la décrire.
86
87 Répartition explicite d'états par le mot-clé "*SampleAsnUplet*"
88 ...............................................................
89
90 La commande de génération explicite d'échantillons par "*SampleAsnUplet*" est
91 la suivante :
92
93 .. code-block:: python
94
95     [...]
96     "SampleAsnUplet":[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4],
97                       [1, 0], [1, 1], [1, 2], [1, 3], [1, 4],
98                       [2, 0], [2, 1], [2, 2], [2, 3], [2, 4],
99                       [3, 0], [3, 1], [3, 2], [3, 3], [3, 4],
100                       [4, 0], [4, 1], [4, 2], [4, 3], [4, 4]]
101     [...]
102
103 La répartition des états ainsi décrite correspond à l'illustration  :
104
105   .. image:: images/sampling_01_SampleAsnUplet.png
106     :align: center
107
108 Répartition implicite d'états par le mot-clé "*SampleAsExplicitHyperCube*"
109 ..........................................................................
110
111 La commande de génération implicite d'échantillons par
112 "*SampleAsExplicitHyperCube*" est la suivante :
113
114 .. code-block:: python
115
116     [...]
117     "SampleAsExplicitHyperCube":[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
118     # ou
119     "SampleAsExplicitHyperCube":[range(0, 5), range(0, 5)]
120     [...]
121
122 La répartition des états ainsi décrite correspond à l'illustration :
123
124   .. image:: images/sampling_02_SampleAsExplicitHyperCube.png
125     :align: center
126
127 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxStepHyperCube*"
128 ............................................................................
129
130 La commande de génération implicite d'échantillons par
131 "*SampleAsMinMaxStepHyperCube*" est la suivante :
132
133 .. code-block:: python
134
135     [...]
136     "SampleAsMinMaxStepHyperCube":[[0, 4, 1], [0, 4, 1]]
137     [...]
138
139 La répartition des états ainsi décrite correspond à l'illustration :
140
141   .. image:: images/sampling_03_SampleAsMinMaxStepHyperCube.png
142     :align: center
143
144 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxLatinHyperCube*"
145 .............................................................................
146
147 La commande de génération implicite d'échantillons par
148 "*SampleAsMinMaxLatinHyperCube*" est la suivante :
149
150 .. code-block:: python
151
152     [...]
153     "SampleAsMinMaxLatinHyperCube":[[0, 4], [0, 4], [2, 25]]
154     [...]
155
156 La répartition des états ainsi décrite correspond à l'illustration :
157
158   .. image:: images/sampling_04_SampleAsMinMaxLatinHyperCube.png
159     :align: center
160
161 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi normale
162 ....................................................................................................
163
164 La commande de génération implicite d'échantillons par
165 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi
166 normale (0,1) de répartition par coordonnée :
167
168 .. code-block:: python
169
170     [...]
171     "SampleAsIndependantRandomVariables":[['normal', [0, 1], 5], ['normal', [0, 1], 5]]
172     [...]
173
174 La répartition des états ainsi décrite correspond à l'illustration :
175
176   .. image:: images/sampling_05_SampleAsIndependantRandomVariables_normal.png
177     :align: center
178
179 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi uniforme
180 .....................................................................................................
181
182 La commande de génération implicite d'échantillons par
183 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi
184 uniforme entre 0 et 5 de répartition par coordonnée :
185
186 .. code-block:: python
187
188     [...]
189     "SampleAsIndependantRandomVariables":[['uniform', [0, 5], 5], ['uniform', [0, 5], 5]]
190     [...]
191
192 La répartition des états ainsi décrite correspond à l'illustration :
193
194   .. image:: images/sampling_06_SampleAsIndependantRandomVariables_uniform.png
195     :align: center
196
197 Répartition implicite par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi de Weibull
198 ...............................................................................................
199
200 La commande de génération implicite d'échantillons par
201 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi de
202 Weibull à un paramètre de valeur 5 de répartition par coordonnée :
203
204 .. code-block:: python
205
206     [...]
207     "SampleAsIndependantRandomVariables":[['weibull', [5], 5], ['weibull', [5], 5]]
208     [...]
209
210 La répartition des états ainsi décrite correspond à l'illustration :
211
212   .. image:: images/sampling_07_SampleAsIndependantRandomVariables_weibull.png
213     :align: center