Class TDistribution

    • Field Detail

      • degreesOfFreedom

        private final double degreesOfFreedom
        The degrees of freedom.
    • Constructor Detail

      • TDistribution

        TDistribution​(double degreesOfFreedom)
        Parameters:
        degreesOfFreedom - Degrees of freedom.
    • Method Detail

      • of

        public static TDistribution of​(double degreesOfFreedom)
        Creates a Student's t-distribution.
        Parameters:
        degreesOfFreedom - Degrees of freedom.
        Returns:
        the distribution
        Throws:
        java.lang.IllegalArgumentException - if degreesOfFreedom <= 0
      • getDegreesOfFreedom

        public double getDegreesOfFreedom()
        Gets the degrees of freedom parameter of this distribution.
        Returns:
        the degrees of freedom.
      • survivalProbability

        public double survivalProbability​(double x)
        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 complementary cumulative distribution function.

        By default, this is defined as 1 - cumulativeProbability(x), but the specific implementation may be more accurate.

        Parameters:
        x - Point at which the survival function is evaluated.
        Returns:
        the probability that a random variable with this distribution takes a value greater than x.
      • inverseSurvivalProbability

        public double inverseSurvivalProbability​(double p)
        Computes the inverse survival probability function of this distribution. For a random variable X distributed according to this distribution, the returned value is:

        \[ x = \begin{cases} \inf \{ x \in \mathbb R : P(X \gt x) \le p\} & \text{for } 0 \le p \lt 1 \\ \inf \{ x \in \mathbb R : P(X \gt x) \lt 1 \} & \text{for } p = 1 \end{cases} \]

        By default, this is defined as inverseCumulativeProbability(1 - p), but the specific implementation may be more accurate.

        The default implementation returns:

        Specified by:
        inverseSurvivalProbability in interface ContinuousDistribution
        Overrides:
        inverseSurvivalProbability in class AbstractContinuousDistribution
        Parameters:
        p - Survival probability.
        Returns:
        the smallest (1-p)-quantile of this distribution (largest 0-quantile for p = 1).
      • getMean

        public abstract double getMean()
        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} \]

        Returns:
        the mean, or NaN if it is not defined.
      • getVariance

        public abstract double getVariance()
        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} \]

        Returns:
        the variance, or NaN if it is not defined.
      • getSupportLowerBound

        public double getSupportLowerBound()
        Gets the lower bound of the support. It must return the same value as inverseCumulativeProbability(0), i.e. \( \inf \{ x \in \mathbb R : P(X \le x) \gt 0 \} \).

        The lower bound of the support is always negative infinity.

        Returns:
        negative infinity.
      • getSupportUpperBound

        public double getSupportUpperBound()
        Gets the upper bound of the support. It must return the same value as inverseCumulativeProbability(1), i.e. \( \inf \{ x \in \mathbb R : P(X \le x) = 1 \} \).

        The upper bound of the support is always positive infinity.

        Returns:
        positive infinity.