SSJ  3.3.1
Stochastic Simulation in Java
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Package Attributes | List of all members

Extends the class ContinuousDistribution2Dim for the bivariate normal distribution [98]  (page 84). More...

Inheritance diagram for BiNormalDist:
[legend]
Collaboration diagram for BiNormalDist:
[legend]

Public Member Functions

 BiNormalDist (double rho)
 Constructs a BiNormalDist object with default parameters \(\mu_1 = \mu_2 = 0\), \(\sigma_1 = \sigma_2 = 1\) and correlation \(\rho= \) rho.
 
 BiNormalDist (double mu1, double sigma1, double mu2, double sigma2, double rho)
 Constructs a BiNormalDist object with parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho.
 
double density (double x, double y)
 
double cdf (double x, double y)
 
double barF (double x, double y)
 
double [] getMean ()
 
double [][] getCovariance ()
 
double [][] getCorrelation ()
 
double getMu1 ()
 Returns the parameter \(\mu_1\).
 
double getMu2 ()
 Returns the parameter \(\mu_2\).
 
double getSigma1 ()
 Returns the parameter \(\sigma_1\).
 
double getSigma2 ()
 Returns the parameter \(\sigma_2\).
 
- Public Member Functions inherited from ContinuousDistribution2Dim
abstract double density (double x, double y)
 Returns \(f(x, y)\), the density of \((X, Y)\) evaluated at \((x, y)\). More...
 
double density (double[] x)
 Simply calls density (x[0], x[1]). More...
 
abstract double cdf (double x, double y)
 Computes the distribution function \(F(x, y)\):

\[ F(x, y) = P[X\le x, Y \le y] = \int_{-\infty}^x ds \int_{-\infty}^y dt  f(s, t). \]

. More...

 
double barF (double x, double y)
 Computes the upper cumulative distribution function \(\overline{F}(x, y)\):

\[ \overline{F}(x, y) = P[X\ge x, Y \ge y] = \int^{\infty}_x ds \int^{\infty}_y dt  f(s, t). \]

. More...

 
double cdf (double a1, double a2, double b1, double b2)
 Computes the cumulative probability in the square region

\[ P[a_1 \le X \le b_1,\: a_2 \le Y \le b_2] = \int_{a_1}^{b_1} dx \int_{a_2}^{b_2} dy  f(x, y). \]

. More...

 
- Public Member Functions inherited from ContinuousDistributionMulti
abstract double density (double[] x)
 Returns \(f(x_1, x_2, …, x_d)\), the probability density of \(X\) evaluated at the point \(x\), where \(x = \{x_1, x_2, …, x_d\}\). More...
 
int getDimension ()
 Returns the dimension \(d\) of the distribution.
 
abstract double [] getMean ()
 Returns the mean vector of the distribution, defined as \(\mu_i = E[X_i]\).
 
abstract double [][] getCovariance ()
 Returns the variance-covariance matrix of the distribution, defined as
\(\sigma_{ij} = E[(X_i - \mu_i)(X_j - \mu_j)]\).
 
abstract double [][] getCorrelation ()
 Returns the correlation matrix of the distribution, defined as \(\rho_{ij} = \sigma_{ij}/\sqrt{\sigma_{ii}\sigma_{jj}}\).
 

Static Public Member Functions

static double density (double x, double y, double rho)
 Computes the standard binormal density function ( f1binormal ) with \(\mu_1 = \mu_2 = 0\) and \(\sigma_1 = \sigma_2 = 1\).
 
static double density (double mu1, double sigma1, double x, double mu2, double sigma2, double y, double rho)
 Computes the binormal density function ( f1binormal ) with parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho.
 
static double cdf (double x, double y, double rho)
 Computes the standard binormal distribution ( cdf2binormal ) using the fast Drezner-Wesolowsky method described in [54] . More...
 
static double cdf (double mu1, double sigma1, double x, double mu2, double sigma2, double y, double rho)
 Computes the binormal distribution function ( cdf1binormal ) with parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho. More...
 
static double barF (double x, double y, double rho)
 Computes the standard upper binormal distribution with \(\mu_1 = \mu_2 = 0\) and \(\sigma_1 = \sigma_2 = 1\). More...
 
static double barF (double mu1, double sigma1, double x, double mu2, double sigma2, double y, double rho)
 Computes the upper binormal distribution function ( cdf3binormal ) with parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho. More...
 
static double [] getMean (double mu1, double sigma1, double mu2, double sigma2, double rho)
 Return the mean vector \(E[X] = (\mu_1, \mu_2)\) of the binormal distribution.
 
static double [][] getCovariance (double mu1, double sigma1, double mu2, double sigma2, double rho)
 Return the covariance matrix of the binormal distribution.
 
