.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_probabilistic_modeling/distributions/plot_distribution_manipulation.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_probabilistic_modeling_distributions_plot_distribution_manipulation.py: Distribution manipulation ========================= .. GENERATED FROM PYTHON SOURCE LINES 6-21 In this example we are going to exhibit some of the services exposed by the distribution objects: - ask for the dimension, with the method getDimension - extract the marginal distributions, with the method getMarginal - to ask for some properties, with isContinuous, isDiscrete, isElliptical - to get the copula, with the method getCopula* - to ask for some properties on the copula, with the methods hasIndependentCopula, hasEllipticalCopula - to evaluate some moments, with getMean, getStandardDeviation, getCovariance, getSkewness, getKurtosis - to evaluate the roughness, with the method getRoughness - to get one realization or simultaneously :math:`n` realizations, with the method getRealization, getSample - to evaluate the probability content of a given interval, with the method computeProbability - to evaluate a quantile or a complementary quantile, with the method computeQuantile - to evaluate the characteristic function of the distribution - to evaluate the derivative of the CDF or PDF - to draw some curves .. GENERATED FROM PYTHON SOURCE LINES 23-28 .. code-block:: default import openturns as ot import openturns.viewer as viewer from matplotlib import pylab as plt ot.Log.Show(ot.Log.NONE) .. GENERATED FROM PYTHON SOURCE LINES 29-30 Create an 1-d distribution .. GENERATED FROM PYTHON SOURCE LINES 30-41 .. code-block:: default dist_1 = ot.Normal() # Create a 2-d distribution dist_2 = ot.ComposedDistribution( [ot.Normal(), ot.Triangular(0.0, 2.0, 3.0)], ot.ClaytonCopula(2.3)) # Create a 3-d distribution copula_dim3 = ot.Student(5.0, 3).getCopula() dist_3 = ot.ComposedDistribution([ot.Normal(), ot.Triangular( 0.0, 2.0, 3.0), ot.Exponential(0.2)], copula_dim3) .. GENERATED FROM PYTHON SOURCE LINES 42-43 Get the dimension fo the distribution .. GENERATED FROM PYTHON SOURCE LINES 43-45 .. code-block:: default dist_2.getDimension() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 2 .. GENERATED FROM PYTHON SOURCE LINES 46-47 Get the 2nd marginal .. GENERATED FROM PYTHON SOURCE LINES 47-49 .. code-block:: default dist_2.getMarginal(1) .. raw:: html

Triangular(a = 0, m = 2, b = 3)



.. GENERATED FROM PYTHON SOURCE LINES 50-51 Get a 2-d marginal .. GENERATED FROM PYTHON SOURCE LINES 51-53 .. code-block:: default dist_3.getMarginal([0, 1]).getDimension() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 2 .. GENERATED FROM PYTHON SOURCE LINES 54-55 Ask some properties of the distribution .. GENERATED FROM PYTHON SOURCE LINES 55-57 .. code-block:: default dist_1.isContinuous(), dist_1.isDiscrete(), dist_1.isElliptical() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none (True, False, True) .. GENERATED FROM PYTHON SOURCE LINES 58-59 Get the copula .. GENERATED FROM PYTHON SOURCE LINES 59-61 .. code-block:: default copula = dist_2.getCopula() .. GENERATED FROM PYTHON SOURCE LINES 62-63 Ask some properties on the copula .. GENERATED FROM PYTHON SOURCE LINES 63-65 .. code-block:: default dist_2.hasIndependentCopula(), dist_2.hasEllipticalCopula() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none (False, False) .. GENERATED FROM PYTHON SOURCE LINES 66-67 mean vector of the distribution .. GENERATED FROM PYTHON SOURCE LINES 67-69 .. code-block:: default dist_2.getMean() .. raw:: html

[0,1.66667]



.. GENERATED FROM PYTHON SOURCE LINES 70-71 standard deviation vector of the distribution .. GENERATED FROM PYTHON SOURCE LINES 71-73 .. code-block:: default dist_2.getStandardDeviation() .. raw:: html

