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 GammaDist

    java.lang.Object
      umontreal.iro.lecuyer.probdist.ContinuousDistribution
          umontreal.iro.lecuyer.probdist.GammaDist

All Implemented Interfaces:
  Distribution

Direct Known Subclasses:
  ErlangDist, GammaDistFromMoments

    public class GammaDist

extends ContinuousDistribution

Extends the class `ContinuousDistribution` for the gamma distribution with shape parameter α > 0 and scale parameter λ > 0. The density is

f (x) = λαxα-1e-λx/Γ(α), for x > 0,

where Γ is the gamma function, defined by

Γ(α) = ∫0∞xα-1e-xdx.

In particular, Γ(n) = (n - 1)! when n is a positive integer.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`decPrec`

Constructor Summary
`GammaDist(double alpha)` Constructs a `GammaDist` object with parameters α = `alpha` and λ = 1.
`GammaDist(double alpha, double lambda)` Constructs a `GammaDist` object with parameters α = `alpha` and λ = `lambda`.
`GammaDist(double alpha, double lambda, int d)` Constructs a `GammaDist` object with parameters α = `alpha` and λ = `lambda`, and approximations of roughly `d` decimal digits of precision when computing functions.

Method Summary
`static double` | `barF(double alpha, double lambda, int d, double x)` Computes the complementary distribution function.
`static double` | `barF(double alpha, int d, double x)` Same as `barF` `(alpha, 1.0, d, x)`.
`double` | `cdf(double x)` Returns the distribution function F(x).
`static double` | `cdf(double alpha, double lambda, int d, double x)` Returns an approximation of the gamma distribution function with parameters α = `alpha` and λ = `lambda`.
`static double` | `cdf(double alpha, int d, double x)` Equivalent to `cdf (alpha, 1.0, d, x)`.
`double` | `density(double x)` Returns f (x), the density evaluated at x.
`static double` | `density(double alpha, double lambda, double x)` Computes the density function.
`double` | `getAlpha()` Return the parameter α for this object.
`static GammaDist` | `getInstanceFromMLE(double[] x, int n)` Creates a new instance of a gamma distribution with parameters α and λ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
`double` | `getLambda()` Return the parameter λ for this object.
`static double[]` | `getMaximumLikelihoodEstimate(double[] x, int n)` Deprecated.
`double` | `getMean()` Returns the mean.
`static double` | `getMean(double alpha, double lambda)` Computes and returns the mean E[X] = α/λ of the gamma distribution with parameters α and λ.
`static double[]` | `getMLE(double[] x, int n)` Estimates the parameters (α, λ) of the gamma distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.
`double[]` | `getParams()` Return a table containing the parameters of the current distribution.
`double` | `getStandardDeviation()` Returns the standard deviation.
`static double` | `getStandardDeviation(double alpha, double lambda)` Computes and returns the standard deviation of the gamma distribution with parameters α and λ.
`double` | `getVariance()` Returns the variance.
`static double` | `getVariance(double alpha, double lambda)` Computes and returns the variance Var[X] = α/λ2 of the gamma distribution with parameters α and λ.
`double` | `inverseF(double u)` Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`.
`static double` | `inverseF(double alpha, double lambda, int d, double u)` Computes the inverse distribution function using the algorithm implemented in the Cephes Math Library.
`static double` | `inverseF(double alpha, int d, double u)` Same as `inverseF` `(alpha, 1, d, u)`.
`void` | `setParams(double alpha, double lambda, int d)`
`String` | `toString()`

Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`barF, inverseBisection, inverseBrent`

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

Constructor Detail

### GammaDist

    public GammaDist(double alpha)

  Constructs a `GammaDist` object with parameters α = `alpha` and λ = 1.

### GammaDist

    public GammaDist(double alpha,
                     double lambda)

  Constructs a `GammaDist` object with parameters α = `alpha` and λ = `lambda`.

### GammaDist

    public GammaDist(double alpha,
                     double lambda,
                     int d)

  Constructs a `GammaDist` object with parameters α = `alpha` and λ = `lambda`, and approximations of roughly `d` decimal digits of precision when computing functions.

Method Detail

### density

    public double density(double x)

  Description copied from class: `ContinuousDistribution`
  Returns f (x), the density evaluated at x.

  Specified by:
    `density` in class `ContinuousDistribution`
  Parameters:
    `x` - value at which the density is evaluated
  Returns:
    density function evaluated at `x`

### cdf

    public double cdf(double x)

  Description copied from interface: `Distribution`
  Returns the distribution function F(x).

  Parameters:
    `x` - value at which the distribution function is evaluated
  Returns:
    distribution function evaluated at `x`

### inverseF

    public double inverseF(double u)

  Description copied from class: `ContinuousDistribution`
  Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`. Restrictions: u∈[0, 1].

  Specified by:
    `inverseF` in interface `Distribution`
  Overrides:
    `inverseF` in class `ContinuousDistribution`
  Parameters:
    `u` - value at which the inverse distribution function is evaluated
  Returns:
    the inverse distribution function evaluated at `u`

