ConditionalRandomVector

(Source code, png, hires.png, pdf)

../../_images/ConditionalRandomVector.png
class ConditionalRandomVector(*args)

Conditional random vector.

Helper class for defining the random vector \vect{X} such that \vect{X}|\vect{\Theta} follows the distribution \mathcal{L}_{\vect{X}|\vect{\Theta}}, with \vect{\Theta} a random vector of dimension the dimension of \vect{\Theta}.

Available constructors:
ConditionalRandomVector(conditionedDist, randomParameters)
Parameters:

conditionedDist : Distribution, the distribution of \vect{X}|\vect{\Theta}, whose parameters will be overwritten by \vect{\Theta}.

randomParameters : RandomVector, the random parameters \vect{\Theta} of the conditionedDist distribution.

Notes

Its probability density function is defined as:

f_{\vect{X}}(\vect{x}) = \int f_{\vect{X}|\vect{\Theta}=\vect{\theta}}(\vect{x}|\vect{\theta}) f_{\vect{\Theta}}(\vect{\theta})\di{\vect{\theta}}

with f_{\vect{X}|\vect{\Theta}=\vect{\theta}} the PDF of the distribution of \vect{X}|\vect{\Theta}, where \vect{\Theta} has been replaced by \vect{\theta}, f_{\vect{\Theta}} the PDF of \vect{\Theta}.

Note that there exist other (quasi) equivalent modellings using a combination of the classes ConditionalDistribution and RandomVector (see the Use Cases Guide).

Examples

Create a random vector:

>>> import openturns as ot
>>> distXgivenT = ot.Exponential()
>>> distGamma = ot.Uniform(1.0, 2.0)
>>> distAlpha = ot.Uniform(0.0, 0.1)
>>> distTheta = ot.ComposedDistribution([distGamma, distAlpha])
>>> rvTheta = ot.RandomVector(distTheta)
>>> rvX = ot.ConditionalRandomVector(distXgivenT, rvTheta)

Draw a sample:

>>> sample = rvX.getSample(5)

Methods

getAntecedent() Accessor to the antecedent RandomVector in case of a composite RandomVector.
getClassName() Accessor to the object’s name.
getCovariance() Accessor to the covariance of the RandomVector.
getDescription() Accessor to the description of the RandomVector.
getDimension() Accessor to the dimension of the RandomVector.
getDistribution() Accessor to the distribution’s conditioned distribution parameter conditionedDistribution.
getDomain() Get the domain failure.
getFunction() Accessor to the Function in case of a composite RandomVector.
getId() Accessor to the object’s id.
getMarginal(*args) Get the random vector corresponding to the i^{th} marginal component(s).
getMean() Accessor to the mean of the RandomVector.
getName() Accessor to the object’s name.
getOperator() Accessor to the comparaison operator of the Event.
getProcess() Get the stochastic process.
getRandomParameters() Accessor to the distribution’s random parameter randomParameters.
getRealization(*args) Compute one realization of the RandomVector.
getSample(size) Compute realizations of the RandomVector.
getShadowedId() Accessor to the object’s shadowed id.
getThreshold() Accessor to the threshold of the Event.
getVisibility() Accessor to the object’s visibility state.
hasName() Test if the object is named.
hasVisibleName() Test if the object has a distinguishable name.
isComposite() Accessor to know if the RandomVector is a composite one.
setDescription(description) Accessor to the description of the RandomVector.
setName(name) Accessor to the object’s name.
setShadowedId(id) Accessor to the object’s shadowed id.
setVisibility(visible) Accessor to the object’s visibility state.
__init__(*args)
getAntecedent()

Accessor to the antecedent RandomVector in case of a composite RandomVector.

Returns:

antecedent : RandomVector

Antecedent RandomVector \vect{X} in case of a CompositeRandomVector such as: \vect{Y}=f(\vect{X}).

getClassName()

Accessor to the object’s name.

Returns:

class_name : str

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

getCovariance()

Accessor to the covariance of the RandomVector.

Returns:

covariance : CovarianceMatrix

Covariance of the considered UsualRandomVector.

Examples

>>> import openturns as ot
>>> distribution = ot.Normal([0.0, 0.5], [1.0, 1.5], ot.CorrelationMatrix(2))
>>> randomVector = ot.RandomVector(distribution)
>>> ot.RandomGenerator.SetSeed(0)
>>> print(randomVector.getCovariance())
[[ 1    0    ]
 [ 0    2.25 ]]
getDescription()

Accessor to the description of the RandomVector.

Returns:

description : Description

Describes the components of the RandomVector.

getDimension()

Accessor to the dimension of the RandomVector.

Returns:

dimension : positive int

Dimension of the RandomVector.

getDistribution()

Accessor to the distribution’s conditioned distribution parameter conditionedDistribution.

Returns:conditionedDistribution : Distribution, the distribution of \vect{X}|\vect{\Theta}=\vect{\theta}, where the parameters \vect{\theta} are equal to the values used to generate the last realization of \vect{X}.
getDomain()

Get the domain failure.

Returns:

domain : Domain

Domain failure used to define the Event.

getFunction()

Accessor to the Function in case of a composite RandomVector.

