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) ou par séquence de Sobol. Selon la méthode, l'échantillon sera inclus
58 dans le domaine décrit par ses bornes ou sera descriptif du domaine non borné
61 Ces mots-clés possibles sont les suivants :
63 .. include:: snippets/SampleAsExplicitHyperCube.rst
65 .. include:: snippets/SampleAsIndependantRandomVariables.rst
67 .. include:: snippets/SampleAsMinMaxLatinHyperCube.rst
69 .. include:: snippets/SampleAsMinMaxSobolSequence.rst
71 .. include:: snippets/SampleAsMinMaxStepHyperCube.rst
73 .. include:: snippets/SampleAsnUplet.rst
75 Attention à la taille de l'hypercube (et donc au nombre de calculs) qu'il est
76 possible d'atteindre, elle peut rapidement devenir importante.
78 Exemples très simples de répartitions dans l'espace des états
79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
81 Pour illustrer les commandes, on propose ici des répartitions simples obtenues
82 dans un espace d'état à 2 dimensions (pour être représentable), et les
83 commandes qui permettent de les obtenir. On choisit arbitrairement de
84 positionner 25 états dans chaque cas. Dans la majeure partie des commandes,
85 comme on décrit les états séparément selon chaque coordonnée, on demande donc 5
86 valeurs de coordonnées par axe.
88 Les trois premiers mots-clés illustrent la même répartition car ce sont
89 simplement des manières différentes de la décrire.
91 Répartition explicite d'états par le mot-clé "*SampleAsnUplet*"
92 ...............................................................
94 La commande de génération explicite d'échantillons par "*SampleAsnUplet*" est
97 .. code-block:: python
100 "SampleAsnUplet":[[0, 0], [0, 1], [0, 2], [0, 3], [0, 4],
101 [1, 0], [1, 1], [1, 2], [1, 3], [1, 4],
102 [2, 0], [2, 1], [2, 2], [2, 3], [2, 4],
103 [3, 0], [3, 1], [3, 2], [3, 3], [3, 4],
104 [4, 0], [4, 1], [4, 2], [4, 3], [4, 4]]
107 La répartition des états ainsi décrite correspond à l'illustration :
109 .. image:: images/sampling_01_SampleAsnUplet.png
112 Répartition implicite d'états par le mot-clé "*SampleAsExplicitHyperCube*"
113 ..........................................................................
115 La commande de génération implicite d'échantillons par
116 "*SampleAsExplicitHyperCube*" est la suivante :
118 .. code-block:: python
121 "SampleAsExplicitHyperCube":[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
123 "SampleAsExplicitHyperCube":[range(0, 5), range(0, 5)]
126 La répartition des états ainsi décrite correspond à l'illustration :
128 .. image:: images/sampling_02_SampleAsExplicitHyperCube.png
131 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxStepHyperCube*"
132 ............................................................................
134 La commande de génération implicite d'échantillons par
135 "*SampleAsMinMaxStepHyperCube*" est la suivante :
137 .. code-block:: python
140 "SampleAsMinMaxStepHyperCube":[[0, 4, 1], [0, 4, 1]]
143 La répartition des états ainsi décrite correspond à l'illustration :
145 .. image:: images/sampling_03_SampleAsMinMaxStepHyperCube.png
148 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxLatinHyperCube*"
149 .............................................................................
151 La commande de génération implicite d'échantillons par
152 "*SampleAsMinMaxLatinHyperCube*" est la suivante :
154 .. code-block:: python
157 "SampleAsMinMaxLatinHyperCube":[[0, 4], [0, 4], [2, 25]]
160 La répartition des états ainsi décrite correspond à l'illustration :
162 .. image:: images/sampling_04_SampleAsMinMaxLatinHyperCube.png
165 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxSobolSequence*"
166 ............................................................................
168 La commande de génération implicite d'échantillons par
169 "*SampleAsMinMaxSobolSequence*" est la suivante :
171 .. code-block:: python
174 "SampleAsMinMaxSobolSequence":[[0, 4, 1], [0, 4, 1], [2, 25]]
177 La répartition des états (il y en a ici 32 par principe de construction de la
178 séquence de Sobol) ainsi décrite correspond à l'illustration :
180 .. image:: images/sampling_05_SampleAsMinMaxSobolSequence.png
183 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi normale
184 ....................................................................................................
186 La commande de génération implicite d'échantillons par
187 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi
188 normale (0,1) de répartition par coordonnée :
190 .. code-block:: python
193 "SampleAsIndependantRandomVariables":[['normal', [0, 1], 5], ['normal', [0, 1], 5]]
196 La répartition des états ainsi décrite correspond à l'illustration :
198 .. image:: images/sampling_06_SampleAsIndependantRandomVariables_normal.png
201 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi uniforme
202 .....................................................................................................
204 La commande de génération implicite d'échantillons par
205 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi
206 uniforme entre 0 et 5 de répartition par coordonnée :
208 .. code-block:: python
211 "SampleAsIndependantRandomVariables":[['uniform', [0, 5], 5], ['uniform', [0, 5], 5]]
214 La répartition des états ainsi décrite correspond à l'illustration :
216 .. image:: images/sampling_07_SampleAsIndependantRandomVariables_uniform.png
219 Répartition implicite par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi de Weibull
220 ...............................................................................................
222 La commande de génération implicite d'échantillons par
223 "*SampleAsIndependantRandomVariables*" est la suivante, en utilisant une loi de
224 Weibull à un paramètre de valeur 5 de répartition par coordonnée :
226 .. code-block:: python
229 "SampleAsIndependantRandomVariables":[['weibull', [5], 5], ['weibull', [5], 5]]
232 La répartition des états ainsi décrite correspond à l'illustration :
234 .. image:: images/sampling_08_SampleAsIndependantRandomVariables_weibull.png