SSJ
V. 2.6.

umontreal.iro.lecuyer.probdist
Class StudentDist

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

public class StudentDist
extends ContinuousDistribution

Extends the class ContinuousDistribution for the Student t-distribution with n degrees of freedom, where n is a positive integer. Its density is

f (x) = [Γ((n + 1)/2)/(Γ(n/2)(πn)1/2)][1 + x2/n]-(n+1)/2        for - ∞ < x < ∞,

where Γ(x) is the gamma function defined in GammaDist.


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
StudentDist(int n)
          Constructs a StudentDist object with n degrees of freedom.
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
static double barF(int n, double x)
          Computes the complementary distribution function v = bar(F)(x) with n degrees of freedom.
 double cdf(double x)
          Returns the distribution function F(x).
static double cdf(int n, double x)
          Computes the Student t-distribution function u = F(x) with n degrees of freedom.
static double cdf2(int n, int d, double x)
          Deprecated. 
 double density(double x)
          Returns f (x), the density evaluated at x.
static double density(int n, double x)
          Computes the density function of a Student t-distribution with n degrees of freedom.
static StudentDist getInstanceFromMLE(double[] x, int m)
          Creates a new instance of a Student t-distribution with parameter n estimated using the maximum likelihood method based on the m observations x[i], i = 0, 1,…, m - 1.
 double getMean()
          Returns the mean.
static double getMean(int n)
          Returns the mean E[X] = 0 of the Student t-distribution with parameter n.
static double[] getMLE(double[] x, int m)
          Estimates the parameter n of the Student t-distribution using the maximum likelihood method, from the m observations x[i], i = 0, 1,…, m - 1.
 int getN()
          Returns the parameter n associated with this object.
 double[] getParams()
          Return a table containing the parameter of the current distribution.
 double getStandardDeviation()
          Returns the standard deviation.
static double getStandardDeviation(int n)
          Computes and returns the standard deviation of the Student t-distribution with parameter n.
 double getVariance()
          Returns the variance.
static double getVariance(int n)
          Computes and returns the variance Var[X] = n/(n - 2) of the Student t-distribution with parameter n.
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
static double inverseF(int n, double u)
          Returns the inverse x = F-1(u) of Student t-distribution function with n degrees of freedom.
 void setN(int n)
          Sets the parameter n associated with this object.
 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

StudentDist

public StudentDist(int n)
Constructs a StudentDist object with n degrees of freedom.

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
Returns the distribution function F(x).

Parameters:
x - value at which the distribution function is evaluated
Returns:
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)
Computes the density function of a Student t-distribution with n degrees of freedom.


cdf

public static double cdf(int n,
                         double x)
Computes the Student t-distribution function u = F(x) with n degrees of freedom. Gives 13 decimal digits of precision for n <= 105. For n > 105, gives at least 6 decimal digits of precision everywhere, and at least 9 decimal digits of precision for all u > 10-15.


cdf2

@Deprecated
public static double cdf2(int n,
                                     int d,
                                     double x)
Deprecated. 

Same as cdf(n, x).


barF

public static double barF(int n,
                          double x)
Computes the complementary distribution function v = bar(F)(x) with n degrees of freedom. Gives 13 decimal digits of precision for n <= 105. For n > 105, gives at least 6 decimal digits of precision everywhere, and at least 9 decimal digits of precision for all v > 10-15.


inverseF

public static double inverseF(int n,
                              double u)
Returns the inverse x = F-1(u) of Student t-distribution function with n degrees of freedom. Gives 13 decimal digits of precision for n <= 105, and at least 9 decimal digits of precision for n > 105.


getMLE

public static double[] getMLE(double[] x,
                              int m)
Estimates the parameter n of the Student t-distribution using the maximum likelihood method, from the m observations x[i], i = 0, 1,…, m - 1. The estimate is returned in a one-element array.

Parameters:
x - the list of observations to use to evaluate parameters
m - the number of observations to use to evaluate parameters
Returns:
returns the parameter [hat(n)]

getInstanceFromMLE

public static StudentDist getInstanceFromMLE(double[] x,
                                             int m)
Creates a new instance of a Student t-distribution with parameter n estimated using the maximum likelihood method based on the m observations x[i], i = 0, 1,…, m - 1.

Parameters:
x - the list of observations to use to evaluate parameters
m - the number of observations to use to evaluate parameters

getMean

public static double getMean(int n)
Returns the mean E[X] = 0 of the Student t-distribution with parameter n.

Returns:
the mean of the Student t-distribution E[X] = 0

getVariance

public static double getVariance(int n)
Computes and returns the variance Var[X] = n/(n - 2) of the Student t-distribution with parameter n.

Returns:
the variance of the Student t-distribution Var[X] = n/(n - 2)

getStandardDeviation

public static double getStandardDeviation(int n)
Computes and returns the standard deviation of the Student t-distribution with parameter n.

Returns:
the standard deviation of the Student t-distribution

getN

public int getN()
Returns the parameter n associated with this object.


setN

public void setN(int n)
Sets the parameter n associated with this object.


getParams

public double[] getParams()
Return a table containing the parameter of the current distribution.


toString

public String toString()
Overrides:
toString in class Object

SSJ
V. 2.6.

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