.. 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_mixture_distribution.py: Create a mixture of PDFs ======================== In this example we are going to build a distribution whose PDF is defined by a linear combination of probability density functions: .. math:: f(x) = \sum_{i=1}^N \alpha_i p_i(x), \quad \alpha_i \geq 0, \quad \sum_i \alpha_i = 1 The weigths are automatically normalized. It is also possible to create a mixture of copulas. .. code-block:: default from __future__ import print_function import openturns as ot import openturns.viewer as viewer from matplotlib import pylab as plt ot.Log.Show(ot.Log.NONE) create a collection of distribution and the associated weights .. code-block:: default distributions = [ot.Triangular(1.0, 2.0, 4.0), ot.Normal(-1.0, 1.0), ot.Uniform(5.0, 6.0)] weights = [0.4, 1.0, 0.2] create the mixture .. code-block:: default distribution = ot.Mixture(distributions, weights) print(distribution) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none Mixture((w = 0.25, d = Triangular(a = 1, m = 2, b = 4)), (w = 0.625, d = Normal(mu = -1, sigma = 1)), (w = 0.125, d = Uniform(a = 5, b = 6))) draw PDF .. code-block:: default graph = distribution.drawPDF() view = viewer.View(graph) .. image:: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_mixture_distribution_001.png :alt: plot mixture distribution :class: sphx-glr-single-img define a list of copulas and the associated weights .. code-block:: default copulas = [ot.GumbelCopula(4.5), ot.ClaytonCopula(2.3)] weights = [0.2, 0.8] create a mixture of copulas .. code-block:: default distribution = ot.Mixture(copulas, weights) print(distribution) .. rst-class:: sphx-glr-script-out Out: .. code-block:: none Mixture((w = 0.2, d = GumbelCopula(theta = 4.5)), (w = 0.8, d = ClaytonCopula(theta = 2.3))) draw PDF .. code-block:: default graph = distribution.drawPDF() view = viewer.View(graph) plt.show() .. image:: /auto_probabilistic_modeling/distributions/images/sphx_glr_plot_mixture_distribution_002.png :alt: [X0,X1] iso-PDF :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 0 minutes 0.201 seconds) .. _sphx_glr_download_auto_probabilistic_modeling_distributions_plot_mixture_distribution.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_mixture_distribution.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_mixture_distribution.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_