Class NonCentralChiSquaredDistribution


  • public class NonCentralChiSquaredDistribution
    extends Object
    Implementation of the cumulative distribution function of the non-central Χ2 distribution. The implementation is that of Ding's algorithm, splitting the sum since the first term of the sum is not the largest one (and may be zero). The algorithm uses Kahan summation for the sums and limits the calculation time to avoid infinity loops. The method is currently intended to be used as a benchmark in unit tests only. Note: The implementation currently does not use an alternative algorithm in cases of high non-centrality, like Benton and Krishnamoorthy. Since the number of summation is limited, the method may be inaccurate for high non-centrality.
    Author:
    Christian Fries, Ralph Rudd
    • Constructor Detail

      • NonCentralChiSquaredDistribution

        public NonCentralChiSquaredDistribution​(double degreesOfFreedom,
                                                double nonCentrality)
        Create non-central Χ2 distribution (non-central chi-squared distribution).
        Parameters:
        degreesOfFreedom - The number of degrees of freedom, positive
        nonCentrality - The non-centrality parameter, not negative
    • Method Detail

      • cumulativeDistribution

        public double cumulativeDistribution​(double x)
        Cumulative distribution function of the non-central Χ2 distribution
        Parameters:
        x - A sample point
        Returns:
        The probability of X being below x, given that X is non-central Χ2 distributed
      • getDegreesOfFreedom

        public double getDegreesOfFreedom()
        Returns:
        The number of degrees of freedom
      • getNonCentrality

        public double getNonCentrality()
        Returns:
        The non-centrality parameter