|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.commons.math3.distribution.AbstractIntegerDistribution
org.apache.commons.math3.distribution.ZipfDistribution
public class ZipfDistribution
Implementation of the Zipf distribution.
| Field Summary | |
|---|---|
private double |
exponent
Exponent parameter of the distribution. |
private int |
numberOfElements
Number of elements. |
private double |
numericalMean
Cached numerical mean |
private boolean |
numericalMeanIsCalculated
Whether or not the numerical mean has been calculated |
private double |
numericalVariance
Cached numerical variance |
private boolean |
numericalVarianceIsCalculated
Whether or not the numerical variance has been calculated |
private static long |
serialVersionUID
Serializable version identifier. |
| Fields inherited from class org.apache.commons.math3.distribution.AbstractIntegerDistribution |
|---|
random, randomData |
| Constructor Summary | |
|---|---|
ZipfDistribution(int numberOfElements,
double exponent)
Create a new Zipf distribution with the given number of elements and exponent. |
|
ZipfDistribution(RandomGenerator rng,
int numberOfElements,
double exponent)
Creates a Zipf distribution. |
|
| Method Summary | |
|---|---|
protected double |
calculateNumericalMean()
Used by getNumericalMean(). |
protected double |
calculateNumericalVariance()
Used by getNumericalVariance(). |
double |
cumulativeProbability(int x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X <= x). |
private double |
generalizedHarmonic(int n,
double m)
Calculates the Nth generalized harmonic number. |
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 |
probability(int x)
For a random variable X whose values are distributed according
to this distribution, this method returns P(X = x). |
| Methods inherited from class org.apache.commons.math3.distribution.AbstractIntegerDistribution |
|---|
cumulativeProbability, inverseCumulativeProbability, reseedRandomGenerator, sample, sample, solveInverseCumulativeProbability |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final long serialVersionUID
private final int numberOfElements
private final double exponent
private double numericalMean
private boolean numericalMeanIsCalculated
private double numericalVariance
private boolean numericalVarianceIsCalculated
| Constructor Detail |
|---|
public ZipfDistribution(int numberOfElements,
double exponent)
numberOfElements - Number of elements.exponent - Exponent.
NotStrictlyPositiveException - if numberOfElements <= 0
or exponent <= 0.
public ZipfDistribution(RandomGenerator rng,
int numberOfElements,
double exponent)
throws NotStrictlyPositiveException
rng - Random number generator.numberOfElements - Number of elements.exponent - Exponent.
NotStrictlyPositiveException - if numberOfElements <= 0
or exponent <= 0.| Method Detail |
|---|
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 evaluated
xpublic 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 evaluated
xpublic 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().
private double generalizedHarmonic(int n,
double m)
n - Term in the series to calculate (must be larger than 1)m - Exponent (special case m = 1 is the harmonic series).
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()
true
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||