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
59 Ces mots-clés possibles sont les suivants :
61 .. include:: snippets/SampleAsExplicitHyperCube.rst
63 .. include:: snippets/SampleAsIndependantRandomVariables.rst
65 .. include:: snippets/SampleAsMinMaxLatinHyperCube.rst
67 .. include:: snippets/SampleAsMinMaxStepHyperCube.rst
69 .. include:: snippets/SampleAsnUplet.rst
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.
74 Exemples très simples de répartitions dans l'espace des états
75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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.
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.
87 Répartition explicite d'états par le mot-clé "*SampleAsnUplet*"
88 ...............................................................
90 La commande de génération explicite d'échantillons par "*SampleAsnUplet*" est
93 .. code-block:: python
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]]
103 La répartition des états ainsi décrite correspond à l'illustration :
105 .. image:: images/sampling_01_SampleAsnUplet.png
108 Répartition implicite d'états par le mot-clé "*SampleAsExplicitHyperCube*"
109 ..........................................................................
111 La commande de génération implicite d'échantillons par
112 "*SampleAsExplicitHyperCube*" est la suivante :
114 .. code-block:: python
117 "SampleAsExplicitHyperCube":[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
119 "SampleAsExplicitHyperCube":[range(0, 5), range(0, 5)]
122 La répartition des états ainsi décrite correspond à l'illustration :
124 .. image:: images/sampling_02_SampleAsExplicitHyperCube.png
127 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxStepHyperCube*"
128 ............................................................................
130 La commande de génération implicite d'échantillons par
131 "*SampleAsMinMaxStepHyperCube*" est la suivante :
133 .. code-block:: python
136 "SampleAsMinMaxStepHyperCube":[[0, 4, 1], [0, 4, 1]]
139 La répartition des états ainsi décrite correspond à l'illustration :
141 .. image:: images/sampling_03_SampleAsMinMaxStepHyperCube.png
144 Répartition implicite d'états par le mot-clé "*SampleAsMinMaxLatinHyperCube*"
145 .............................................................................
147 La commande de génération implicite d'échantillons par
148 "*SampleAsMinMaxLatinHyperCube*" est la suivante :
150 .. code-block:: python
153 "SampleAsMinMaxLatinHyperCube":[[0, 4], [0, 4], [2, 25]]
156 La répartition des états ainsi décrite correspond à l'illustration :
158 .. image:: images/sampling_04_SampleAsMinMaxLatinHyperCube.png
161 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi normale
162 ....................................................................................................
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 :
168 .. code-block:: python
171 "SampleAsIndependantRandomVariables":[['normal', [0, 1], 5], ['normal', [0, 1], 5]]
174 La répartition des états ainsi décrite correspond à l'illustration :
176 .. image:: images/sampling_05_SampleAsIndependantRandomVariables_normal.png
179 Répartition implicite d'états par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi uniforme
180 .....................................................................................................
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 :
186 .. code-block:: python
189 "SampleAsIndependantRandomVariables":[['uniform', [0, 5], 5], ['uniform', [0, 5], 5]]
192 La répartition des états ainsi décrite correspond à l'illustration :
194 .. image:: images/sampling_06_SampleAsIndependantRandomVariables_uniform.png
197 Répartition implicite par le mot-clé "*SampleAsIndependantRandomVariables*" avec loi de Weibull
198 ...............................................................................................
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 :
204 .. code-block:: python
207 "SampleAsIndependantRandomVariables":[['weibull', [5], 5], ['weibull', [5], 5]]
210 La répartition des états ainsi décrite correspond à l'illustration :
212 .. image:: images/sampling_07_SampleAsIndependantRandomVariables_weibull.png