Serializable
, RealDistribution
public class ParetoDistribution extends AbstractRealDistribution
Parameters:
The probability distribution function of X
is given by (for x >= k
):
α * k^α / x^(α + 1)
k
is the scale parameter: this is the minimum possible value of X
,\u03b1
is the shape parameter: this is the Pareto indexDEFAULT_SOLVER_ABSOLUTE_ACCURACY
Constructor | Description |
---|---|
ParetoDistribution() |
Create a Pareto distribution with a scale of
1 and a shape of 1 . |
ParetoDistribution(double scale,
double shape) |
Create a Pareto distribution using the specified scale and shape.
|
ParetoDistribution(double scale,
double shape,
double inverseCumAccuracy) |
Creates a Pareto distribution.
|
Modifier and Type | Method | Description |
---|---|---|
double |
cumulativeProbability(double x) |
For a random variable
X whose values are distributed according
to this distribution, this method returns P(X <= x) . |
double |
density(double x) |
Returns the probability density function (PDF) of this distribution
evaluated at the specified point
x . |
double |
getNumericalMean() |
Use this method to get the numerical value of the mean of this
distribution.
|
double |
getNumericalVariance() |
Use this method to get the numerical value of the variance of this
distribution.
|
double |
getScale() |
Returns the scale parameter of this distribution.
|
double |
getShape() |
Returns the shape parameter of this distribution.
|
double |
getSupportLowerBound() |
Access the lower bound of the support.
|
double |
getSupportUpperBound() |
Access the upper bound of the support.
|
boolean |
isSupportConnected() |
Use this method to get information about whether the support is connected,
i.e.
|
double |
logDensity(double x) |
Returns the natural logarithm of the probability density function
(PDF) of this distribution evaluated at the specified point
x . |
getSolverAbsoluteAccuracy, inverseCumulativeProbability, probability
public ParetoDistribution()
1
and a shape of 1
.public ParetoDistribution(double scale, double shape) throws MathIllegalArgumentException
scale
- the scale parameter of this distributionshape
- the shape parameter of this distributionMathIllegalArgumentException
- if scale <= 0
or shape <= 0
.public ParetoDistribution(double scale, double shape, double inverseCumAccuracy) throws MathIllegalArgumentException
scale
- Scale parameter of this distribution.shape
- Shape parameter of this distribution.inverseCumAccuracy
- Inverse cumulative probability accuracy.MathIllegalArgumentException
- if scale <= 0
or shape <= 0
.public double getScale()
public double getShape()
public double density(double x)
x
. In general, the PDF is
the derivative of the CDF
.
If the derivative does not exist at x
, then an appropriate
replacement should be returned, e.g. Double.POSITIVE_INFINITY
,
Double.NaN
, or the limit inferior or limit superior of the
difference quotient.
For scale k
, and shape \u03b1
of this distribution, the PDF
is given by
0
if x < k
,\u03b1 * k^\u03b1 / x^(\u03b1 + 1)
otherwise.x
- the point at which the PDF is evaluatedx
public double logDensity(double x)
x
.
In general, the PDF is the derivative of the CDF
.
If the derivative does not exist at x
, then an appropriate replacement
should be returned, e.g. Double.POSITIVE_INFINITY
, Double.NaN
,
or the limit inferior or limit superior of the difference quotient. Note that
due to the floating point precision and under/overflow issues, this method will
for some distributions be more precise and faster than computing the logarithm of
RealDistribution.density(double)
.
The default implementation simply computes the logarithm of density(x)
.
See documentation of density(double)
for computation details.
logDensity
in interface RealDistribution
logDensity
in class AbstractRealDistribution
x
- the point at which the PDF is evaluatedx
public double cumulativeProbability(double x)
X
whose values are distributed according
to this distribution, this method returns P(X <= x)
. In other
words, this method represents the (cumulative) distribution function
(CDF) for this distribution.
For scale k
, and shape \u03b1
of this distribution, the CDF is given by
0
if x < k
,1 - (k / x)^\u03b1
otherwise.x
- the point at which the CDF is evaluatedx
public double getNumericalMean()
For scale k
and shape \u03b1
, the mean is given by
\u221e
if \u03b1 <= 1
,\u03b1 * k / (\u03b1 - 1)
otherwise.Double.NaN
if it is not definedpublic double getNumericalVariance()
For scale k
and shape \u03b1
, the variance is given by
\u221e
if 1 < \u03b1 <= 2
,k^2 * \u03b1 / ((\u03b1 - 1)^2 * (\u03b1 - 2))
otherwise.Double.POSITIVE_INFINITY
as
for certain cases in TDistribution
)
or Double.NaN
if it is not definedpublic double getSupportLowerBound()
inverseCumulativeProbability(0)
. In other words, this
method must return
inf {x in R | P(X <= x) > 0}
.
The lower bound of the support is equal to the scale parameter k
.
public double getSupportUpperBound()
inverseCumulativeProbability(1)
. In other words, this
method must return
inf {x in R | P(X <= x) = 1}
.
The upper bound of the support is always positive infinity no matter the parameters.
Double.POSITIVE_INFINITY
)public boolean isSupportConnected()
The support of this distribution is connected.
true
Copyright © 2016–2018 Hipparchus.org. All rights reserved.