SSJ  3.3.1
Stochastic Simulation in Java
Classes | Public Member Functions | Static Public Member Functions | Static Protected Attributes | List of all members
ChiSquareNoncentralDist Class Reference

Extends the class ContinuousDistribution for the noncentral chi-square distribution with \(\nu\) degrees of freedom and noncentrality parameter \(\lambda\), where \(\nu> 0\) and \(\lambda> 0\) [100]  (page 436). More...

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

Public Member Functions

 ChiSquareNoncentralDist (double nu, double lambda)
 Constructs a noncentral chi-square distribution with \(\nu= \) nu degrees of freedom and noncentrality parameter \(\lambda= \) lambda.
 
double density (double x)
 
double cdf (double x)
 Returns the distribution function \(F(x)\). More...
 
double barF (double x)
 Returns \(\bar{F}(x) = 1 - F(x)\). More...
 
double inverseF (double u)
 Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ). More...
 
double getMean ()
 Returns the mean of the distribution function.
 
double getVariance ()
 Returns the variance of the distribution function.
 
double getStandardDeviation ()
 Returns the standard deviation of the distribution function.
 
double getNu ()
 Returns the parameter \(\nu\) of this object.
 
double getLambda ()
 Returns the parameter \(\lambda\) of this object.
 
void setParams (double nu, double lambda)
 Sets the parameters \(\nu=\) nu and \(\lambda= \) lambda of this object.
 
double [] getParams ()
 Returns a table containing the parameters of the current distribution.
 
String toString ()
 Returns a String containing information about the current distribution.
 
- Public Member Functions inherited from ContinuousDistribution
abstract double density (double x)
 Returns \(f(x)\), the density evaluated at \(x\). More...
 
double barF (double x)
 Returns the complementary distribution function. More...
 
double inverseBrent (double a, double b, double u, double tol)
 Computes the inverse distribution function \(x = F^{-1}(u)\), using the Brent-Dekker method. More...
 
double inverseBisection (double u)
 Computes and returns the inverse distribution function \(x = F^{-1}(u)\), using bisection. More...
 
double inverseF (double u)
 Returns the inverse distribution function \(x = F^{-1}(u)\). More...
 
double getMean ()
 Returns the mean. More...
 
double getVariance ()
 Returns the variance. More...
 
double getStandardDeviation ()
 Returns the standard deviation. More...
 
