Note
Click here to download the full example code
Create a conditional distributionΒΆ
In this example we are going to build the distribution of the random vector X conditioned by the random variable Theta
with Theta obtained with the random variable Y through a function f
from __future__ import print_function
import openturns as ot
import openturns.viewer as viewer
from matplotlib import pylab as plt
create the Y distribution
YDist = ot.Uniform(-1.0, 1.0)
create Theta=f(y)
f = ot.SymbolicFunction(['y'], ['y', '1+y^2'])
create the X|Theta distribution
XgivenThetaDist = ot.Uniform()
create the distribution
XDist = ot.ConditionalDistribution(XgivenThetaDist, YDist, f)
XDist.setDescription(['X|Theta=f(y)'])
XDist
ConditionalDistribution(X with X|Theta~Uniform(Theta), Theta=f(Y), f=[y]->[y,1+y^2], Y~Uniform(a = -1, b = 1))
Get a sample
XDist.getSample(5)
X|Theta=f(y) | |
---|---|
0 | 0.635176 |
1 | 0.4034392 |
2 | 0.3888339 |
3 | 0.9779865 |
4 | 0.4113054 |
draw PDF
graph = XDist.drawPDF()
view = viewer.View(graph)
plt.show()
Total running time of the script: ( 0 minutes 0.102 seconds)