#! /usr/bin/env python from __future__ import print_function import openturns as ot ot.TESTPREAMBLE() ot.PlatformInfo.SetNumericalPrecision(5) size = 10000 for distribution in [ot.GeneralizedExtremeValue(2.0, 1.5, -0.15), ot.GeneralizedExtremeValue(2.0, 1.5, 0.0)]: # ot.GeneralizedExtremeValue(2.0, 1.5, 0.15)]: sample = distribution.getSample(size) factory = ot.GeneralizedExtremeValueFactory() estimatedDistribution = factory.build(sample) print("distribution=", repr(distribution)) print("Estimated distribution=", repr(estimatedDistribution)) estimatedDistribution = factory.build() print("Default distribution=", estimatedDistribution) estimatedDistribution = factory.build(distribution.getParameter()) print("Distribution from parameters=", estimatedDistribution) estimatedGeneralizedExtremeValue = factory.buildAsGeneralizedExtremeValue( sample) print("GeneralizedExtremeValue =", distribution) print("Estimated GeneralizedExtremeValue=", estimatedGeneralizedExtremeValue) estimatedGeneralizedExtremeValue = factory.buildAsGeneralizedExtremeValue()
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View pdf_graph = ot.Graph('PDF graph', 'x', 'PDF', True, 'topleft') cdf_graph = ot.Graph('CDF graph', 'x', 'CDF', True, 'topleft') palette = ot.Drawable.BuildDefaultPalette(10) for i, p in enumerate([-1.0, 0.0, 1.0]): distribution = ot.GeneralizedExtremeValue(0.0, 1.0, p) pdf_curve = distribution.drawPDF().getDrawable(0) cdf_curve = distribution.drawCDF().getDrawable(0) pdf_curve.setColor(palette[i]) cdf_curve.setColor(palette[i]) pdf_curve.setLegend('xi={}'.format(p)) cdf_curve.setLegend('xi={}'.format(p)) pdf_graph.add(pdf_curve) cdf_graph.add(cdf_curve) fig = plt.figure(figsize=(10, 4)) pdf_axis = fig.add_subplot(121) cdf_axis = fig.add_subplot(122) View(pdf_graph, figure=fig, axes=[pdf_axis], add_legend=True) View(cdf_graph, figure=fig, axes=[cdf_axis], add_legend=True) fig.suptitle('GeneralizedExtremeValue(0,1,xi)')
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View if ot.GeneralizedExtremeValue().__class__.__name__ == 'ComposedDistribution': correlation = ot.CorrelationMatrix(2) correlation[1, 0] = 0.25 aCopula = ot.NormalCopula(correlation) marginals = [ot.Normal(1.0, 2.0), ot.Normal(2.0, 3.0)] distribution = ot.ComposedDistribution(marginals, aCopula) elif ot.GeneralizedExtremeValue( ).__class__.__name__ == 'CumulativeDistributionNetwork': distribution = ot.CumulativeDistributionNetwork( [ot.Normal(2), ot.Dirichlet([0.5, 1.0, 1.5])], ot.BipartiteGraph([[0, 1], [0, 1]])) elif ot.GeneralizedExtremeValue().__class__.__name__ == 'Histogram': distribution = ot.Histogram([-1.0, 0.5, 1.0, 2.0], [0.45, 0.4, 0.15]) else: distribution = ot.GeneralizedExtremeValue() dimension = distribution.getDimension() if dimension == 1: distribution.setDescription(['$x$']) pdf_graph = distribution.drawPDF() cdf_graph = distribution.drawCDF() fig = plt.figure(figsize=(10, 4)) plt.suptitle(str(distribution)) pdf_axis = fig.add_subplot(121) cdf_axis = fig.add_subplot(122) View(pdf_graph, figure=fig, axes=[pdf_axis], add_legend=False) View(cdf_graph, figure=fig, axes=[cdf_axis], add_legend=False) elif dimension == 2: distribution.setDescription(['$x_1$', '$x_2$'])
import openturns as ot from matplotlib import pyplot as plt from openturns.viewer import View if (ot.GeneralizedExtremeValue().__class__.__name__ == 'ComposedDistribution'): correlation = ot.CorrelationMatrix(2) correlation[1, 0] = 0.25 aCopula = ot.NormalCopula(correlation) marginals = [ot.Normal(1.0, 2.0), ot.Normal(2.0, 3.0)] distribution = ot.ComposedDistribution(marginals, aCopula) elif (ot.GeneralizedExtremeValue().__class__.__name__ == 'CumulativeDistributionNetwork'): distribution = ot.CumulativeDistributionNetwork( [ot.Normal(2), ot.Dirichlet([0.5, 1.0, 1.5])], ot.BipartiteGraph([[0, 1], [0, 1]])) else: distribution = ot.GeneralizedExtremeValue() dimension = distribution.getDimension() if dimension <= 2: if distribution.getDimension() == 1: distribution.setDescription(['$x$']) pdf_graph = distribution.drawPDF() cdf_graph = distribution.drawCDF() fig = plt.figure(figsize=(10, 4)) plt.suptitle(str(distribution)) pdf_axis = fig.add_subplot(121) cdf_axis = fig.add_subplot(122) View(pdf_graph, figure=fig, axes=[pdf_axis], add_legend=False) View(cdf_graph, figure=fig, axes=[cdf_axis], add_legend=False) else: distribution.setDescription(['$x_1$', '$x_2$']) pdf_graph = distribution.drawPDF()
#! /usr/bin/env python from __future__ import print_function import openturns as ot ot.TESTPREAMBLE() ot.PlatformInfo.SetNumericalPrecision(5) size = 10000 for distribution in [ ot.GeneralizedExtremeValue(2.0, 1.5, -0.15), ot.GeneralizedExtremeValue(2.0, 1.5, 0.0) ]: # ot.GeneralizedExtremeValue(2.0, 1.5, 0.15)]: sample = distribution.getSample(size) factory = ot.GeneralizedExtremeValueFactory() estimatedDistribution = factory.build(sample) print("distribution=", repr(distribution)) print("Estimated distribution=", repr(estimatedDistribution)) estimatedDistribution = factory.build() print("Default distribution=", estimatedDistribution) estimatedDistribution = factory.build(distribution.getParameter()) print("Distribution from parameters=", estimatedDistribution) estimatedGeneralizedExtremeValue = factory.buildAsGeneralizedExtremeValue( sample) print("GeneralizedExtremeValue =", distribution) print("Estimated GeneralizedExtremeValue=", estimatedGeneralizedExtremeValue)