#! /usr/bin/env python

from __future__ import print_function
import openturns as ot

ot.PlatformInfo.SetNumericalPrecision(3)
distribution = ot.Pareto(3.3, 7.5, 0.0)
print('distribution=', distribution)
sample = distribution.getSample(1000)
factory = ot.LeastSquaresDistributionFactory(ot.Pareto())
factory.setKnownParameter([0.0], [2])
inf_distribution = factory.build(sample)
print('estimated distribution=', inf_distribution)
示例#2
0
#! /usr/bin/env python

from __future__ import print_function
import openturns as ot

ot.TESTPREAMBLE()


distribution = ot.Pareto(2.0, 3.5, -1.0)
size = 100000
sample = distribution.getSample(size)
factory = ot.ParetoFactory()
print("distribution=", repr(distribution))
print("Estimated distribution (Moments)=",
      factory.buildMethodOfMoments(sample))
print("Estimated distribution (MLE)=",
      factory.buildMethodOfLikelihoodMaximization(sample))
print("Estimated distribution (LSQ)=",
      factory.buildMethodOfLeastSquares(sample))
estimatedDistribution = factory.build()
print("Default distribution=", estimatedDistribution)
estimatedDistribution = factory.build(
    distribution.getParameter())
print("Distribution from parameters=", estimatedDistribution)
estimatedPareto = factory.buildAsPareto(sample)
print("Estimated pareto=", estimatedPareto)
estimatedPareto = factory.buildAsPareto()
print("Default pareto=", estimatedPareto)
estimatedPareto = factory.buildAsPareto(
    distribution.getParameter())
print("Pareto from parameters=", estimatedPareto)
示例#3
0
#! /usr/bin/env python

from __future__ import print_function
import openturns as ot

ot.TESTPREAMBLE()


# Instanciate one distribution object
distribution = ot.Pareto(7.5, 5.0, -7.0)

print("Distribution ", repr(distribution))
print("Distribution ", distribution)

# Is this distribution elliptical ?
print("Elliptical = ", distribution.isElliptical())

# Is this distribution continuous ?
print("Continuous = ", distribution.isContinuous())

# Test for realization of distribution
oneRealization = distribution.getRealization()
print("oneRealization=", repr(oneRealization))

# Test for sampling
size = 10000
oneSample = distribution.getSample(size)
print("oneSample first=", repr(
    oneSample[0]), " last=", repr(oneSample[size - 1]))
print("mean=", repr(oneSample.computeMean()))
print("covariance=", repr(oneSample.computeCovariance()))
print(distribution.getParameter())

# %%
# Draw fitted distribution
graph = distribution.drawPDF()
graph.setTitle("Fitted Student distribution")
view = viewer.View(graph)

# %%
# The Pareto distribution
# -----------------------
#
# By default the parameters of the Pareto distribution are estimated by least squares.
#

# %%
# We use a sample from a Pareto distribution with a scale parameter :math:`\beta=1.0`, a shape parameter :math:`\alpha > 1.0` and a location parameter :math:`\gamma = 0.0`.
sample = ot.Pareto(1.0, 1.0, 0.0).getSample(1000)

# %%
# Draw fitted distribution
distribution = ot.ParetoFactory().build(sample)

print(distribution.getParameter())

graph = distribution.drawPDF()
graph.setTitle("Fitted Pareto distribution")
view = viewer.View(graph)

plt.show()
# %%
# We observe on the two previous figures that the distribution is normal and centered around
# the estimated value of the parameter.

# %%
# The Pareto distribution
# -----------------------
#
# We consider a Pareto distribution with a scale parameter :math:`\beta=1.0`, a shape parameter :math:`\alpha=1.0` and a location parameter :math:`\gamma = 0.0`.
# We generate a sample from this distribution and use a `ParetoFactory` to fit the sample.
# In that case the asymptotic parameters distribution is estimated by bootstrap on the initial
# data and kernel fitting (see KernelSmoothing).
#

# %%
distribution = ot.Pareto(1.0, 1.0, 0.0)
sample = distribution.getSample(50)
estimated = ot.ParetoFactory().build(sample)

# %%
# We take a look at the estimated parameters :
print(estimated.getParameter())

# %%
# The `buildEstimator` method gives the asymptotic parameters distribution.
#
fittedRes = ot.ParetoFactory().buildEstimator(sample)
paramDist = fittedRes.getParameterDistribution()

# %%
# We draw scale parameter :math:`\beta` distribution