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.probdistmulti
Class BiNormalDist

    java.lang.Object
      umontreal.iro.lecuyer.probdistmulti.ContinuousDistributionMulti
          umontreal.iro.lecuyer.probdistmulti.ContinuousDistribution2Dim
              umontreal.iro.lecuyer.probdistmulti.BiNormalDist

Direct Known Subclasses:
  BiNormalDonnellyDist, BiNormalGenzDist

    public class BiNormalDist

extends ContinuousDistribution2Dim

Extends the class `ContinuousDistribution2Dim` for the bivariate normal distribution. It has means E[X] = μ1, E[Y] = μ2, and variances var [X] = σ12, var [Y] = σ22 such that σ1 > 0 and σ2 > 0. The correlation between X and Y is r. Its density function is

f (x, y) = e-T/(2πσ1σ2(1-r^2)1/2)

T = [((x - μ1)/σ1)2 -2r((x - μ1)/σ1)((y - μ2)/σ2) + ((y - μ2)/σ2)2]/(2(1 - r2))

and the corresponding distribution function is (the `cdf` method)

Φ(μ1, σ1, x, μ2, σ2, y, r) = ∫-∞xdx∫-∞ydy e-T/(2πσ1σ2(1 - r^2)1/2).

We also define the upper distribution function (the `barF` method) as

bar(Φ)(μ1, σ1, x, μ2, σ2, y, r) = ∫∞xdx∫∞ydy e-T/(2πσ1σ2(1 - r^2)1/2).

When μ1 = μ2 = 0 and σ1 = σ2 = 1, we have the standard binormal distribution, with corresponding distribution function

Φ(x, y, r) = ∫∞xdx∫∞ydy e-S/(2π(1 - r^2)1/2)

S = (x2 -2rxy + y2)/(2(1 - r2)).

Field Summary

Fields inherited from class umontreal.iro.lecuyer.probdistmulti.ContinuousDistribution2Dim
`decPrec`

Constructor Summary
`BiNormalDist(double rho)` Constructs a `BiNormalDist` object with default parameters μ1 = μ2 = 0, σ1 = σ2 = 1 and correlation ρ =`rho`.
`BiNormalDist(double mu1, double sigma1, double mu2, double sigma2, double rho)` Constructs a `BiNormalDist` object with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`.

Method Summary
`double` | `barF(double x, double y)` .
`static double` | `barF(double x, double y, double rho)` Computes the standard upper binormal distribution with μ1 = μ2 = 0 and σ1 = σ2 = 1.
`static double` | `barF(double mu1, double sigma1, double x, double mu2, double sigma2, double y, double rho)` Computes the upper binormal distribution function with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`.
`double` | `cdf(double x, double y)` .
`static double` | `cdf(double x, double y, double rho)` Computes the standard binormal distribution using the fast Drezner-Wesolowsky method described in.
`static double` | `cdf(double mu1, double sigma1, double x, double mu2, double sigma2, double y, double rho)` Computes the binormal distribution function with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`.
`double` | `density(double x, double y)` Returns f (x, y), the density of (X, Y) evaluated at (x, y).
`static double` | `density(double x, double y, double rho)` Computes the standard binormal density function with μ1 = μ2 = 0 and σ1 = σ2 = 1.
`static double` | `density(double mu1, double sigma1, double x, double mu2, double sigma2, double y, double rho)` Computes the binormal density function with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`.
`double[][]` | `getCorrelation()` Returns the correlation matrix of the distribution, defined as ρij = σij/(σ_iiσ_jj)1/2.
`static double[][]` | `getCorrelation(double mu1, double sigma1, double mu2, double sigma2, double rho)` Return the correlation matrix of the binormal distribution.
`double[][]` | `getCovariance()` Returns the variance-covariance matrix of the distribution, defined as σij = E[(Xi - μi)(Xj - μj)].
`static double[][]` | `getCovariance(double mu1, double sigma1, double mu2, double sigma2, double rho)` Return the covariance matrix of the binormal distribution.
`double[]` | `getMean()` Returns the mean vector of the distribution, defined as μi = E[Xi].
`static double[]` | `getMean(double mu1, double sigma1, double mu2, double sigma2, double rho)` Return the mean vector E[X] = (μ1, μ2) of the binormal distribution.
`double` | `getMu1()` Returns the parameter μ1.
`double` | `getMu2()` Returns the parameter μ2.
`double` | `getSigma1()` Returns the parameter σ1.
`double` | `getSigma2()` Returns the parameter σ2.

Methods inherited from class umontreal.iro.lecuyer.probdistmulti.ContinuousDistribution2Dim
`cdf, density`

Methods inherited from class umontreal.iro.lecuyer.probdistmulti.ContinuousDistributionMulti
`getDimension`

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

Constructor Detail

### BiNormalDist

    public BiNormalDist(double rho)

  Constructs a `BiNormalDist` object with default parameters μ1 = μ2 = 0, σ1 = σ2 = 1 and correlation ρ =`rho`.

