MorrisExperimentLHS¶
- class otmorris.MorrisExperimentLHS(*args)¶
MorrisExperimentLHS builds experiments for the Morris method using a centered LHS design as input starting.
Available constructors:
MorrisExperimentLHS(lhsDesign, N)
MorrisExperimentLHS(lhsDesign, interval, N)
- Parameters:
- lhsDesign
openturns.Sample
Initial design
- interval
openturns.Interval
Bounds of the domain
- Nint
Number of trajectories
- lhsDesign
Notes
With the first constructor, we fix the initial design which could be an LHS, an optimal LHS defined using uniform marginals. With the second constructor LHS design and bounds are required. The lhs sample must be centered, ie from
openturns.LHSExperiment
with randomShift=False.The method consists in generating trajectories (paths) by randomly selecting their initial points from the lhs design. If number of trajectories is lesser than the lhsDesign’s size, we enforce the selection of the starting point using
openturns.KPermutationsDistribution
which ensure full different trajectories.Examples
>>> import openturns as ot >>> import otmorris >>> ot.RandomGenerator.SetSeed(1) >>> r = 5 >>> # Define experiments in [0,1]^2 >>> size = 20 >>> # Generate an LHS design >>> dist = ot.ComposedDistribution([ot.Uniform(0, 1)] * 2) >>> # should be centered so randomShift=False >>> lhs_experiment = ot.LHSExperiment(dist, size, True, False) >>> lhsDesign = lhs_experiment.generate() >>> experiment = otmorris.MorrisExperimentLHS(lhsDesign, r) >>> X = experiment.generate()
Methods
generate
()Generate points according to the type of the experiment.
generateWithWeights
(weights)Generate points and their associated weight according to the type of the experiment.
Get the bounds of the domain.
Accessor to the object's name.
Accessor to the distribution.
getName
()Accessor to the object's name.
getSize
()Accessor to the size of the generated sample.
hasName
()Test if the object is named.
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
openturns.Sample
Points that constitute the design of experiment, of size
- sample
- generateWithWeights(weights)¶
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]
- getBounds()¶
Get the bounds of the domain.
- Returns:
- bounds
openturns.Interval
Bounds of the domain, default is
- bounds
- 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
- 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.
- hasName()¶
Test if the object is named.
- Returns:
- hasNamebool
True if the name is not empty.
- 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.