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 NormalDist

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

All Implemented Interfaces:
  Distribution

Direct Known Subclasses:
  NormalDistQuick

    public class NormalDist

extends ContinuousDistribution

Extends the class `ContinuousDistribution` for the normal distribution (e.g.,). It has mean μ and variance σ2. Its density function is

f (x) = e-(x-μ)2/(2σ2)/((2π)1/2σ) for - ∞ < x < ∞,

where σ > 0. When μ = 0 and σ = 1, we have the standard normal distribution, with corresponding distribution function

F(x) = Φ(x) = ∫-∞xe-t2/2 dt/(2π)1/2 for - ∞ < x < ∞.

The non-static methods `cdf`, `barF`, and `inverseF` are implemented via `cdf01`, `barF01`, and `inverseF01`, respectively.

Field Summary

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

Constructor Summary
`NormalDist()` Constructs a `NormalDist` object with default parameters μ = 0 and σ = 1.
`NormalDist(double mu, double sigma)` Constructs a `NormalDist` object with mean μ = `mu` and standard deviation σ = `sigma`.

Method Summary
`double` | `barF(double x)` Returns the complementary distribution function.
`static double` | `barF(double mu, double sigma, double x)` Computes the complementary normal distribution function bar(F)(x) = 1 - Φ((x - μ)/σ), with mean μ and variance σ2.
`static double` | `barF01(double x)` Same as `barF` `(0, 1, x)`.
`double` | `cdf(double x)` Returns the distribution function F(x).
`static double` | `cdf(double mu, double sigma, double x)` Computes the normal distribution function with mean μ and variance σ2.
`static double` | `cdf01(double x)` Same as `cdf` `(0, 1, x)`.
`double` | `density(double x)` Returns f (x), the density evaluated at x.
`static double` | `density(double mu, double sigma, double x)` Computes the normal density function.
`static double` | `density01(double x)` Same as `density` `(0, 1, x)`.
`static NormalDist` | `getInstanceFromMLE(double[] x, int n)` Creates a new instance of a normal distribution with parameters μ and σ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
`static double[]` | `getMaximumLikelihoodEstimate(double[] x, int n)` Deprecated.
`double` | `getMean()` Returns the mean.
`static double` | `getMean(double mu, double sigma)` Computes and returns the mean E[X] = μ of the normal distribution with parameters μ and σ.
`static double[]` | `getMLE(double[] x, int n)` Estimates the parameters (μ, σ) of the normal distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.
`double` | `getMu()` Returns the parameter μ.
`double[]` | `getParams()` Return a table containing the parameters of the current distribution.
`double` | `getSigma()` Returns the parameter σ.
`double` | `getStandardDeviation()` Returns the standard deviation.
`static double` | `getStandardDeviation(double mu, double sigma)` Computes and returns the standard deviation σ of the normal distribution with parameters μ and σ.
`double` | `getVariance()` Returns the variance.
`static double` | `getVariance(double mu, double sigma)` Computes and returns the variance Var[X] = σ2 of the normal 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 mu, double sigma, double u)` Computes the inverse normal distribution function with mean μ and variance σ2.
`static double` | `inverseF01(double u)` Same as `inverseF` `(0, 1, u)`.
`void` | `setParams(double mu, double sigma)` Sets the parameters μ and σ of this object.
`String` | `toString()`

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

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

Constructor Detail

### NormalDist

    public NormalDist()

  Constructs a `NormalDist` object with default parameters μ = 0 and σ = 1.

### NormalDist

    public NormalDist(double mu,
                      double sigma)

  Constructs a `NormalDist` object with mean μ = `mu` and standard deviation σ = `sigma`.

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`

### barF

    public double barF(double x)

  Description copied from class: `ContinuousDistribution`
  Returns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x), which is not accurate when F(x) -> 1.

  Specified by:
    `barF` in interface `Distribution`
  Overrides:
    `barF` in class `ContinuousDistribution`
  Parameters:
    `x` - value at which the complementary distribution function is evaluated
  Returns:
    complementary 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

### density01

    public static double density01(double x)

  Same as `density` `(0, 1, x)`.

### density

    public static double density(double mu,
                                 double sigma,
                                 double x)

  Computes the normal density function.

### cdf01

    public static double cdf01(double x)

  Same as `cdf` `(0, 1, x)`.

### cdf

    public static double cdf(double mu,
                             double sigma,
                             double x)

  Computes the normal distribution function with mean μ and variance σ2. Uses the Chebyshev approximation , which gives 16 decimals of precision.

### barF01

    public static double barF01(double x)

  Same as `barF` `(0, 1, x)`.

### barF

    public static double barF(double mu,
                              double sigma,
                              double x)

  Computes the complementary normal distribution function bar(F)(x) = 1 - Φ((x - μ)/σ), with mean μ and variance σ2. Uses a Chebyshev series giving 16 decimal digits of precision.

### inverseF01

    public static double inverseF01(double u)

  Same as `inverseF` `(0, 1, u)`.

### inverseF

    public static double inverseF(double mu,
                                  double sigma,
                                  double u)

  Computes the inverse normal distribution function with mean μ and variance σ2. Uses rational Chebyshev approximations giving at least 16 decimal digits of precision.

### getMLE

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

  Estimates the parameters (μ, σ) of the normal 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: [hat(μ), hat(σ)].

  Parameters:
    `x` - the list of observations used to evaluate parameters
    `n` - the number of observations used 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 NormalDist getInstanceFromMLE(double[] x,
                                                int n)

  Creates a new instance of a normal 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 mu,
                                 double sigma)

  Computes and returns the mean E[X] = μ of the normal distribution with parameters μ and σ.

  Returns:
    the mean of the normal distribution E[X] = μ

### getVariance

    public static double getVariance(double mu,
                                     double sigma)

  Computes and returns the variance Var[X] = σ2 of the normal distribution with parameters μ and σ.

  Returns:
    the variance of the normal distribution Var[X] = σ2

### getStandardDeviation

    public static double getStandardDeviation(double mu,
                                              double sigma)

  Computes and returns the standard deviation σ of the normal distribution with parameters μ and σ.

  Returns:
    the standard deviation of the normal distribution

### getMu

    public double getMu()

  Returns the parameter μ.

### getSigma

    public double getSigma()

  Returns the parameter σ.

### setParams

    public void setParams(double mu,
                          double sigma)

  Sets the parameters μ and σ of this object.

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