2 Copyright (C) 2008-2023 EDF R&D
4 This file is part of SALOME ADAO module.
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.
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.
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
20 See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
24 .. _section_ref_sampling_requirements:
26 Conditions requises pour décrire un échantillonnage d'états
27 -----------------------------------------------------------
29 .. index:: single: SamplingTest
30 .. index:: single: Echantillonnage d'états
31 .. index:: single: Echantillonnage
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.
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`.
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.
48 Description explicite ou implicite de la collection d'échantillonnage des états
49 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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.
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). Selon la méthode, l'échantillon sera inclus dans le domaine décrit par
58 ses bornes ou sera descriptif du domaine non borné des variables d'état.
60 Ces mots-clés possibles sont les suivants :
62 .. include:: snippets/SampleAsExplicitHyperCube.rst
64 .. include:: snippets/SampleAsIndependantRandomVariables.rst
66 .. include:: snippets/SampleAsMinMaxLatinHyperCube.rst
68 .. include:: snippets/SampleAsMinMaxSobolSequence.rst
70 .. include:: snippets/SampleAsMinMaxStepHyperCube.rst
72 .. include:: snippets/SampleAsnUplet.rst
74 Attention à la taille de l'hypercube (et donc au nombre de calculs) qu'il est
75 possible d'atteindre, elle peut rapidement devenir importante.
77 Exemples très simples de répartitions dans l'espace des états
78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
80 Pour illustrer les commandes, on propose ici des répartitions simples obtenues
81 dans un espace d'état à 2 dimensions (pour être représentable), et les
82 commandes qui permettent de les obtenir. On choisit arbitrairement de
83 positionner 25 états dans chaque cas. Dans la majeure partie des commandes,
84 comme on décrit les états séparément selon chaque coordonnée, on demande donc 5
85 valeurs de coordonnées par axe.
87 Les trois premiers mots-clés illustrent la même répartition car ce sont
88 simplement des manières différentes de la décrire.
90 Répartition explicite d'états par le mot-clé "*SampleAsnUplet*"
91 ...............................................................
93 La commande de génération explicite d'échantillons par "*SampleAsnUplet*" est
96 .. code-block:: python
99 "SampleAsnUplet":[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4],
100 [1, 0], [1, 1], [1, 2], [1, 3], [1, 4],
101 [2, 0], [2, 1], [2, 2], [2, 3], [2, 4],
102 [3, 0], [3, 1], [3, 2], [3, 3], [3, 4],
103 [4, 0], [4, 1], [4, 2], [4, 3], [4, 4]]
106 La répartition des états ainsi décrite correspond à l'illustration :
108 .. image:: images/sampling_01_SampleAsnUplet.png
111 Répartition implicite d'états par le mot-clé "*SampleAsExplicitHyperCube*"
112 ..........................................................................
114 La commande de génération implicite d'échantillons par
115 "*SampleAsExplicitHyperCube*" est la suivante :
117 .. code-block:: python
120 "SampleAsExplicitHyperCube":[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
122 "SampleAsExplicitHyperCube":[range(0, 5), range(0, 5)]
125 La répartition des états ainsi décrite correspond à l'illustration :
127 .. image:: images/sampling_02_SampleAsExplicitHyperCube.png
130 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxStepHyperCube*"
131 ............................................................................
133 La commande de génération implicite d'échantillons par
134 "*SampleAsMinMaxStepHyperCube*" est la suivante :
136 .. code-block:: python
139 "SampleAsMinMaxStepHyperCube":[[0, 4, 1], [0, 4, 1]]
142 La répartition des états ainsi décrite correspond à l'illustration :
144 .. image:: images/sampling_03_SampleAsMinMaxStepHyperCube.png
147 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxLatinHyperCube*"
148 .............................................................................
150 La commande de génération implicite d'échantillons par
151 "*SampleAsMinMaxLatinHyperCube*" est la suivante :
153 .. code-block:: python
156 "SampleAsMinMaxLatinHyperCube":[[0, 4], [0, 4], [2, 25]]
159 La répartition des états ainsi décrite correspond à l'illustration :
161 .. image:: images/sampling_04_SampleAsMinMaxLatinHyperCube.png
164 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxSobolSequence*"
165 ............................................................................
167 La commande de génération implicite d'échantillons par
168 "*SampleAsMinMaxSobolSequence*" est la suivante :
170 .. code-block:: python
173 "SampleAsMinMaxSobolSequence":[[0, 4, 1], [0, 4, 1], [2, 25]]
176 La répartition des états (il y en a ici 32 par principe de construction de la
177 séquence de Sobol) ainsi décrite correspond à l'illustration :
179 .. image:: images/sampling_05_SampleAsMinMaxSobolSequence.png
182 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi normale
183 ....................................................................................................
185 La commande de génération implicite d'échantillons par
186 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi
187 normale (0,1) de répartition par coordonnée :
189 .. code-block:: python
192 "SampleAsIndependantRandomVariables":[['normal', [0, 1], 5], ['normal', [0, 1], 5]]
195 La répartition des états ainsi décrite correspond à l'illustration :
197 .. image:: images/sampling_06_SampleAsIndependantRandomVariables_normal.png
200 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi uniforme
201 .....................................................................................................
203 La commande de génération implicite d'échantillons par
204 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi
205 uniforme entre 0 et 5 de répartition par coordonnée :
207 .. code-block:: python
210 "SampleAsIndependantRandomVariables":[['uniform', [0, 5], 5], ['uniform', [0, 5], 5]]
213 La répartition des états ainsi décrite correspond à l'illustration :
215 .. image:: images/sampling_07_SampleAsIndependantRandomVariables_uniform.png
218 Répartition implicite par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi de Weibull
219 ...............................................................................................
221 La commande de génération implicite d'échantillons par
222 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi de
223 Weibull à un paramètre de valeur 5 de répartition par coordonnée :
225 .. code-block:: python
228 "SampleAsIndependantRandomVariables":[['weibull', [5], 5], ['weibull', [5], 5]]
231 La répartition des états ainsi décrite correspond à l'illustration :
233 .. image:: images/sampling_08_SampleAsIndependantRandomVariables_weibull.png