public class ZipfDistribution extends AbstractIntegerDistribution
 Parameters:
 For a random variable X whose values are distributed according to this
 distribution, the probability mass function is given by
 
   P(X = k) = H(N,s) * 1 / k^s    for  k = 1,2,...,N.
 
 H(N,s) is the normalizing constant
 which corresponds to the generalized harmonic number of order N of s.
 
N is the number of elementss is the exponent| Constructor and Description | 
|---|
| ZipfDistribution(int numberOfElements,
                double exponent)Create a new Zipf distribution with the given number of elements and
 exponent. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected double | calculateNumericalMean()Used by  getNumericalMean(). | 
| protected double | calculateNumericalVariance()Used by  getNumericalVariance(). | 
| double | cumulativeProbability(int x)For a random variable  Xwhose values are distributed according
 to this distribution, this method returnsP(X <= x). | 
| double | getExponent()Get the exponent characterizing the distribution. | 
| int | getNumberOfElements()Get the number of elements (e.g. | 
| 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. | 
| int | getSupportLowerBound()Access the lower bound of the support. | 
| int | 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 | logProbability(int x)For a random variable  Xwhose values are distributed according to
 this distribution, this method returnslog(P(X = x)), wherelogis the natural logarithm. | 
| double | probability(int x)For a random variable  Xwhose values are distributed according
 to this distribution, this method returnsP(X = x). | 
inverseCumulativeProbability, probability, solveInverseCumulativeProbabilitypublic ZipfDistribution(int numberOfElements,
                        double exponent)
                 throws MathIllegalArgumentException
numberOfElements - Number of elements.exponent - Exponent.MathIllegalArgumentException - if numberOfElements <= 0
 or exponent <= 0.public int getNumberOfElements()
public double getExponent()
public double probability(int x)
X whose values are distributed according
 to this distribution, this method returns P(X = x). In other
 words, this method represents the probability mass function (PMF)
 for the distribution.x - the point at which the PMF is evaluatedxpublic double logProbability(int x)
X whose values are distributed according to
 this distribution, this method returns log(P(X = x)), where
 log is the natural logarithm. In other words, this method
 represents the logarithm of the probability mass function (PMF) for the
 distribution. 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
 IntegerDistribution.probability(int).
 
 The default implementation simply computes the logarithm of probability(x).
logProbability in interface IntegerDistributionlogProbability in class AbstractIntegerDistributionx - the point at which the PMF is evaluatedxpublic double cumulativeProbability(int 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.x - the point at which the CDF is evaluatedxpublic double getNumericalMean()
N and exponent s, the mean is
 Hs1 / Hs, where
 Hs1 = generalizedHarmonic(N, s - 1),Hs = generalizedHarmonic(N, s).Double.NaN if it is not definedprotected double calculateNumericalMean()
getNumericalMean().public double getNumericalVariance()
N and exponent s, the mean is
 (Hs2 / Hs) - (Hs1^2 / Hs^2), where
 Hs2 = generalizedHarmonic(N, s - 2),Hs1 = generalizedHarmonic(N, s - 1),Hs = generalizedHarmonic(N, s).Double.POSITIVE_INFINITY or
 Double.NaN if it is not defined)protected double calculateNumericalVariance()
getNumericalVariance().public int getSupportLowerBound()
inverseCumulativeProbability(0). In other words, this
 method must return
 inf {x in Z | P(X <= x) > 0}.
public int getSupportUpperBound()
inverseCumulativeProbability(1). In other words, this
 method must return
 inf {x in R | P(X <= x) = 1}.
public boolean isSupportConnected()
trueCopyright © 2016–2020 Hipparchus.org. All rights reserved.