SSJ
3.3.1
Stochastic Simulation in Java
|
Extends the class ContinuousDistribution2Dim for the bivariate normal distribution [98] (page 84). More...
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. | |
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)}. \]
|
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}\).
|
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}\).
|
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}\).
|
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}\).