Class ZipfDistributionImpl
java.lang.Object
org.apache.commons.math.distribution.AbstractDistribution
org.apache.commons.math.distribution.AbstractIntegerDistribution
org.apache.commons.math.distribution.ZipfDistributionImpl
- All Implemented Interfaces:
Serializable,DiscreteDistribution,Distribution,IntegerDistribution,ZipfDistribution
public class ZipfDistributionImpl
extends AbstractIntegerDistribution
implements ZipfDistribution, Serializable
Implementation for the
ZipfDistribution.- Version:
- $Revision: 1054524 $ $Date: 2011-01-03 05:59:18 +0100 (lun. 03 janv. 2011) $
- See Also:
-
Field Summary
Fields inherited from class org.apache.commons.math.distribution.AbstractIntegerDistribution
randomData -
Constructor Summary
ConstructorsConstructorDescriptionZipfDistributionImpl(int numberOfElements, double exponent) Create a new Zipf distribution with the given number of elements and exponent. -
Method Summary
Modifier and TypeMethodDescriptiondoublecumulativeProbability(int x) The probability distribution function P(X invalid input: '<'= x) for a Zipf distribution.protected intgetDomainLowerBound(double p) Access the domain value lower bound, based onp, used to bracket a PDF root.protected intgetDomainUpperBound(double p) Access the domain value upper bound, based onp, used to bracket a PDF root.doubleGet the exponent characterising the distribution.intGet the number of elements (e.g.protected doubleReturns the mean.protected doubleReturns the variance.intReturns the lower bound of the support for the distribution.intReturns the upper bound of the support for the distribution.doubleprobability(int x) The probability mass function P(X = x) for a Zipf distribution.voidsetExponent(double s) Deprecated.as of 2.1 (class will become immutable in 3.0)voidsetNumberOfElements(int n) Deprecated.as of 2.1 (class will become immutable in 3.0)Methods inherited from class org.apache.commons.math.distribution.AbstractIntegerDistribution
cumulativeProbability, cumulativeProbability, cumulativeProbability, inverseCumulativeProbability, isSupportLowerBoundInclusive, isSupportUpperBoundInclusive, probability, reseedRandomGenerator, sample, sampleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.commons.math.distribution.DiscreteDistribution
probabilityMethods inherited from interface org.apache.commons.math.distribution.Distribution
cumulativeProbability, cumulativeProbabilityMethods inherited from interface org.apache.commons.math.distribution.IntegerDistribution
cumulativeProbability, inverseCumulativeProbability
-
Constructor Details
-
ZipfDistributionImpl
Create a new Zipf distribution with the given number of elements and exponent. Both values must be positive; otherwise anIllegalArgumentExceptionis thrown.- Parameters:
numberOfElements- the number of elementsexponent- the exponent- Throws:
IllegalArgumentException- if n ≤ 0 or s ≤ 0.0
-
-
Method Details
-
getNumberOfElements
public int getNumberOfElements()Get the number of elements (e.g. corpus size) for the distribution.- Specified by:
getNumberOfElementsin interfaceZipfDistribution- Returns:
- the number of elements
-
setNumberOfElements
Deprecated.as of 2.1 (class will become immutable in 3.0)Set the number of elements (e.g. corpus size) for the distribution. The parameter value must be positive; otherwise anIllegalArgumentExceptionis thrown.- Specified by:
setNumberOfElementsin interfaceZipfDistribution- Parameters:
n- the number of elements- Throws:
IllegalArgumentException- if n ≤ 0
-
getExponent
public double getExponent()Get the exponent characterising the distribution.- Specified by:
getExponentin interfaceZipfDistribution- Returns:
- the exponent
-
setExponent
Deprecated.as of 2.1 (class will become immutable in 3.0)Set the exponent characterising the distribution. The parameter value must be positive; otherwise anIllegalArgumentExceptionis thrown.- Specified by:
setExponentin interfaceZipfDistribution- Parameters:
s- the exponent- Throws:
IllegalArgumentException- if s ≤ 0.0
-
probability
public double probability(int x) The probability mass function P(X = x) for a Zipf distribution.- Specified by:
probabilityin interfaceIntegerDistribution- Parameters:
x- the value at which the probability density function is evaluated.- Returns:
- the value of the probability mass function at x
-
cumulativeProbability
public double cumulativeProbability(int x) The probability distribution function P(X invalid input: '<'= x) for a Zipf distribution.- Specified by:
cumulativeProbabilityin interfaceIntegerDistribution- Specified by:
cumulativeProbabilityin classAbstractIntegerDistribution- Parameters:
x- the value at which the PDF is evaluated.- Returns:
- Zipf distribution function evaluated at x
-
getDomainLowerBound
protected int getDomainLowerBound(double p) Access the domain value lower bound, based onp, used to bracket a PDF root.- Specified by:
getDomainLowerBoundin classAbstractIntegerDistribution- Parameters:
p- the desired probability for the critical value- Returns:
- domain value lower bound, i.e.
P(X < lower bound) <
p
-
getDomainUpperBound
protected int getDomainUpperBound(double p) Access the domain value upper bound, based onp, used to bracket a PDF root.- Specified by:
getDomainUpperBoundin classAbstractIntegerDistribution- Parameters:
p- the desired probability for the critical value- Returns:
- domain value upper bound, i.e.
P(X < upper bound) >
p
-
getSupportLowerBound
public int getSupportLowerBound()Returns the lower bound of the support for the distribution. The lower bound of the support is always 1 no matter the parameters.- Returns:
- lower bound of the support (always 1)
- Since:
- 2.2
-
getSupportUpperBound
public int getSupportUpperBound()Returns the upper bound of the support for the distribution. The upper bound of the support is the number of elements- Returns:
- upper bound of the support
- Since:
- 2.2
-
getNumericalMean
protected double getNumericalMean()Returns the mean. For number of elements N and exponent s, the mean isHs1 / HswhereHs1 = generalizedHarmonic(N, s - 1)Hs = generalizedHarmonic(N, s)
- Returns:
- the mean
- Since:
- 2.2
-
getNumericalVariance
protected double getNumericalVariance()Returns the variance. For number of elements N and exponent s, the mean is(Hs2 / Hs) - (Hs1^2 / Hs^2)whereHs2 = generalizedHarmonic(N, s - 2)Hs1 = generalizedHarmonic(N, s - 1)Hs = generalizedHarmonic(N, s)
- Returns:
- the variance
- Since:
- 2.2
-