double getXinf ()
 Returns \(x_a\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More...
 
double getXsup ()
 Returns \(x_b\) such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More...
 
void setXinf (double xa)
 Sets the value \(x_a=\) xa, such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More...
 
void setXsup (double xb)
 Sets the value \(x_b=\) xb, such that the probability density is 0 everywhere outside the interval \([x_a, x_b]\). More...
 

Static Public Member Functions

static double density (double nu, double lambda, double x)
 Computes the density function ( nc-fchi2 ) for a noncentral chi-square distribution with \(\nu= \) nu degrees of freedom and parameter \(\lambda= \) lambda.
 
static double cdf (double nu, double lambda, double x)
 Computes the noncentral chi-square distribution function ( nc-cdfchi2 ) with \(\nu= \) nu degrees of freedom and parameter \(\lambda= \) lambda. More...
 
static double barF (double nu, double lambda, double x)
 Computes the complementary noncentral chi-square distribution function with \(\nu= \) nu degrees of freedom and parameter \(\lambda= \) lambda.
 
static double inverseF (double nu, double lambda, double u)
 Computes the inverse of the noncentral chi-square distribution with \(\nu= \) nu degrees of freedom and parameter \(\lambda= \) lambda.
 
static double getMean (double nu, double lambda)
 Computes and returns the mean \(E[X] = \nu+ \lambda\) of the noncentral chi-square distribution with parameters \(\nu= \) nu and \(\lambda= \) lambda. More...
 
static double getVariance (double nu, double lambda)
 Computes and returns the variance \(\mbox{Var}[X] = 2(\nu+ 2\lambda)\) of the noncentral chi-square distribution with parameters \(\nu=\) nu and \(\lambda= \) lambda. More...
 
static double getStandardDeviation (double nu, double lambda)
 Computes and returns the standard deviation of the noncentral chi-square distribution with parameters \(\nu=\) nu and \(\lambda= \) lambda. More...
 

Static Protected Attributes

static final int PREC = 15
 
static final double EPS = Num.TEN_NEG_POW[PREC]
 
- Static Protected Attributes inherited from ContinuousDistribution
static final double XBIG = 100.0
 
static final double XBIGM = 1000.0
 
static final double [] EPSARRAY
 

Additional Inherited Members

- Public Attributes inherited from ContinuousDistribution
int decPrec = 15
 
- Protected Attributes inherited from ContinuousDistribution
double supportA = Double.NEGATIVE_INFINITY
 
double supportB = Double.POSITIVE_INFINITY
 

Detailed Description

Extends the class ContinuousDistribution for the noncentral chi-square distribution with \(\nu\) degrees of freedom and noncentrality parameter \(\lambda\), where \(\nu> 0\) and \(\lambda> 0\) [100]  (page 436).

Its density is

\[ f(x) =\frac{e^{-(x + \lambda)/2}}{2} \left(\frac{x}{\lambda}\right)^{(\nu-2)/4} I_{\nu/2 - 1}\left(\sqrt{\lambda x}\right) \qquad\mbox{for } x > 0, \tag{nc-fchi2} \]

where \(I_{\nu}(x)\) is the modified Bessel function of the first kind of order \(\nu\) given by

\[ I_{\nu}(z) = \sum_{j=0}^{\infty}\frac{(z/2)^{\nu+ 2j}}{j!\; \Gamma(\nu+ j +1)}, \]

where \(\Gamma(x)\) is the gamma function. Notice that this distribution is more general than the chi-square distribution since its number of degrees of freedom can be any positive real number. For \(\lambda= 0\) and \(\nu\) a positive integer, we have the ordinary chi-square distribution.

The cumulative probability function can be written as

\[ P[X \le x] = \sum_{j=0}^{\infty}\frac{e^{-\lambda/2}(\lambda/2)^j}{j!} P[\chi^2_{\nu+ 2j} \le x], \tag{nc-cdfchi2} \]

where \(\chi^2_{\nu+ 2j}\) is the central chi-square distribution with \(\nu+ 2j\) degrees of freedom.

Member Function Documentation

◆ barF()

double barF ( double  x)

Returns \(\bar{F}(x) = 1 - F(x)\).

Parameters
xvalue at which the complementary distribution function is evaluated
Returns
complementary distribution function evaluated at x

Implements Distribution.

◆ cdf() [1/2]

double cdf ( double  x)

Returns the distribution function \(F(x)\).

Parameters
xvalue at which the distribution function is evaluated
Returns
distribution function evaluated at x

Implements Distribution.

◆ cdf() [2/2]

static double cdf ( double  nu,
double  lambda,
double  x 
)
static

Computes the noncentral chi-square distribution function ( nc-cdfchi2 ) with \(\nu= \) nu degrees of freedom and parameter \(\lambda= \) lambda.

For \(\lambda< 1000\), we use a reasonnably efficient method of summing the cumulative function ( nc-cdfchi2 ) by using recurrence relations to compute both the Poisson and the chi-square probabilities in terms of neighboring probability terms. For \(\lambda\ge1000\), we use the normal approximation given in [203] , except very near the mean where we use the central chi square approximation from [200] . This function returns at least 6 decimal degits of precision nearly everywhere.

◆ getMean()

static double getMean ( double  nu,
double  lambda 
)
static

Computes and returns the mean \(E[X] = \nu+ \lambda\) of the noncentral chi-square distribution with parameters \(\nu= \) nu and \(\lambda= \) lambda.

Returns
the mean of the Noncentral noncentral chi-square distribution

◆ getStandardDeviation()

static double getStandardDeviation ( double  nu,
double  lambda 
)
static

Computes and returns the standard deviation of the noncentral chi-square distribution with parameters \(\nu=\) nu and \(\lambda= \) lambda.

Returns
the standard deviation of the noncentral chi-square distribution

◆ getVariance()

static double getVariance ( double  nu,
double  lambda 
)
static

Computes and returns the variance \(\mbox{Var}[X] = 2(\nu+ 2\lambda)\) of the noncentral chi-square distribution with parameters \(\nu=\) nu and \(\lambda= \) lambda.

Returns
the variance of the noncentral chi-square distribution

◆ inverseF()

double inverseF ( double  u)

Returns the inverse distribution function \(F^{-1}(u)\), defined in ( inverseF ).

Parameters
uvalue in the interval \((0,1)\) for which the inverse distribution function is evaluated
Returns
the inverse distribution function evaluated at u

Implements Distribution.


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