CHIDF
This function evaluates the chi‑squared cumulative distribution function.
Function Return Value
CHIDF — Function value, the probability that a chi‑squared random variable takes a value less than or equal to CHSQ. (Output)
Required Arguments
CHSQ — Argument for which the chi‑squared distribution function is to be evaluated. (Input)
DF — Number of degrees of freedom of the chi‑squared distribution. (Input)
DF must be positive.
Optional Arguments
COMPLEMENT — Logical. If .TRUE., the complement of the chi‑squared cumulative distribution function is evaluated. If .FALSE., the chi‑squared cumulative distribution function is evaluated. (Input)
See the Description section for further details on the use of COMPLEMENT.
Default: COMPLEMENT = .FALSE..
FORTRAN 90 Interface
Generic: CHIDF (CHSQ, DF [, …])
Specific: The specific interface names are S_CHIDF and D_CHIDF.
FORTRAN 77 Interface
Single: CHIDF (CHSQ, DF)
Double: The double precision name is DCHIDF.
Description
Function CHIDF evaluates the cumulative distribution function, F, of a chi‑squared random variable with DF degrees of freedom, that is, with ν = DF, and x = CHSQ,
where Γ(⋅) is the gamma function. The value of the distribution function at the point x is the probability that the random variable takes a value less than or equal to x.
For ν > νmax = {343 for double precision, 171 for single precision}, CHIDF uses the Wilson‑Hilferty approximation (Abramowitz and Stegun [A&S] 1964, equation 26.4.17) for p in terms of the normal CDF, which is evaluated using function ANORDF.
For ν ≤ νmax , CHIDF uses series expansions to evaluate p: for x < ν, CHIDF calculates p using A&S series 6.5.29, and for x ≥ ν, CHIDF calculates p using the continued fraction expansion of the incomplete gamma function given in A&S equation 6.5.31.
If COMPLEMENT = .TRUE., the value of CHIDF at the point x is 1 ‑ p, where 1 ‑ p is the probability that the random variable takes a value greater than x. In those situations where the desired end result is 1 ‑ p, the user can achieve greater accuracy in the right tail region by using the result returned by CHIDF with the optional argument COMPLEMENT set to .TRUE. rather than by using 1 ‑ p where p is the result returned by CHIDF with COMPLEMENT set to .FALSE..
Figure 1, Chi-Squared Distribution Function
Comments
Informational Errors
Type |
Code |
Description |
1 |
1 |
Since the input argument, CHSQ, is less than zero, the distribution function is zero at CHSQ. |
2 |
3 |
The normal distribution is used for large degrees of freedom. However, it has produced underflow. Therefore, the probability, CHIDF, is set to zero. |
Example
Suppose X is a chi‑squared random variable with 2 degrees of freedom. In this example, we find the probability that X is less than 0.15 and the probability that X is greater than 3.0.
USE CHIDF_INT
USE UMACH_INT
IMPLICIT NONE
INTEGER NOUT
REAL CHSQ, DF, P
CALL UMACH (2, NOUT)
DF = 2.0
CHSQ = 0.15
P = CHIDF(CHSQ,DF)
WRITE (NOUT,99998) P
99998 FORMAT (' The probability that chi-squared with 2 df is less ', &
'than 0.15 is ', F6.4)
CHSQ = 3.0
P = CHIDF(CHSQ,DF, complement=.true.)
WRITE (NOUT,99999) P
99999 FORMAT (' The probability that chi-squared with 2 df is greater ' &
, 'than 3.0 is ', F6.4)
END
Output
The probability that chi-squared with 2 df is less than 0.15 is 0.0723
The probability that chi-squared with 2 df is greater than 3.0 is 0.2231