Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.probdist
Class StudentDist

    java.lang.Object
      umontreal.iro.lecuyer.probdist.ContinuousDistribution
          umontreal.iro.lecuyer.probdist.StudentDist

All Implemented Interfaces:
  Distribution

    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`.

The non-static methods `cdf` and `barF` use the same algorithm as in `cdf`.

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
`static double` | `barF(int n, double x)` Computes the complementary distribution function bar(F)(x).
`double` | `cdf(double x)` Returns the distribution function F(x).
`static double` | `cdf(int n, double x)` Returns an approximation for the Student-t distribution function with n degrees of freedom.
`static double` | `cdf2(int n, int d, double x)` Returns an approximation of the Student-t distribution function with n degrees of freedom.
`double` | `density(double x)` Returns f (x), the density evaluated at x.
`static double` | `density(int n, double x)` Computes the density function for 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.
`static double[]` | `getMaximumLikelihoodEstimate(double[] x, int m)` Deprecated.
`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)` Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`.
`static double` | `inverseF(int n, double u)` Returns an approximation of F-1(u), where F is the 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
`barF, inverseBisection, inverseBrent`

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`

### inverseF

    public double inverseF(double u)

  Description copied from class: `ContinuousDistribution`
  Computes and returns the inverse distribution function x = F-1(u), by calling the method `inverseBrent`. 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 for a Student-t distribution with n degrees of freedom.

### cdf

    public static double cdf(int n,
                             double x)

  Returns an approximation for the Student-t distribution function with n degrees of freedom. Gives at least 12 decimals of precision for n <= 103, and at least 10 decimals for 103 < n <= 105.

### cdf2

    public static double cdf2(int n,
                              int d,
                              double x)

  Returns an approximation of the Student-t distribution function with n degrees of freedom. Uses the relationship

  2F(x) = | In/2, 1/2(n/(n + x2)) | for x < 0,
  2F(x) = | I1/2, n/2(x2/(n + x2)) | for x >= 0,

  where Iα, β is the beta distribution function with parameters α and β (also called the incomplete beta ratio) defined in `BetaDist`, which is approximated by calling `BetaDist.cdf`. The function tries to return d decimals digits of precision (but there is no guarantee). This method is much slower (twenty to forty times, depending on parameters) than `cdf`, but could be used if precision is important.

### barF

    public static double barF(int n,
                              double x)

  Computes the complementary distribution function bar(F)(x).

### inverseF

    public static double inverseF(int n,
                                  double u)

  Returns an approximation of F-1(u), where F is the Student-t distribution function with n degrees of freedom. Uses an approximation giving at least 5 decimal digits of precision when n >= 8 or n <= 2, and 3 decimal digits of precision when 3 <= n <= 7 .

### 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)]

### getMaximumLikelihoodEstimate

    @Deprecated
    public static double[] getMaximumLikelihoodEstimate(double[] x,
                                                                   int m)

  Deprecated.

  Same as `getMLE`.

### 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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