### BiNormalDist

    public BiNormalDist(double mu1,
                        double sigma1,
                        double mu2,
                        double sigma2,
                        double rho)

  Constructs a `BiNormalDist` object with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`.

Method Detail

### density

    public double density(double x,
                          double y)

  Description copied from class: `ContinuousDistribution2Dim`
  Returns f (x, y), the density of (X, Y) evaluated at (x, y).

  Specified by:
    `density` in class `ContinuousDistribution2Dim`
  Parameters:
    `x` - value x at which the density is evaluated
    `y` - value y at which the density is evaluated
  Returns:
    density function evaluated at (x, y)

### density

    public static double density(double x,
                                 double y,
                                 double rho)

  Computes the standard binormal density function with μ1 = μ2 = 0 and σ1 = σ2 = 1.

### density

    public static double density(double mu1,
                                 double sigma1,
                                 double x,
                                 double mu2,
                                 double sigma2,
                                 double y,
                                 double rho)

  Computes the binormal density function with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`.

### cdf

    public static double cdf(double x,
                             double y,
                             double rho)

  Computes the standard binormal distribution using the fast Drezner-Wesolowsky method described in. The absolute error is expected to be smaller than 2⋅10-7.

### cdf

    public double cdf(double x,
                      double y)

  Description copied from class: `ContinuousDistribution2Dim`
  . Computes the distribution function F(x, y):

  F(x, y) = P[X <= x, Y <= y] = ∫-∞xds∫-∞ydt f (s, t).

  Specified by:
    `cdf` in class `ContinuousDistribution2Dim`
  Parameters:
    `x` - value x at which the distribution function is evaluated
    `y` - value y at which the distribution function is evaluated
  Returns:
    distribution function evaluated at (x, y)

### cdf

    public static double cdf(double mu1,
                             double sigma1,
                             double x,
                             double mu2,
                             double sigma2,
                             double y,
                             double rho)

  Computes the binormal distribution function with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`. Uses the fast Drezner-Wesolowsky method described in. The absolute error is expected to be smaller than 2⋅10-7.

### barF

    public static double barF(double x,
                              double y,
                              double rho)

  Computes the standard upper binormal distribution with μ1 = μ2 = 0 and σ1 = σ2 = 1. Uses the fast Drezner-Wesolowsky method described in. The absolute error is expected to be smaller than 2⋅10-7.

### barF

    public double barF(double x,
                       double y)

  Description copied from class: `ContinuousDistribution2Dim`
  . Computes the upper cumulative distribution function bar(F)(x, y):

  bar(F)(x, y) = P[X >= x, Y >= y] = ∫∞xds∫∞ydt f (s, t).

  Overrides:
    `barF` in class `ContinuousDistribution2Dim`
  Parameters:
    `x` - value x at which the upper distribution is evaluated
    `y` - value y at which the upper distribution is evaluated
  Returns:
    upper distribution function evaluated at (x, y)

### barF

    public static double barF(double mu1,
                              double sigma1,
                              double x,
                              double mu2,
                              double sigma2,
                              double y,
                              double rho)

  Computes the upper binormal distribution function with parameters μ1 = `mu1`, μ2 = `mu2`, σ1 = `sigma1`, σ2 = `sigma2` and ρ = `rho`. Uses the fast Drezner-Wesolowsky method described in. The absolute error is expected to be smaller than 2⋅10-7.

### getMean

    public double[] getMean()

  Description copied from class: `ContinuousDistributionMulti`
  Returns the mean vector of the distribution, defined as μi = E[Xi].

  Specified by:
    `getMean` in class `ContinuousDistributionMulti`

### getMean

    public static double[] getMean(double mu1,
                                   double sigma1,
                                   double mu2,
                                   double sigma2,
                                   double rho)

  Return the mean vector E[X] = (μ1, μ2) of the binormal distribution.

### getCovariance

    public double[][] getCovariance()

  Description copied from class: `ContinuousDistributionMulti`
  Returns the variance-covariance matrix of the distribution, defined as
  σij = E[(Xi - μi)(Xj - μj)].

  Specified by:
    `getCovariance` in class `ContinuousDistributionMulti`

### getCovariance

    public static double[][] getCovariance(double mu1,
                                           double sigma1,
                                           double mu2,
                                           double sigma2,
                                           double rho)

  Return the covariance matrix of the binormal distribution.

### getCorrelation

    public double[][] getCorrelation()

  Description copied from class: `ContinuousDistributionMulti`
  Returns the correlation matrix of the distribution, defined as ρij = σij/(σ_iiσ_jj)1/2.

  Specified by:
    `getCorrelation` in class `ContinuousDistributionMulti`

### getCorrelation

    public static double[][] getCorrelation(double mu1,
                                            double sigma1,
                                            double mu2,
                                            double sigma2,
                                            double rho)

  Return the correlation matrix of the binormal distribution.

### getMu1

    public double getMu1()

  Returns the parameter μ1.

### getMu2

    public double getMu2()

  Returns the parameter μ2.

### getSigma1

    public double getSigma1()

  Returns the parameter σ1.

### getSigma2

    public double getSigma2()

  Returns the parameter σ2.

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.