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:
lhsDesignopenturns.Sample

Initial design

intervalopenturns.Interval

Bounds of the domain

Nint

Number of trajectories

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.

getBounds()

Get the bounds of the domain.

getClassName()

Accessor to the object's name.

getDistribution()

Accessor to the distribution.

getId()

Accessor to the object's id.

getName()

Accessor to the object's name.

getShadowedId()

Accessor to the object's shadowed id.

getSize()

Accessor to the size of the generated sample.

getVisibility()

Accessor to the object's visibility state.

hasName()

Test if the object is named.

hasUniformWeights()

Ask whether the experiment has uniform weights.

hasVisibleName()

Test if the object has a distinguishable name.

isRandom()

Accessor to the randomness of quadrature.

setDistribution(distribution)

Accessor to the distribution.

setName(name)

Accessor to the object's name.

setShadowedId(id)

Accessor to the object's shadowed id.

setSize(size)

Accessor to the size of the generated sample.

setVisibility(visible)

Accessor to the object's visibility state.

__init__(*args)
generate()

Generate points according to the type of the experiment.

Returns:
sampleopenturns.Sample

Points that constitute the design of experiment, of size N \times (p+1)

generateWithWeights(weights)

Generate points and their associated weight according to the type of the experiment.

Returns:
sampleSample

The points which constitute the design of experiments. The sampling method is defined by the nature of the experiment.

weightsPoint of size cardI

Weights (\omega_i)_{i \in I} associated with the points. By default, all the weights are equal to 1/cardI.

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:
boundsopenturns.Interval

Bounds of the domain, default is [0,1]^d

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getDistribution()

Accessor to the distribution.

Returns:
distributionDistribution

Distribution used to generate the set of input data.

getId()

Accessor to the object’s id.

Returns:
idint

Internal unique identifier.

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getShadowedId()

Accessor to the object’s shadowed id.

Returns:
idint

Internal unique identifier.

getSize()

Accessor to the size of the generated sample.

Returns:
sizepositive int

Number cardI of points constituting the design of experiments.

getVisibility()

Accessor to the object’s visibility state.

Returns:
visiblebool

Visibility flag.

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.

hasVisibleName()

Test if the object has a distinguishable name.

Returns:
hasVisibleNamebool

True if the name is not empty and not the default one.

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:
distributionDistribution

Distribution used to generate the set of input data.

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters:
idint

Internal unique identifier.

setSize(size)

Accessor to the size of the generated sample.

Parameters:
sizepositive int

Number cardI of points constituting the design of experiments.

setVisibility(visible)

Accessor to the object’s visibility state.

Parameters:
visiblebool

Visibility flag.