BETNDF

This function evaluates the noncentral beta cumulative distribution function (CDF).

Function Return Value

BETNDF — Probability that a random variable from a beta distribution having shape parameters SHAPE1 and SHAPE2 and noncentrality parameter LAMBDA will be less than or equal to X. (Output)

Required Arguments

X — Argument for which the noncentral beta cumulative distribution function is to be evaluated. (Input)
X must be non‑negative and less than or equal to 1.

SHAPE1 — First shape parameter of the noncentral beta distribution. (Input)
SHAPE1 must be positive.

SHAPE2 — Second shape parameter of the noncentral beta distribution. (Input)
SHAPE2 must be positive.

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

FORTRAN 90 Interface

Generic: BETNDF (X, SHAPE1, SHAPE2, LAMBDA)

Specific: The specific interface names are S_BETNDF and D_BETNDF.

Description

The noncentral beta distribution is a generalization of the beta distribution. If Z is a noncentral chi‑square random variable with noncentrality parameter λ and 2α1 degrees of freedom, and Y is a chi‑square random variable with 2α2 degrees of freedom which is statistically independent of Z, then

 

is a noncentral beta‑distributed random variable and

 

is a noncentral F‑distributed random variable. The CDF for noncentral beta variable X can thus be simply defined in terms of the noncentral F CDF:

 

where is a noncentral beta CDF with x = x, α1 = SHAPE1, α2 = SHAPE2, and noncentrality parameter λ = LAMBDA; is a noncentral F CDF with argument f, numerator and denominator degrees of freedom 2α1 and 2α2 respectively, and noncentrality parameter λ and:

 

(See documentation for function FNDF for a discussion of how the noncentral F CDF is defined and calculated.)

With a noncentrality parameter of zero, the noncentral beta distribution is the same as the beta distribution.

Example

This example traces out a portion of a noncentral beta distribution with parameters SHAPE1 = 50, SHAPE2 = 5, and LAMBDA = 10.

 

USE UMACH_INT

USE BETNDF_INT

USE FNDF_INT

IMPLICIT NONE

INTEGER NOUT, I

REAL X, LAMBDA, SHAPE1, SHAPE2, &

BCDFV, FCDFV, F(8)

 

DATA F /0.0, 0.4, 0.8, 1.2, &

1.6, 2.0, 2.8, 4.0 /

 

CALL UMACH (2, NOUT)

SHAPE1 = 50.0

SHAPE2 = 5.0

LAMBDA = 10.0

 

WRITE (NOUT,'(/" SHAPE1: ", F4.0, &

& "; SHAPE2: ", F4.0, &

& "; LAMBDA: ", F4.0 // &

& 6x,"X",6x,"NCBETCDF(X)",3x,"NCBETCDF(X)"/ &

& 14x,"expected")') SHAPE1, SHAPE2, LAMBDA

 

DO I = 1, 8

X = (SHAPE1*F(I)) / (SHAPE1*F(I) + SHAPE2)

FCDFV = FNDF(F(I),2*SHAPE1,2*SHAPE2,LAMBDA)

BCDFV = BETNDF(X, SHAPE1, SHAPE2, LAMBDA)

WRITE (NOUT,'(2X, F8.6, 2(2X, E12.6))') &

X, FCDFV, BCDFV

END DO

END

Output

 

SHAPE1: 50.; SHAPE2: 5.; LAMBDA: 10.

 

X NCBETCDF(X) NCBETCDF(X)

expected

0.000000 0.000000E+00 0.000000E+00

0.800000 0.488790E-02 0.488790E-02

0.888889 0.202633E+00 0.202633E+00

0.923077 0.521143E+00 0.521143E+00

0.941176 0.733853E+00 0.733853E+00

0.952381 0.850413E+00 0.850413E+00

0.965517 0.947125E+00 0.947125E+00

0.975610 0.985358E+00 0.985358E+00