import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View myDist = [ot.Beta(1.5, 3.2, 0.0, 1.0), ot.Beta(2.0, 4.3, 0.5, 1.2)] myOrderStatCop = ot.MaximumEntropyOrderStatisticsCopula(myDist) myOrderStatCop.setDescription(['$u_1$', '$u_2$']) graphPDF = myOrderStatCop.drawPDF() graphCDF = myOrderStatCop.drawCDF() fig = plt.figure(figsize=(8, 4)) plt.suptitle("Max Entropy Order Statistics Copula: pdf and cdf") pdf_axis = fig.add_subplot(121) cdf_axis = fig.add_subplot(122) pdf_axis.set_xlim(auto=True) cdf_axis.set_xlim(auto=True) View(graphPDF, figure=fig, axes=[pdf_axis], add_legend=True) View(graphCDF, figure=fig, axes=[cdf_axis], add_legend=True)
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View if ot.MaximumEntropyOrderStatisticsCopula( ).__class__.__name__ == 'EmpiricalBernsteinCopula': sample = ot.Dirichlet([1.0, 2.0, 3.0]).getSample(100) copula = ot.EmpiricalBernsteinCopula(sample, 4) elif ot.MaximumEntropyOrderStatisticsCopula( ).__class__.__name__ == 'ExtremeValueCopula': copula = ot.ExtremeValueCopula(ot.SymbolicFunction("t", "t^3/2-t/2+1")) elif ot.MaximumEntropyOrderStatisticsCopula( ).__class__.__name__ == 'MaximumEntropyOrderStatisticsCopula': marginals = [ot.Beta(1.5, 3.2, 0.0, 1.0), ot.Beta(2.0, 4.3, 0.5, 1.2)] copula = ot.MaximumEntropyOrderStatisticsCopula(marginals) elif ot.MaximumEntropyOrderStatisticsCopula( ).__class__.__name__ == 'NormalCopula': R = ot.CorrelationMatrix(2) R[1, 0] = 0.8 copula = ot.NormalCopula(R) elif ot.MaximumEntropyOrderStatisticsCopula( ).__class__.__name__ == 'SklarCopula': student = ot.Student(3.0, [1.0] * 2, [3.0] * 2, ot.CorrelationMatrix(2)) copula = ot.SklarCopula(student) else: copula = ot.MaximumEntropyOrderStatisticsCopula() if copula.getDimension() == 1: copula = ot.MaximumEntropyOrderStatisticsCopula(2) copula.setDescription(['$u_1$', '$u_2$']) pdf_graph = copula.drawPDF() cdf_graph = copula.drawCDF() fig = plt.figure(figsize=(10, 4))
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View if ot.FrankCopula().__class__.__name__ == 'EmpiricalBernsteinCopula': sample = ot.Dirichlet([1.0, 2.0, 3.0]).getSample(100) copula = ot.EmpiricalBernsteinCopula(sample, 4) elif ot.FrankCopula().__class__.__name__ == 'ExtremeValueCopula': copula = ot.ExtremeValueCopula(ot.SymbolicFunction("t", "t^3/2-t/2+1")) elif ot.FrankCopula( ).__class__.__name__ == 'MaximumEntropyOrderStatisticsCopula': marginals = [ot.Beta(1.5, 3.2, 0.0, 1.0), ot.Beta(2.0, 4.3, 0.5, 1.2)] copula = ot.MaximumEntropyOrderStatisticsCopula(marginals) elif ot.FrankCopula().__class__.__name__ == 'NormalCopula': R = ot.CorrelationMatrix(2) R[1, 0] = 0.8 copula = ot.NormalCopula(R) elif ot.FrankCopula().__class__.__name__ == 'SklarCopula': student = ot.Student(3.0, [1.0] * 2, [3.0] * 2, ot.CorrelationMatrix(2)) copula = ot.SklarCopula(student) else: copula = ot.FrankCopula() if copula.getDimension() == 1: copula = ot.FrankCopula(2) copula.setDescription(['$u_1$', '$u_2$']) pdf_graph = copula.drawPDF() cdf_graph = copula.drawCDF() fig = plt.figure(figsize=(10, 4)) pdf_axis = fig.add_subplot(121) cdf_axis = fig.add_subplot(122) View(pdf_graph, figure=fig,
#! /usr/bin/env python from __future__ import print_function import openturns as ot ot.TESTPREAMBLE() ot.RandomGenerator.SetSeed(0) # Instanciate one copula object copula = ot.MaximumEntropyOrderStatisticsCopula([ ot.Trapezoidal(-2.0, -1.1, -1.0, 1.0), ot.LogUniform(1.0, 1.2), ot.Triangular(3.0, 4.5, 5.0), ot.Beta(2.5, 3.5, 4.7, 5.2) ]) dim = copula.getDimension() print("Copula ", copula) # Is this copula an elliptical copula? print("Elliptical copula= ", copula.isElliptical()) # Is this copula elliptical ? print("Elliptical copula= ", copula.hasEllipticalCopula()) # Is this copula independent ? print("Independent copula= ", copula.hasIndependentCopula()) # Test for realization of copula oneRealization = copula.getRealization() print("oneRealization=", repr(oneRealization))