Class TDistribution.StudentsTDistribution

    • Field Detail

      • CLOSE_TO_ZERO

        private static final double CLOSE_TO_ZERO
        The threshold for the density function where the power function base minus 1 is close to zero.
        See Also:
        Constant Field Values
      • mvp1Over2

        private final double mvp1Over2
        -(v + 1) / 2, where v = degrees of freedom.
      • densityNormalisation

        private final double densityNormalisation
        Density normalisation factor, sqrt(v) * beta(1/2, v/2), where v = degrees of freedom.
      • logDensityNormalisation

        private final double logDensityNormalisation
        Log density normalisation term, 0.5 * log(v) + log(beta(1/2, v/2)), where v = degrees of freedom.
      • mean

        private final double mean
        Cached value for inverse probability function.
      • variance

        private final double variance
        Cached value for inverse probability function.
    • Constructor Detail

      • StudentsTDistribution

        StudentsTDistribution​(double degreesOfFreedom,
                              double variance)
        Parameters:
        degreesOfFreedom - Degrees of freedom.
        variance - Precomputed variance
    • Method Detail

      • computeVariance

        static double computeVariance​(double degreesOfFreedom)
        Parameters:
        degreesOfFreedom - Degrees of freedom.
        Returns:
        the variance
      • density

        public double density​(double x)
        Description copied from interface: ContinuousDistribution
        Returns the probability density function (PDF) of this distribution evaluated at the specified point x. In general, the PDF is the derivative of the CDF. If the derivative does not exist at x, then an appropriate replacement should be returned, e.g. Double.POSITIVE_INFINITY, Double.NaN, or the limit inferior or limit superior of the difference quotient.
        Parameters:
        x - Point at which the PDF is evaluated.
        Returns:
        the value of the probability density function at x.
      • logDensity

        public double logDensity​(double x)
        Description copied from interface: ContinuousDistribution
        Returns the natural logarithm of the probability density function (PDF) of this distribution evaluated at the specified point x.
        Parameters:
        x - Point at which the PDF is evaluated.
        Returns:
        the logarithm of the value of the probability density function at x.
      • cumulativeProbability

        public double cumulativeProbability​(double x)
        Description copied from interface: ContinuousDistribution
        For a random variable X whose values are distributed according to this distribution, this method returns P(X <= x). In other words, this method represents the (cumulative) distribution function (CDF) for this distribution.
        Parameters:
        x - Point at which the CDF is evaluated.
        Returns:
        the probability that a random variable with this distribution takes a value less than or equal to x.
      • getMean

        public double getMean()
        Description copied from class: TDistribution
        Gets the mean of this distribution.

        For degrees of freedom parameter \( v \), the mean is:

        \[ \mathbb{E}[X] = \begin{cases} 0 & \text{for } v \gt 1 \\ \text{undefined} & \text{otherwise} \end{cases} \]

        Specified by:
        getMean in interface ContinuousDistribution
        Specified by:
        getMean in class TDistribution
        Returns:
        the mean, or NaN if it is not defined.
      • getVariance

        public double getVariance()
        Description copied from class: TDistribution
        Gets the variance of this distribution.

        For degrees of freedom parameter \( v \), the variance is:

        \[ \operatorname{var}[X] = \begin{cases} \frac{v}{v - 2} & \text{for } v \gt 2 \\ \infty & \text{for } 1 \lt v \le 2 \\ \text{undefined} & \text{otherwise} \end{cases} \]

        Specified by:
        getVariance in interface ContinuousDistribution
        Specified by:
        getVariance in class TDistribution
        Returns:
        the variance, or NaN if it is not defined.