[1,0.62361]



.. GENERATED FROM PYTHON SOURCE LINES 74-75 covariance matrix of the distribution .. GENERATED FROM PYTHON SOURCE LINES 75-77 .. code-block:: default dist_2.getCovariance() .. raw:: html

[[ 1 0.491927 ]
[ 0.491927 0.388889 ]]



.. GENERATED FROM PYTHON SOURCE LINES 78-79 skewness vector of the distribution .. GENERATED FROM PYTHON SOURCE LINES 79-81 .. code-block:: default dist_2.getSkewness() .. raw:: html

[0,-0.305441]



.. GENERATED FROM PYTHON SOURCE LINES 82-83 kurtosis vector of the distribution .. GENERATED FROM PYTHON SOURCE LINES 83-85 .. code-block:: default dist_2.getKurtosis() .. raw:: html

[3,2.4]



.. GENERATED FROM PYTHON SOURCE LINES 86-87 roughness of the distribution .. GENERATED FROM PYTHON SOURCE LINES 87-89 .. code-block:: default dist_1.getRoughness() .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.28209479177387814 .. GENERATED FROM PYTHON SOURCE LINES 90-91 Get one realization .. GENERATED FROM PYTHON SOURCE LINES 91-93 .. code-block:: default dist_2.getRealization() .. raw:: html

[-0.412105,2.39688]



.. GENERATED FROM PYTHON SOURCE LINES 94-95 Get several realizations .. GENERATED FROM PYTHON SOURCE LINES 95-97 .. code-block:: default dist_2.getSample(5) .. raw:: html
X0X1
00.46219862.19275
11.1258442.540956
21.0006181.947844
3-0.62221752.127748
4-0.50339171.342875