static double [][] getCorrelation (double mu1, double sigma1, double mu2, double sigma2, double rho)
 Return the correlation matrix of the binormal distribution.
 

Protected Member Functions

void setParams (double mu1, double sigma1, double mu2, double sigma2, double rho)
 Sets the parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho of this object.
 

Static Protected Member Functions

static double Gauss (double z)
 
static double specialCDF (double x, double y, double rho, double xbig)
 

Protected Attributes

int ndigit
 
double mu1
 
double sigma1
 
double rho
 
double racRho
 
double detS
 
- Protected Attributes inherited from ContinuousDistributionMulti
int dimension
 

Static Protected Attributes

static final double RHO_SMALL = 1.0e-8
 
- Static Protected Attributes inherited from ContinuousDistribution2Dim
static final double XINF = Double.MAX_VALUE
 
static final double XBIG = 1000.0
 
static final double [] EPSARRAY
 

Package Attributes

double mu2
 
double sigma2
 

Additional Inherited Members

- Public Attributes inherited from ContinuousDistribution2Dim
int decPrec = 15
 Defines the target number of decimals of accuracy when approximating a distribution function, but there is no guarantee that this target is always attained.
 

Detailed Description

Extends the class ContinuousDistribution2Dim for the bivariate normal distribution [98]  (page 84).

It has means \(E[X] =\mu_1\), \(E[Y] =\mu_2\), and variances var \([X] = \sigma_1^2\), var \([Y] = \sigma_2^2\) such that \(\sigma_1 > 0\) and \(\sigma_2 > 0\). The correlation between \(X\) and \(Y\) is \(\rho\). Its density function is

\[ f (x, y) = \frac{1}{2\pi\sigma_1\sigma_2\sqrt{1-\rho^2}}e^{-T} \tag{f1binormal} \]

\[ T = \frac{1}{2(1-\rho^2)}\left[\left(\frac{x-\mu_1}{\sigma_1}\right)^2 - 2\rho\left(\frac{x-\mu_1}{\sigma_1}\right) \left(\frac{y-\mu_2}{\sigma_2}\right) + \left(\frac{y-\mu_2}{\sigma_2}\right)^2\right] \]

and the corresponding distribution function is (the cdf method)

\[ \Phi(\mu_1, \sigma_1, x, \mu_2, \sigma_2, y, \rho) = \frac{1}{2\pi\sigma_1\sigma_2\sqrt{1-\rho^2}} \int_{-\infty}^x dx \int_{-\infty}^y dy  e^{-T}. \tag{cdf1binormal} \]

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

\[ \overline{\Phi}(\mu_1, \sigma_1, x, \mu_2, \sigma_2, y, \rho) = \frac{1}{2\pi\sigma_1\sigma_2\sqrt{1-\rho^2}} \int^{\infty}_x dx \int^{\infty}_y dy  e^{-T}. \tag{cdf3binormal} \]

When \(\mu_1=\mu_2=0\) and \(\sigma_1=\sigma_2=1\), we have the standard binormal distribution, with corresponding distribution function

\[ \Phi(x, y, \rho) = \frac{1}{2\pi\sqrt{1-\rho^2}} \int_{-\infty}^x dx \int_{-\infty}^y dy  e^{-S} \tag{cdf2binormal} \]

\[ S = \frac{x^2 - 2\rho x y + y^2}{2(1-\rho^2)}. \]

Member Function Documentation

◆ barF() [1/2]

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

Computes the standard upper binormal distribution with \(\mu_1 = \mu_2 = 0\) and \(\sigma_1 = \sigma_2 = 1\).

Uses the fast Drezner-Wesolowsky method described in [54] . The absolute error is expected to be smaller than \(2 \cdot10^{-7}\).

◆ barF() [2/2]

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

Computes the upper binormal distribution function ( cdf3binormal ) with parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho.

Uses the fast Drezner-Wesolowsky method described in [54] . The absolute error is expected to be smaller than \(2 \cdot10^{-7}\).

◆ cdf() [1/2]

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

Computes the standard binormal distribution ( cdf2binormal ) using the fast Drezner-Wesolowsky method described in [54] .

The absolute error is expected to be smaller than \(2 \cdot10^{-7}\).

◆ cdf() [2/2]

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

Computes the binormal distribution function ( cdf1binormal ) with parameters \(\mu_1\) = mu1, \(\mu_2\) = mu2, \(\sigma_1\) = sigma1, \(\sigma_2\) = sigma2 and \(\rho\) = rho.

Uses the fast Drezner-Wesolowsky method described in [54] . The absolute error is expected to be smaller than \(2 \cdot10^{-7}\).


The documentation for this class was generated from the following file: