FNIN

This function evaluates the inverse of the noncentral F cumulative distribution function (CDF).

Function Return Value

FNIN — Function value, the value of the inverse of the cumulative distribution function evaluated at P. The probability that a noncentral F random variable takes a value less than or equal to FNIN is P. (Output)

Required Arguments

P — Probability for which the inverse of the noncentral F cumulative distribution function is to be evaluated. (Input)
P must be non‑negative and less than 1.

DF1 — Number of numerator degrees of freedom of the noncentral F distribution. (Input)
DF1 must be positive.

DF2 — Number of denominator degrees of freedom of the noncentral F distribution. (Input)
DF2 must be positive.

LAMBDA — Noncentrality parameter. (Input)
LAMBDA must be non‑negative.

FORTRAN 90 Interface

Generic: FNIN (P, DF1, DF2, LAMBDA)

Specific: The specific interface names are S_FNIN and D_FNIN.

Description

If X is a noncentral chi‑square random variable with noncentrality parameter λ and ν1 degrees of freedom, and Y is a chi‑square random variable with ν2 degrees of freedom which is statistically independent of X, then

 

is a noncentral F‑distributed random variable whose CDF is given by

 

where:

 

 

 

 

 

 

 

 

and Γ() is the gamma function, and p = CDF(f) is the probability that F  f. The correspondence between the arguments of function FNIN (P,DF1,DF2,LAMBDA) and the variables in the above equations is as follows: ν1 = DF1, ν2 = DF2, λ = LAMBDA, and p = P.

Function FNIN evaluates

 

Function FNIN uses bisection and modified regula falsi search algorithms to invert the distribution function CDF(f), which is evaluated using function FNDF. For sufficiently small p, an accurate approximation of CDF 1(p) can be used which requires no such inverse search algorithms.

Example

This example traces out a portion of an inverse noncentral F distribution with parameters DF1 = 100, DF2 = 10, and LAMBDA = 10.

 

USE UMACH_INT

USE FNDF_INT

USE FNIN_INT

IMPLICIT NONE

INTEGER NOUT, I

REAL F, LAMBDA, DF1, DF2, CDF, CDFINV,F0(8)

DATA F0 / 0.0, .4, .8, 1.2, 1.6, 2.0, 2.8, 4.0 /

 

CALL UMACH (2, NOUT)

    DF1 = 100.0

      DF2 = 10.0

      LAMBDA = 10.0

      WRITE (NOUT,'("DF1: ", F4.0, ";  DF2: ", F4.0, &

         ";  LAMBDA: ", F4.0 // "   F     P = CDF(F)     CDFINV(P)")')&

         DF1, DF2, LAMBDA

DO I = 1, 8

F = F0(I)

CDF = FNDF(F, DF1, DF2, LAMBDA)

CDFINV = FNIN(CDF, DF1, DF2, LAMBDA)

WRITE (NOUT,'(1X, F5.1, 2(2X, E12.6))') F, CDF, CDFINV

END DO

END

Output

 

DF1: 100.; DF2: 10.; LAMBDA: 10.

 

F P = CDF(F) CDFINV(P)

0.0 0.000000E+00 0.000000E+00

0.4 0.488790E-02 0.400000E+00

0.8 0.202633E+00 0.800000E+00

1.2 0.521143E+00 0.120000E+01

1.6 0.733853E+00 0.160000E+01

2.0 0.850413E+00 0.200000E+01

2.8 0.947125E+00 0.280000E+01

4.0 0.985358E+00 0.400000E+01