SSJ
V. 1.2.5.

umontreal.iro.lecuyer.probdistmulti
Class BiStudentDist

java.lang.Object
  extended by umontreal.iro.lecuyer.probdistmulti.ContinuousDistributionMulti
      extended by umontreal.iro.lecuyer.probdistmulti.ContinuousDistribution2Dim
          extended by umontreal.iro.lecuyer.probdistmulti.BiStudentDist

public class BiStudentDist
extends ContinuousDistribution2Dim

Extends the class ContinuousDistribution2Dim for the standard bivariate Student's t distribution. The correlation between X and Y is r and the number of degrees of freedom is ν. Its probability density is

f (x, y) = (1 + (x2 -2ρxy + y2)/(ν(1 - ρ2)))-(ν+2)/2/(2π(1-r^2)1/2),

and the corresponding distribution function (the cdf) is

Tν(x, y, r) = ∫-∞xdx-∞ydy f (x, y)/(2π(1 - r^2)1/2).

We also define the upper distribution function called barF as

bar(T)ν(x, y, r) = ∫xdxydy f (x, y)/(2π(1 - r^2)1/2).


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdistmulti.ContinuousDistribution2Dim
decPrec
 
Constructor Summary
BiStudentDist(int nu, double rho)
          Constructs a BiStudentDist object with correlation ρ = rho and ν = nu degrees of freedom.
 
Method Summary
 double barF(double x, double y)
          .
static double barF(int nu, double x, double y, double rho)
          Computes the standard upper bivariate Student's t distribution.
 double cdf(double x, double y)
          .
static double cdf(int nu, double x, double y, double rho)
          Computes the standard bivariate Student's t distribution using the method described in.
 double density(double x, double y)
          Returns f (x, y), the density of (X, Y) evaluated at (x, y).
static double density(int nu, double x, double y, double rho)
          Computes the standard bivariate Student's t density function with correlation ρ = rho and ν = nu degrees of freedom.
 double[][] getCorrelation()
          Returns the correlation matrix of the distribution, defined as ρij = σij/(σ_iiσ_jj)1/2.
static double[][] getCorrelation(int nu, double rho)
          Returns the correlation matrix of the bivariate Student's t distribution.
 double[][] getCovariance()
          Returns the variance-covariance matrix of the distribution, defined as
σij = E[(Xi - μi)(Xj - μj)].
static double[][] getCovariance(int nu, double rho)
          Returns the covariance matrix of the bivariate Student's t distribution.
 double[] getMean()
          Returns the mean vector of the distribution, defined as μi = E[Xi].
static double[] getMean(int nu, double rho)
          Returns the mean vector E[X] = (0, 0) of the bivariate Student's t distribution.
 
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

BiStudentDist

public BiStudentDist(int nu,
                     double rho)
Constructs a BiStudentDist object with correlation ρ = rho and ν = nu degrees of freedom.

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)

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)

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] = ∫xdsydt 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)

density

public static double density(int nu,
                             double x,
                             double y,
                             double rho)
Computes the standard bivariate Student's t density function with correlation ρ = rho and ν = nu degrees of freedom.


cdf

public static double cdf(int nu,
                         double x,
                         double y,
                         double rho)
Computes the standard bivariate Student's t distribution using the method described in. The code for the cdf was translated directly from the Matlab code written by Alan Genz and available from his web page at http://www.math.wsu.edu/faculty/genz/homepage (the code is copyrighted by Alan Genz and is included in this package with the kind permission of the author). The correlation is ρ = rho and the number of degrees of freedom is ν = nu.


barF

public static double barF(int nu,
                          double x,
                          double y,
                          double rho)
Computes the standard upper bivariate Student's t distribution.


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(int nu,
                               double rho)
Returns the mean vector E[X] = (0, 0) of the bivariate Student's t 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(int nu,
                                       double rho)
Returns the covariance matrix of the bivariate Student's t 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(int nu,
                                        double rho)
Returns the correlation matrix of the bivariate Student's t distribution.


SSJ
V. 1.2.5.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.