umontreal.iro.lecuyer.probdist
Class DiscreteDistribution
- java.lang.Object
-
- umontreal.iro.lecuyer.probdist.DiscreteDistribution
-
- All Implemented Interfaces:
- Distribution
- Direct Known Subclasses:
- EmpiricalDist
public class DiscreteDistribution extends java.lang.Object implements Distribution
Classes implementing discrete distributions over a finite set of real numbers should inherit from this class. For discrete distributions over integers, seeDiscreteDistributionInt.We assume that the random variable X of interest can take one of the n values x0 < ... < xn-1 (which are sorted by increasing order). It takes the value xk with probability pk = P[X = xk]. In addition to the methods specified in the interface
Distribution, a method that returns the probability pk is supplied.Note that the default implementation of the complementary distribution function returns 1.0 - cdf(x - 1), which is not accurate when F(x) is near 1.
-
-
Constructor Summary
Constructors Constructor and Description DiscreteDistribution(double[] params)Constructs a discrete distribution whose parameters are given in a single ordered array: params[0] contains n, the number of values to consider.DiscreteDistribution(double[] obs, double[] prob, int n)Constructs a discrete distribution over the n values contained in array obs, with probabilities given in array prob.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublebarF(double x)Returns bar(F)(x) = 1 - F(x).doublecdf(double x)Returns the distribution function F(x).doublegetMean()Computes the mean E[X] = ∑i=1npixi of the distribution.double[]getParams()Returns a table containing the parameters of the current distribution.doublegetStandardDeviation()Computes the standard deviation of the distribution.doublegetVariance()Computes the variance Var[X] = ∑i=1npi(xi - E[X])2 of the distribution.doublegetXinf()Returns the lower limit xa of the support of the distribution.doublegetXsup()Returns the upper limit xb of the support of the distribution.doubleinverseF(double u)Returns the inverse distribution function F-1(u), defined in.doubleprob(int k)Returns pk, the probability of the k-th observation, for 0 <= k < n.java.lang.StringtoString()Returns a String containing information about the current distribution.
-
-
-
Constructor Detail
-
DiscreteDistribution
public DiscreteDistribution(double[] obs, double[] prob, int n)Constructs a discrete distribution over the n values contained in array obs, with probabilities given in array prob. Both arrays must have at least n elements, the probabilities must sum to 1, and the observations are assumed to be sorted by increasing order.
-
DiscreteDistribution
public DiscreteDistribution(double[] params)
Constructs a discrete distribution whose parameters are given in a single ordered array: params[0] contains n, the number of values to consider. Then the next n values of params are the observation values, and the last n values of params are the probabilities values.
-
-
Method Detail
-
prob
public double prob(int k)
Returns pk, the probability of the k-th observation, for 0 <= k < n. The result should be a real number in the interval [0, 1].- Parameters:
k- observation number, 0 <= k < n- Returns:
- the probability of observation k
-
cdf
public double cdf(double x)
Description copied from interface:DistributionReturns the distribution function F(x).- Specified by:
cdfin interfaceDistribution- Parameters:
x- value at which the distribution function must be evaluated- Returns:
- the distribution function evaluated at x
-
barF
public double barF(double x)
Description copied from interface:DistributionReturns bar(F)(x) = 1 - F(x).- Specified by:
barFin interfaceDistribution- Parameters:
x- value at which the complementary distribution function must be evaluated- Returns:
- the complementary distribution function evaluated at x
-
inverseF
public double inverseF(double u)
Description copied from interface:DistributionReturns the inverse distribution function F-1(u), defined in.- Specified by:
inverseFin interfaceDistribution- Parameters:
u- value in the interval (0, 1) for which the inverse distribution function is evaluated- Returns:
- the inverse distribution function evaluated at u
-
getMean
public double getMean()
Computes the mean E[X] = ∑i=1npixi of the distribution.- Specified by:
getMeanin interfaceDistribution
-
getVariance
public double getVariance()
Computes the variance Var[X] = ∑i=1npi(xi - E[X])2 of the distribution.- Specified by:
getVariancein interfaceDistribution
-
getStandardDeviation
public double getStandardDeviation()
Computes the standard deviation of the distribution.- Specified by:
getStandardDeviationin interfaceDistribution
-
getParams
public double[] getParams()
Returns a table containing the parameters of the current distribution. This table is built in regular order, according to constructor DiscreteDistribution(double[] params) order.- Specified by:
getParamsin interfaceDistribution
-
getXinf
public double getXinf()
Returns the lower limit xa of the support of the distribution. The probability is 0 for all x < xa.- Returns:
- x lower limit of support
-
getXsup
public double getXsup()
Returns the upper limit xb of the support of the distribution. The probability is 0 for all x > xb.- Returns:
- x upper limit of support
-
toString
public java.lang.String toString()
Returns a String containing information about the current distribution.- Overrides:
toStringin classjava.lang.Object
-
-
DMelt 3.0 © DataMelt by jWork.ORG