SSJ
V. labo.

umontreal.iro.lecuyer.probdist
Class ChiSquareDist

java.lang.Object
  extended by umontreal.iro.lecuyer.probdist.ContinuousDistribution
      extended by umontreal.iro.lecuyer.probdist.ChiSquareDist
All Implemented Interfaces:
Distribution
Direct Known Subclasses:
ChiSquareDistQuick

public class ChiSquareDist
extends ContinuousDistribution

ChiSquareDist

Extends the class ContinuousDistribution for the chi-square distribution with n degrees of freedom, where n is a positive integer[#!tJOH95a!#, page 416]. Its density is

f (x) = x(n/2)-1e-x/2/(2n/2Γ(n/2)),         for x > 0.

where Γ(x) is the gamma function defined in GammaDist. The chi-square distribution is a special case of the gamma distribution with shape parameter n/2 and scale parameter 1/2. Therefore, one can use the methods of GammaDist for this distribution.

The non-static versions of the methods cdf, barF, and inverseF call the static version of the same name.


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
ChiSquareDist(int n)
          .
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
static double barF(int n, int d, double x)
          .
 double cdf(double x)
          .
static double cdf(int n, int d, double x)
          .
 double density(double x)
          Returns f (x), the density evaluated at x.
static double density(int n, double x)
          .
static ChiSquareDist getInstanceFromMLE(double[] x, int m)
          .
 double getMean()
          Returns the mean.
static double getMean(int n)
          .
static double[] getMLE(double[] x, int m)
          .
static double[] getMomentsEstimate(double[] x, int m)
          .
 int getN()
          .
 double[] getParams()
          .
 double getStandardDeviation()
          Returns the standard deviation.
static double getStandardDeviation(int n)
          .
 double getVariance()
          Returns the variance.
static double getVariance(int n)
          .
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
static double inverseF(int n, double u)
          .
 void setN(int n)
          .
 String toString()
          .
 
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ChiSquareDist

public ChiSquareDist(int n)
. \begin{tabb}
 Constructs a chi-square distribution with \texttt{n} degrees of freedom.
 \end{tabb}

Method Detail

density

public double density(double x)
Description copied from class: ContinuousDistribution
Returns f (x), the density evaluated at x.

Specified by:
density in class ContinuousDistribution
Parameters:
x - value at which the density is evaluated
Returns:
density function evaluated at x

cdf

public double cdf(double x)
Description copied from interface: Distribution
. \begin{tabb}Returns the distribution function $F(x)$.
 \end{tabb}
xvalue at which the distribution function is evaluated distribution function evaluated at x


barF

public double barF(double x)
Description copied from class: ContinuousDistribution
Returns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x).

Specified by:
barF in interface Distribution
Overrides:
barF in class ContinuousDistribution
Parameters:
x - value at which the complementary distribution function is evaluated
Returns:
complementary distribution function evaluated at x

inverseF

public double inverseF(double u)
Description copied from class: ContinuousDistribution
Returns the inverse distribution function x = F-1(u). Restrictions: u∈[0, 1].

Specified by:
inverseF in interface Distribution
Overrides:
inverseF in class ContinuousDistribution
Parameters:
u - value at which the inverse distribution function is evaluated
Returns:
the inverse distribution function evaluated at u

getMean

public double getMean()
Description copied from class: ContinuousDistribution
Returns the mean.

Specified by:
getMean in interface Distribution
Overrides:
getMean in class ContinuousDistribution
Returns:
the mean

getVariance

public double getVariance()
Description copied from class: ContinuousDistribution
Returns the variance.

Specified by:
getVariance in interface Distribution
Overrides:
getVariance in class ContinuousDistribution
Returns:
the variance

getStandardDeviation

public double getStandardDeviation()
Description copied from class: ContinuousDistribution
Returns the standard deviation.

Specified by:
getStandardDeviation in interface Distribution
Overrides:
getStandardDeviation in class ContinuousDistribution
Returns:
the standard deviation

density

public static double density(int n,
                             double x)
. \begin{tabb}Computes the density function
 for a {\em chi-square\/} distribution with $n$\ degrees of freedom.
 \end{tabb}


cdf

public static double cdf(int n,
                         int d,
                         double x)
. \begin{tabb}
 Computes the chi-square distribution function with $n$\ degrees of...
 ...eturn $d$\ decimals digits of precision,
 but there is no guarantee.
 \end{tabb}


barF

public static double barF(int n,
                          int d,
                          double x)
. \begin{tabb}
 Computes the complementary chi-square distribution function with $...
 ...return $d$\ decimals digits
 of precision, but there is no guarantee.
 \end{tabb}


inverseF

public static double inverseF(int n,
                              double u)
. \begin{tabb}
 Computes an approximation of $F^{-1}(u)$, where $F$\ is the
 chi-s...
 ... is 2, 5, and 8 times slower,
 respectively, than the current method.
 \end{tabb}


getMLE

public static double[] getMLE(double[] x,
                              int m)
. \begin{tabb}
 Estimates the parameter $n$\ of the chi-square distribution
 using...
 ..., m-1$. The estimate is returned in element 0
 of the returned array.
 \end{tabb}
xthe list of observations to use to evaluate parameters mthe number of observations to use to evaluate parameters returns the parameter [$ \hat{{n}}$]


getInstanceFromMLE

public static ChiSquareDist getInstanceFromMLE(double[] x,
                                               int m)
. \begin{tabb}
 Creates a new instance of a chi-square distribution with parameter...
 ...thod based on the $m$\ observations $x[i]$,
 $i = 0, 1, \ldots, m-1$.
 \end{tabb}
xthe list of observations to use to evaluate parameters mthe number of observations to use to evaluate parameters


getMean

public static double getMean(int n)
. \begin{tabb}Computes and returns the mean $E[X] = n$\ of the
 chi-square distribution with parameter $n$.
 \end{tabb}
the mean of the Chi-square distribution E[X] = n


getMomentsEstimate

public static double[] getMomentsEstimate(double[] x,
                                          int m)
. \begin{tabb}
 Estimates and returns the parameter [$\hat{n}$] of the chi-square
 ...
 ...d on the $m$\ observations
 in table $x[i]$, $i = 0, 1, \ldots, m-1$.
 \end{tabb}
xthe list of observations to use to evaluate parameters mthe number of observations to use to evaluate parameters returns the parameter [[tex2html_wrap_inline275]]


getVariance

public static double getVariance(int n)
. \begin{tabb}Returns the variance $\mbox{Var}[X] = 2n$
 of the chi-square distribution with parameter $n$.
 \end{tabb}
the variance of the chi-square distribution VarX] = 2n


getStandardDeviation

public static double getStandardDeviation(int n)
. \begin{tabb}Returns the standard deviation
 of the chi-square distribution with parameter $n$.
 \end{tabb}
the standard deviation of the chi-square distribution


getN

public int getN()
. \begin{tabb}Returns the parameter $n$\ of this object.
 \end{tabb}


setN

public void setN(int n)
. \begin{tabb}Sets the parameter $n$\ of this object.
 \end{tabb}


getParams

public double[] getParams()
. \begin{tabb}
 Return a table containing the parameters of the current distribution.
 \end{tabb}

 


toString

public String toString()
. \begin{hide}
 \par
 \begin{tabb}
 Returns a \texttt{String} containing information about the current distribution.
 \end{tabb}\end{hide}

Overrides:
toString in class Object

SSJ
V. labo.

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