.. GENERATED FROM PYTHON SOURCE LINES 98-99 Evaluate the PDF at the mean point .. GENERATED FROM PYTHON SOURCE LINES 99-101 .. code-block:: default dist_2.computePDF(dist_2.getMean()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.3528005531670077 .. GENERATED FROM PYTHON SOURCE LINES 102-103 Evaluate the CDF at the mean point .. GENERATED FROM PYTHON SOURCE LINES 103-105 .. code-block:: default dist_2.computeCDF(dist_2.getMean()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.3706626446357781 .. GENERATED FROM PYTHON SOURCE LINES 106-107 Evaluate the complementary CDF .. GENERATED FROM PYTHON SOURCE LINES 107-109 .. code-block:: default dist_2.computeComplementaryCDF(dist_2.getMean()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.6293373553642219 .. GENERATED FROM PYTHON SOURCE LINES 110-111 Evaluate the survival function at the mean point .. GENERATED FROM PYTHON SOURCE LINES 111-113 .. code-block:: default dist_2.computeSurvivalFunction(dist_2.getMean()) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.4076996816728151 .. GENERATED FROM PYTHON SOURCE LINES 114-115 Evaluate the PDF on a sample .. GENERATED FROM PYTHON SOURCE LINES 115-117 .. code-block:: default dist_2.computePDF(dist_2.getSample(5)) .. raw:: html
v0
00.2327159
10.01743668
20.338746
30.1958119
40.2366925


.. GENERATED FROM PYTHON SOURCE LINES 118-119 Evaluate the CDF on a sample .. GENERATED FROM PYTHON SOURCE LINES 119-121 .. code-block:: default dist_2.computeCDF(dist_2.getSample(5)) .. raw:: html
v0
00.8513415
10.3304962
20.09437466
30.9214474
40.6046443


.. GENERATED FROM PYTHON SOURCE LINES 122-123 Evaluate the probability content of an 1-d interval .. GENERATED FROM PYTHON SOURCE LINES 123-126 .. code-block:: default interval = ot.Interval(-2.0, 3.0) dist_1.computeProbability(interval) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.9758999700201907 .. GENERATED FROM PYTHON SOURCE LINES 127-128 Evaluate the probability content of a 2-d interval .. GENERATED FROM PYTHON SOURCE LINES 128-131 .. code-block:: default interval = ot.Interval([0.4, -1], [3.4, 2]) dist_2.computeProbability(interval) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none 0.129833882783416 .. GENERATED FROM PYTHON SOURCE LINES 132-133 Evaluate the quantile of order p=90% .. GENERATED FROM PYTHON SOURCE LINES 133-135 .. code-block:: default dist_2.computeQuantile(0.90) .. raw:: html

[1.60422,2.59627]



.. GENERATED FROM PYTHON SOURCE LINES 136-137 and the quantile of order 1-p .. GENERATED FROM PYTHON SOURCE LINES 137-139 .. code-block:: default dist_2.computeQuantile(0.90, True) .. raw:: html

[-1.10363,0.899591]



.. GENERATED FROM PYTHON SOURCE LINES 140-142 Evaluate the quantiles of order p et q For example, the quantile 90% and 95% .. GENERATED FROM PYTHON SOURCE LINES 142-144 .. code-block:: default dist_1.computeQuantile([0.90, 0.95]) .. raw:: html
v0
01.281552
11.644854


.. GENERATED FROM PYTHON SOURCE LINES 145-146 and the quantile of order 1-p and 1-q .. GENERATED FROM PYTHON SOURCE LINES 146-148 .. code-block:: default dist_1.computeQuantile([0.90, 0.95], True) .. raw:: html
v0
0-1.281552
1-1.644854


.. GENERATED FROM PYTHON SOURCE LINES 149-150 Evaluate the characteristic function of the distribution (only 1-d) .. GENERATED FROM PYTHON SOURCE LINES 150-152 .. code-block:: default dist_1.computeCharacteristicFunction(dist_1.getMean()[0]) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none (1+0j) .. GENERATED FROM PYTHON SOURCE LINES 153-154 Evaluate the derivatives of the PDF with respect to the parameters at mean .. GENERATED FROM PYTHON SOURCE LINES 154-156 .. code-block:: default dist_2.computePDFGradient(dist_2.getMean()) .. raw:: html

[0,-0.398942,0.12963,-0.277778,-0.185185,0]



.. GENERATED FROM PYTHON SOURCE LINES 157-158 Evaluate the derivatives of the CDF with respect to the parameters at mean .. GENERATED FROM PYTHON SOURCE LINES 158-160 .. code-block:: default dist_2.computeCDFGradient(dist_2.getMean()) .. raw:: html

[-0.398942,-0,-0.169753,-0.231481,-0.555556,0]



.. GENERATED FROM PYTHON SOURCE LINES 161-162 draw PDF .. GENERATED FROM PYTHON SOURCE LINES 162-165 .. code-block:: default graph = dist_1.drawPDF() view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_001.png :alt: plot distribution manipulation :srcset: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 166-167 draw CDF .. GENERATED FROM PYTHON SOURCE LINES 167-170 .. code-block:: default graph = dist_1.drawCDF() view = viewer.View(graph) .. image-sg:: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_002.png :alt: plot distribution manipulation :srcset: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 171-172 Draw an 1-d quantile curve .. GENERATED FROM PYTHON SOURCE LINES 172-180 .. code-block:: default # Define the range and the number of points qMin = 0.2 qMax = 0.6 nbrPoints = 101 quantileGraph = dist_1.drawQuantile(qMin, qMax, nbrPoints) view = viewer.View(quantileGraph) .. image-sg:: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_003.png :alt: plot distribution manipulation :srcset: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 181-182 Draw a 2-d quantile curve .. GENERATED FROM PYTHON SOURCE LINES 182-190 .. code-block:: default # Define the range and the number of points qMin = 0.3 qMax = 0.9 nbrPoints = 101 quantileGraph = dist_2.drawQuantile(qMin, qMax, nbrPoints) view = viewer.View(quantileGraph) plt.show() .. image-sg:: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_004.png :alt: [X0,X1] Quantile :srcset: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_distribution_manipulation_004.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.330 seconds) .. _sphx_glr_download_auto_probabilistic_modeling_distributions_plot_distribution_manipulation.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_distribution_manipulation.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_distribution_manipulation.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_