Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.probdist
Class PoissonDist

    java.lang.Object
      umontreal.iro.lecuyer.probdist.DiscreteDistributionInt
          umontreal.iro.lecuyer.probdist.PoissonDist

All Implemented Interfaces:
  Distribution

    public class PoissonDist

extends DiscreteDistributionInt

Extends the class `DiscreteDistributionInt` for the Poisson distribution with mean λ >= 0. The mass function is

p(x) = e-λλx/(x!), for x = 0, 1,...

and the distribution function is

F(x) = e-λ∑j=0x λj/(j!), for x = 0, 1,....

If one has to compute p(x) and/or F(x) for several values of x with the same λ, where λ is not too large, then it is more efficient to instantiate an object and use the non-static methods, since the functions will then be computed once and kept in arrays.

For the static methods that compute F(x) and bar(F)(x), we exploit the relationship F(x) = 1 - Gx+1(λ), where Gx+1 is the gamma distribution function with parameters (α, λ) = (x + 1, 1).

Field Summary
`static double` | `MAXLAMBDA`

Fields inherited from class umontreal.iro.lecuyer.probdist.DiscreteDistributionInt
`EPSILON`

Constructor Summary
`PoissonDist(double lambda)` Creates an object that contains the probability and distribution functions, for the Poisson distribution with parameter `lambda`, which are computed and stored in dynamic arrays inside that object.

Method Summary
`static double` | `barF(double lambda, int x)` Computes and returns the value of the complementary Poisson distribution function, bar(F)(x), for λ = `lambda`.
`double` | `barF(int x)` Returns bar(F)(x), the complementary distribution function.
`static double` | `cdf(double lambda, int x)` Computes and returns the value of the Poisson distribution function, F(x), for λ = `lambda`.
`double` | `cdf(int x)` Returns the distribution function F evaluated at `x` (see).
`static PoissonDist` | `getInstanceFromMLE(int[] x, int n)` Creates a new instance of a Poisson distribution with parameter λ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
`double` | `getLambda()` Returns the λ associated with this object.
`static double[]` | `getMaximumLikelihoodEstimate(int[] x, int n)` Deprecated.
`double` | `getMean()` Returns the mean of the distribution function.
`static double` | `getMean(double lambda)` Computes and returns the mean E[X] = λ of the Poisson distribution with parameter λ.
`static double[]` | `getMLE(int[] x, int n)` Estimates the parameter λ of the Poisson distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.
`double[]` | `getParams()` Return a table containing the parameter of the current distribution.
`double` | `getStandardDeviation()` Returns the standard deviation of the distribution function.
`static double` | `getStandardDeviation(double lambda)` Computes and returns the standard deviation of the Poisson distribution with parameter λ.
`double` | `getVariance()` Returns the variance of the distribution function.
`static double` | `getVariance(double lambda)` Computes and returns the variance = λ of the Poisson distribution with parameter λ.
`static int` | `inverseF(double lambda, double u)` Performs a linear search to get the inverse function without precomputed tables.
`int` | `inverseFInt(double u)` Returns the inverse distribution function F-1(u), where 0 <= u <= 1.
`static double` | `prob(double lambda, int x)` Computes and returns the value of the Poisson probability p(x), for λ = `lambda`.
`double` | `prob(int x)` Returns p(x), the probability of x, which should be a real number in the interval [0, 1].
`void` | `setLambda(double lambda)` Sets the λ associated with this object.
`String` | `toString()`

Methods inherited from class umontreal.iro.lecuyer.probdist.DiscreteDistributionInt
`barF, cdf, inverseF`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### MAXLAMBDA

    public static double MAXLAMBDA

Constructor Detail

### PoissonDist

    public PoissonDist(double lambda)

  Creates an object that contains the probability and distribution functions, for the Poisson distribution with parameter `lambda`, which are computed and stored in dynamic arrays inside that object.

Method Detail

### prob

    public double prob(int x)

  Description copied from class: `DiscreteDistributionInt`
  Returns p(x), the probability of x, which should be a real number in the interval [0, 1].

  Specified by:
    `prob` in class `DiscreteDistributionInt`
  Parameters:
    `x` - value at which the mass function must be evaluated
  Returns:
    the mass function evaluated at `x`

