public final class ParetoDistribution extends Object
The probability density function of \( X \) is:
\[ f(x; k, \alpha) = \frac{\alpha k^\alpha}{x^{\alpha + 1}} \]
for \( k > 0 \), \( \alpha > 0 \), and \( x \in [k, \infty) \).
\( k \) is a scale parameter: this is the minimum possible value of \( X \).
 
\( \alpha \) is a shape parameter: this is the Pareto index.
ContinuousDistribution.Sampler| Modifier and Type | Method and Description | 
|---|---|
ContinuousDistribution.Sampler | 
createSampler(UniformRandomProvider rng)
Creates a sampler. 
 | 
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 | 
getMean()
Gets the mean of this distribution. 
 | 
double | 
getScale()
Gets the scale parameter of this distribution. 
 | 
double | 
getShape()
Gets the shape parameter of this distribution. 
 | 
double | 
getSupportLowerBound()
Gets the lower bound of the support. 
 | 
double | 
getSupportUpperBound()
Gets the upper bound of the support. 
 | 
double | 
getVariance()
Gets the variance of this distribution. 
 | 
double | 
inverseCumulativeProbability(double p)
Computes the quantile function of this distribution. 
 | 
double | 
inverseSurvivalProbability(double p)
Computes the inverse survival probability function of this distribution. 
 | 
double | 
logDensity(double x)
Returns the natural logarithm of the probability density function
 (PDF) of this distribution evaluated at the specified point  
x. | 
static ParetoDistribution | 
of(double scale,
  double shape)
Creates a Pareto distribution. 
 | 
double | 
probability(double x0,
           double x1)
For a random variable  
X whose values are distributed according
 to this distribution, this method returns P(x0 < X <= x1). | 
double | 
survivalProbability(double x)
For a random variable  
X whose values are distributed according
 to this distribution, this method returns P(X > x). | 
public static ParetoDistribution of(double scale, double shape)
scale - Scale parameter (minimum possible value of X).shape - Shape parameter (Pareto index).IllegalArgumentException - if scale <= 0, scale is
 infinite, 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 parameter \( k \) and shape parameter \( \alpha \), the PDF is:
\[ f(x; k, \alpha) = \begin{cases} 0 & \text{for } x \lt k \\ \frac{\alpha k^\alpha}{x^{\alpha + 1}} & \text{for } x \ge k \end{cases} \]
x - Point at which the PDF is evaluated.x.public double logDensity(double x)
x.
 See documentation of density(double) for computation details.
x - Point at which the PDF is evaluated.x.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 parameter \( k \) and shape parameter \( \alpha \), the CDF is:
\[ F(x; k, \alpha) = \begin{cases} 0 & \text{for } x \le k \\ 1 - \left( \frac{k}{x} \right)^\alpha & \text{for } x \gt k \end{cases} \]
x - Point at which the CDF is evaluated.x.public double survivalProbability(double x)
X whose values are distributed according
 to this distribution, this method returns P(X > x).
 In other words, this method represents the complementary cumulative
 distribution function.
 By default, this is defined as 1 - cumulativeProbability(x), but
 the specific implementation may be more accurate.
 
For scale parameter \( k \) and shape parameter \( \alpha \), the survival function is:
\[ S(x; k, \alpha) = \begin{cases} 1 & \text{for } x \le k \\ \left( \frac{k}{x} \right)^\alpha & \text{for } x \gt k \end{cases} \]
x - Point at which the survival function is evaluated.x.public double inverseCumulativeProbability(double p)
X distributed according to this distribution, the
 returned value is:
 \[ x = \begin{cases} \inf \{ x \in \mathbb R : P(X \le x) \ge p\} & \text{for } 0 \lt p \le 1 \\ \inf \{ x \in \mathbb R : P(X \le x) \gt 0 \} & \text{for } p = 0 \end{cases} \]
The default implementation returns:
ContinuousDistribution.getSupportLowerBound() for p = 0,ContinuousDistribution.getSupportUpperBound() for p = 1, orcumulativeProbability(x) - p.
     The bounds may be bracketed for efficiency.inverseCumulativeProbability in interface ContinuousDistributionp - Cumulative probability.p-quantile of this distribution
 (largest 0-quantile for p = 0).public double inverseSurvivalProbability(double p)
X distributed according to this distribution, the
 returned value is:
 \[ x = \begin{cases} \inf \{ x \in \mathbb R : P(X \ge x) \le p\} & \text{for } 0 \le p \lt 1 \\ \inf \{ x \in \mathbb R : P(X \ge x) \lt 1 \} & \text{for } p = 1 \end{cases} \]
By default, this is defined as inverseCumulativeProbability(1 - p), but
 the specific implementation may be more accurate.
 
The default implementation returns:
ContinuousDistribution.getSupportLowerBound() for p = 1,ContinuousDistribution.getSupportUpperBound() for p = 0, orsurvivalProbability(x) - p.
     The bounds may be bracketed for efficiency.inverseSurvivalProbability in interface ContinuousDistributionp - Survival probability.(1-p)-quantile of this distribution
 (largest 0-quantile for p = 1).public double getMean()
For scale parameter \( k \) and shape parameter \( \alpha \), the mean is:
\[ \mathbb{E}[X] = \begin{cases} \infty & \text{for } \alpha \le 1 \\ \frac{k \alpha}{(\alpha-1)} & \text{for } \alpha \gt 1 \end{cases} \]
public double getVariance()
For scale parameter \( k \) and shape parameter \( \alpha \), the variance is:
\[ \operatorname{var}[X] = \begin{cases} \infty & \text{for } \alpha \le 2 \\ \frac{k^2 \alpha}{(\alpha-1)^2 (\alpha-2)} & \text{for } \alpha \gt 2 \end{cases} \]
public double getSupportLowerBound()
inverseCumulativeProbability(0), i.e.
 \( \inf \{ x \in \mathbb R : P(X \le x) \gt 0 \} \).
 
 The lower bound of the support is equal to the scale parameter k.
public double getSupportUpperBound()
inverseCumulativeProbability(1), i.e.
 \( \inf \{ x \in \mathbb R : P(X \le x) = 1 \} \).
 The upper bound of the support is always positive infinity.
positive infinity.public ContinuousDistribution.Sampler createSampler(UniformRandomProvider rng)
createSampler in interface ContinuousDistributionrng - Generator of uniformly distributed numbers.public double probability(double x0, double x1)
X whose values are distributed according
 to this distribution, this method returns P(x0 < X <= x1).
 The default implementation uses the identity
 P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)probability in interface ContinuousDistributionx0 - Lower bound (exclusive).x1 - Upper bound (inclusive).x0 and x1,  excluding the lower
 and including the upper endpoint.Copyright © 2018–2022 The Apache Software Foundation. All rights reserved.