WeightedExperiment¶
- class WeightedExperiment(*args)¶
Weighted experiment.
- Available constructor:
WeightedExperiment(distribution=ot.Uniform(), size=100)
- Parameters:
- distribution
Distribution
Distribution used to generate the set of input data.
- sizepositive int
Number of points that will be generated in the experiment.
- distribution
Notes
This class is used to generate nodes and their associated weights to approximate the weighted integral of a physical model with respect to a distribution (see [sullivan2015] chapter 9 page 165).
Let be a function where is the input space and is the output space. Let be a random vector with dimension . We are interested in the expected value of the physical model:
where is the distribution of the input random vector. If the input has a probability density function, then:
where is the probability density function of the input random vector.
The class computes the weights and the nodes such that
By default, all the weights are equal to . Some quadrature rules e.g. the tensorised Gauss product rule guarantee that all nodes are non negative, but not all rules have that property.
A WeightedExperiment object can be created only through its derived classes which are in three groups:
The random patterns, where the set of input data is generated from the joint distribution of the input random vector, e.g.
Monte Carlo
. In this case, the value returned byisRandom()
is True.The
low discrepancy sequences
e.g.SobolSequence
. In this case, the value returned byisRandom()
is False.The deterministic patterns or quadrature rules e.g.
Gauss product
. In this case, the value returned byisRandom()
is False.
In order to estimate the expectation of the model using the nodes and weights, we suggest to use the
ExperimentIntegration
class.Methods
generate
()Generate points according to the type of the experiment.
Generate points and their associated weight according to the type of the experiment.
Accessor to the object's name.
Accessor to the distribution.
getId
()Accessor to the object's id.
Accessor to the underlying implementation.
getName
()Accessor to the object's name.
getSize
()Accessor to the size of the generated sample.
Ask whether the experiment has uniform weights.
isRandom
()Accessor to the randomness of quadrature.
setDistribution
(distribution)Accessor to the distribution.
setName
(name)Accessor to the object's name.
setSize
(size)Accessor to the size of the generated sample.
- __init__(*args)¶
- generate()¶
Generate points according to the type of the experiment.
- Returns:
- sample
Sample
Points of the design of experiments. The sampling method is defined by the type of the weighted experiment.
- sample
Examples
>>> import openturns as ot >>> ot.RandomGenerator.SetSeed(0) >>> myExperiment = ot.MonteCarloExperiment(ot.Normal(2), 5) >>> sample = myExperiment.generate() >>> print(sample) [ X0 X1 ] 0 : [ 0.608202 -1.26617 ] 1 : [ -0.438266 1.20548 ] 2 : [ -2.18139 0.350042 ] 3 : [ -0.355007 1.43725 ] 4 : [ 0.810668 0.793156 ]
- generateWithWeights()¶
Generate points and their associated weight according to the type of the experiment.
- Returns:
Examples
>>> import openturns as ot >>> ot.RandomGenerator.SetSeed(0) >>> myExperiment = ot.MonteCarloExperiment(ot.Normal(2), 5) >>> sample, weights = myExperiment.generateWithWeights() >>> print(sample) [ X0 X1 ] 0 : [ 0.608202 -1.26617 ] 1 : [ -0.438266 1.20548 ] 2 : [ -2.18139 0.350042 ] 3 : [ -0.355007 1.43725 ] 4 : [ 0.810668 0.793156 ] >>> print(weights) [0.2,0.2,0.2,0.2,0.2]
- getClassName()¶
Accessor to the object’s name.
- Returns:
- class_namestr
The object class name (object.__class__.__name__).
- getDistribution()¶
Accessor to the distribution.
- Returns:
- distribution
Distribution
Distribution of the input random vector.
- distribution
- getId()¶
Accessor to the object’s id.
- Returns:
- idint
Internal unique identifier.
- getImplementation()¶
Accessor to the underlying implementation.
- Returns:
- implImplementation
A copy of the underlying implementation object.
- getName()¶
Accessor to the object’s name.
- Returns:
- namestr
The name of the object.
- getSize()¶
Accessor to the size of the generated sample.
- Returns:
- sizepositive int
Number of points constituting the design of experiments.
- hasUniformWeights()¶
Ask whether the experiment has uniform weights.
- Returns:
- hasUniformWeightsbool
Whether the experiment has uniform weights.
- isRandom()¶
Accessor to the randomness of quadrature.
- Parameters:
- isRandombool
Is true if the design of experiments is random. Otherwise, the design of experiment is assumed to be deterministic.
- setDistribution(distribution)¶
Accessor to the distribution.
- Parameters:
- distribution
Distribution
Distribution of the input random vector.
- distribution
- setName(name)¶
Accessor to the object’s name.
- Parameters:
- namestr
The name of the object.
- setSize(size)¶
Accessor to the size of the generated sample.
- Parameters:
- sizepositive int
Number of points constituting the design of experiments.