Returns:

function : Function

Function used to define a CompositeRandomVector as the image through this function of the antecedent \vect{X}: \vect{Y}=f(\vect{X}).

getId()

Accessor to the object’s id.

Returns:

id : int

Internal unique identifier.

getMarginal(*args)

Get the random vector corresponding to the i^{th} marginal component(s).

Parameters:

i : int or list of ints, 0\leq i < dim

Indicates the component(s) concerned. dim is the dimension of the RandomVector.

Returns:

vector : RandomVector

RandomVector restricted to the concerned components.

Notes

Let’s note \vect{Y}=\Tr{(Y_1,\dots,Y_n)} a random vector and I \in [1,n] a set of indices. If \vect{Y} is a UsualRandomVector, the subvector is defined by \tilde{\vect{Y}}=\Tr{(Y_i)}_{i \in I}. If \vect{Y} is a CompositeRandomVector, defined by \vect{Y}=f(\vect{X}) with f=(f_1,\dots,f_n), f_i some scalar functions, the subvector is \tilde{\vect{Y}}=(f_i(\vect{X}))_{i \in I}.

Examples

>>> import openturns as ot
>>> distribution = ot.Normal([0.0, 0.0], [1.0, 1.0], ot.CorrelationMatrix(2))
>>> randomVector = ot.RandomVector(distribution)
>>> ot.RandomGenerator.SetSeed(0)
>>> print(randomVector.getMarginal(1).getRealization())
[0.608202]
>>> print(randomVector.getMarginal(1).getDistribution())
Normal(mu = 0, sigma = 1)
getMean()

Accessor to the mean of the RandomVector.

Returns:

mean : Point

Mean of the considered UsualRandomVector.

Examples

>>> import openturns as ot
>>> distribution = ot.Normal([0.0, 0.5], [1.0, 1.5], ot.CorrelationMatrix(2))
>>> randomVector = ot.RandomVector(distribution)
>>> ot.RandomGenerator.SetSeed(0)
>>> print(randomVector.getMean())
[0,0.5]
getName()

Accessor to the object’s name.

Returns:

name : str

The name of the object.

getOperator()

Accessor to the comparaison operator of the Event.

Returns:

operator : ComparisonOperator

Comparaison operator used to define the Event.

getProcess()

Get the stochastic process.

Returns:

process : Process

Stochastic process used to define the Event.

getRandomParameters()

Accessor to the distribution’s random parameter randomParameters.

Returns:randomParameters : RandomVector, the random parameters \vect{\Theta}.
getRealization(*args)

Compute one realization of the RandomVector.

Returns:

aRealization : Point

Sequence of values randomly determined from the RandomVector definition. In the case of an event: one realization of the event (considered as a Bernoulli variable) which is a boolean value (1 for the realization of the event and 0 else).

See also

getSample

Examples

>>> import openturns as ot
>>> distribution = ot.Normal([0.0, 0.0], [1.0, 1.0], ot.CorrelationMatrix(2))
>>> randomVector = ot.RandomVector(distribution)
>>> ot.RandomGenerator.SetSeed(0)
>>> print(randomVector.getRealization())
[0.608202,-1.26617]
>>> print(randomVector.getRealization())
[-0.438266,1.20548]
getSample(size)

Compute realizations of the RandomVector.

Parameters:

n : int, n \geq 0

Number of realizations needed.

Returns:

realizations : Sample

n sequences of values randomly determined from the RandomVector definition. In the case of an event: n realizations of the event (considered as a Bernoulli variable) which are boolean values (1 for the realization of the event and 0 else).

See also

getRealization

Examples

>>> import openturns as ot
>>> distribution = ot.Normal([0.0, 0.0], [1.0, 1.0], ot.CorrelationMatrix(2))
>>> randomVector = ot.RandomVector(distribution)
>>> ot.RandomGenerator.SetSeed(0)
>>> print(randomVector.getSample(3))
    [ X0        X1        ]
0 : [  0.608202 -1.26617  ]
1 : [ -0.438266  1.20548  ]
2 : [ -2.18139   0.350042 ]
getShadowedId()

Accessor to the object’s shadowed id.

Returns:

id : int

Internal unique identifier.

getThreshold()

Accessor to the threshold of the Event.

Returns:

threshold : float

Threshold of the Event.

getVisibility()

Accessor to the object’s visibility state.

Returns:

visible : bool

Visibility flag.

hasName()

Test if the object is named.

Returns:

hasName : bool

True if the name is not empty.

hasVisibleName()

Test if the object has a distinguishable name.

Returns:

hasVisibleName : bool

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

isComposite()

Accessor to know if the RandomVector is a composite one.

Returns:

isComposite : bool

Indicates if the RandomVector is of type Composite or not.

setDescription(description)

Accessor to the description of the RandomVector.

Parameters:

description : str or sequence of str

Describes the components of the RandomVector.

setName(name)

Accessor to the object’s name.

Parameters:

name : str

The name of the object.

setShadowedId(id)

Accessor to the object’s shadowed id.

Parameters:

id : int

Internal unique identifier.

setVisibility(visible)

Accessor to the object’s visibility state.

Parameters:

visible : bool

Visibility flag.