### getMean

    public double getMean()

  Description copied from class: `ContinuousDistribution`
  Returns the mean.

  Specified by:
    `getMean` in interface `Distribution`
  Overrides:
    `getMean` in class `ContinuousDistribution`
  Returns:
    the mean

### getVariance

    public double getVariance()

  Description copied from class: `ContinuousDistribution`
  Returns the variance.

  Specified by:
    `getVariance` in interface `Distribution`
  Overrides:
    `getVariance` in class `ContinuousDistribution`
  Returns:
    the variance

### getStandardDeviation

    public double getStandardDeviation()

  Description copied from class: `ContinuousDistribution`
  Returns the standard deviation.

  Specified by:
    `getStandardDeviation` in interface `Distribution`
  Overrides:
    `getStandardDeviation` in class `ContinuousDistribution`
  Returns:
    the standard deviation

### density

    public static double density(double alpha,
                                 double lambda,
                                 double x)

  Computes the density function.

### cdf

    public static double cdf(double alpha,
                             double lambda,
                             int d,
                             double x)

  Returns an approximation of the gamma distribution function with parameters α = `alpha` and λ = `lambda`. The function tries to return d decimals digits of precision. For α not too large (e.g., α <= 1000), d gives a good idea of the precision attained.

### cdf

    public static double cdf(double alpha,
                             int d,
                             double x)

  Equivalent to `cdf (alpha, 1.0, d, x)`.

### barF

    public static double barF(double alpha,
                              double lambda,
                              int d,
                              double x)

  Computes the complementary distribution function.

### barF

    public static double barF(double alpha,
                              int d,
                              double x)

  Same as `barF` `(alpha, 1.0, d, x)`.

### inverseF

    public static double inverseF(double alpha,
                                  double lambda,
                                  int d,
                                  double u)

  Computes the inverse distribution function using the algorithm implemented in the Cephes Math Library. Starting with the approximation x = αt3, where t = 1 - z - Φ-1(u)(z)1/2, z = α/9, and Φ-1 is the inverse of the standard normal distribution, the method uses Newton iterations to estimate the inverse. The precision of the algorithm depends on the accuracy of the `barF` function. The argument `d` gives a good idea of the precision attained.

### inverseF

    public static double inverseF(double alpha,
                                  int d,
                                  double u)

  Same as `inverseF` `(alpha, 1, d, u)`.

### getMLE

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

  Estimates the parameters (α, λ) of the gamma distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The estimates are returned in a two-element array, in regular order: [α, λ].

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

### getMaximumLikelihoodEstimate

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

  Deprecated.

  Same as `getMLE`.

### getInstanceFromMLE

    public static GammaDist getInstanceFromMLE(double[] x,
                                               int n)

  Creates a new instance of a gamma distribution with parameters α and λ 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 alpha,
                                 double lambda)

  Computes and returns the mean E[X] = α/λ of the gamma distribution with parameters α and λ.

  Returns:
    the mean of the gamma distribution E[X] = α/λ

### getVariance

    public static double getVariance(double alpha,
                                     double lambda)

  Computes and returns the variance Var[X] = α/λ2 of the gamma distribution with parameters α and λ.

  Returns:
    the variance of the gamma distribution Var[X] = α/λ2

### getStandardDeviation

    public static double getStandardDeviation(double alpha,
                                              double lambda)

  Computes and returns the standard deviation of the gamma distribution with parameters α and λ.

  Returns:
    the standard deviation of the gamma distribution

### getAlpha

    public double getAlpha()

  Return the parameter α for this object.

### getLambda

    public double getLambda()

  Return the parameter λ for this object.

### setParams

    public void setParams(double alpha,
                          double lambda,
                          int d)

### getParams

    public double[] getParams()

  Return a table containing the parameters of the current distribution. This table is put in regular order: [α, λ].

### 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.