### cdf

    public double cdf(int x)

  Description copied from class: `DiscreteDistributionInt`
  Returns the distribution function F evaluated at `x` (see).

  Specified by:
    `cdf` in class `DiscreteDistributionInt`
  Parameters:
    `x` - value at which the distribution function must be evaluated
  Returns:
    the distribution function evaluated at `x`

### barF

    public double barF(int x)

  Description copied from class: `DiscreteDistributionInt`
  Returns bar(F)(x), the complementary distribution function.

  Overrides:
    `barF` in class `DiscreteDistributionInt`
  Parameters:
    `x` - value at which the complementary distribution function must be evaluated
  Returns:
    the complementary distribution function evaluated at `x`

### inverseFInt

    public int inverseFInt(double u)

  Description copied from class: `DiscreteDistributionInt`
  Returns the inverse distribution function F-1(u), where 0 <= u <= 1. The default implementation uses binary search.

  Overrides:
    `inverseFInt` in class `DiscreteDistributionInt`
  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()

  Description copied from interface: `Distribution`
  Returns the mean of the distribution function.

### getVariance

    public double getVariance()

  Description copied from interface: `Distribution`
  Returns the variance of the distribution function.

### getStandardDeviation

    public double getStandardDeviation()

  Description copied from interface: `Distribution`
  Returns the standard deviation of the distribution function.

### prob

    public static double prob(double lambda,
                              int x)

  Computes and returns the value of the Poisson probability p(x), for λ = `lambda`. If λ >= 20, this (static) method uses the logarithm of the gamma function, defined in, to estimate the density.

### cdf

    public static double cdf(double lambda,
                             int x)

  Computes and returns the value of the Poisson distribution function, F(x), for λ = `lambda`.

### barF

    public static double barF(double lambda,
                              int x)

  Computes and returns the value of the complementary Poisson distribution function, bar(F)(x), for λ = `lambda`. Computes and adds the non-negligible terms in the tail.

### inverseF

    public static int inverseF(double lambda,
                               double u)

  Performs a linear search to get the inverse function without precomputed tables.

### getMLE

    public static double[] getMLE(int[] x,
                                  int n)

  Estimates the parameter λ of the Poisson distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The maximum likelihood estimator hat(λ) satisfy the equation hat(λ) = bar(x)n, where bar(x)n is the average of x[0],…, x[n - 1] (see).

  Parameters:
    `x` - the list of observations used to evaluate parameters
    `n` - the number of observations used to evaluate parameters
  Returns:
    returns the parameter [ hat(λ)]

### getMaximumLikelihoodEstimate

    @Deprecated
    public static double[] getMaximumLikelihoodEstimate(int[] x,
                                                                   int n)

  Deprecated.

  Same as `getMLE`.

### getInstanceFromMLE

    public static PoissonDist getInstanceFromMLE(int[] x,
                                                 int n)

  Creates a new instance of a Poisson distribution with parameter λ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.

  Parameters:
    `x` - the list of observations to use to evaluate parameters
    `n` - the number of observations to use to evaluate parameters

### getMean

    public static double getMean(double lambda)

  Computes and returns the mean E[X] = λ of the Poisson distribution with parameter λ.

  Returns:
    the mean of the Poisson distribution E[X] = λ

### getVariance

    public static double getVariance(double lambda)

  Computes and returns the variance = λ of the Poisson distribution with parameter λ.

  Returns:
    the variance of the Poisson distribution Var[X] = λ

### getStandardDeviation

    public static double getStandardDeviation(double lambda)

  Computes and returns the standard deviation of the Poisson distribution with parameter λ.

  Returns:
    the standard deviation of the Poisson distribution

### getLambda

    public double getLambda()

  Returns the λ associated with this object.

### setLambda

    public void setLambda(double lambda)

  Sets the λ associated with this object.

### getParams

    public double[] getParams()

  Return a table containing the parameter of the current distribution.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.