hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_stat_prob_f_noncentral (g01gd)


    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example


nag_stat_prob_f_noncentral (g01gd) returns the probability associated with the lower tail of the noncentral F or variance-ratio distribution.


[result, ifail] = g01gd(f, df1, df2, rlamda, 'tol', tol, 'maxit', maxit)
[result, ifail] = nag_stat_prob_f_noncentral(f, df1, df2, rlamda, 'tol', tol, 'maxit', maxit)
Note: the interface to this routine has changed since earlier releases of the toolbox:
At Mark 23: tol was made optional (default 0)


The lower tail probability of the noncentral F-distribution with ν1 and ν2 degrees of freedom and noncentrality parameter λ, PFf:ν1,ν2;λ, is defined by
PF : ν1,ν2;λ =j= 0e-λ/2 λ/2jj! ×ν1+ 2jν1+ 2j/2 ν2ν2/2 Bν1+ 2j/2,ν2/2  
×uν1+2j-2/2ν2+ν1+2ju -ν1+2j+ν2/2  
and B·,· is the beta function.
The probability is computed by means of a transformation to a noncentral beta distribution:
where x= ν1f ν1f+ν2  and PβXx:a,b;λ is the lower tail probability integral of the noncentral beta distribution with parameters a, b, and λ.
If ν2 is very large, greater than 106, then a χ2 approximation is used.


Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications


Compulsory Input Parameters

1:     f – double scalar
f, the deviate from the noncentral F-distribution.
Constraint: f>0.0.
2:     df1 – double scalar
The degrees of freedom of the numerator variance, ν1.
Constraint: 0.0<df1106.
3:     df2 – double scalar
The degrees of freedom of the denominator variance, ν2.
Constraint: df2>0.0.
4:     rlamda – double scalar
λ, the noncentrality parameter.
Constraint: 0.0rlamda-2.0logU where U is the safe range parameter as defined by nag_machine_real_safe (x02am).

Optional Input Parameters

1:     tol – double scalar
Default: 0.0
The relative accuracy required by you in the results. If nag_stat_prob_f_noncentral (g01gd) is entered with tol greater than or equal to 1.0 or less than 10×machine precision (see nag_machine_precision (x02aj)), then the value of 10×machine precision is used instead.
2:     maxit int64int32nag_int scalar
The maximum number of iterations to be used.
Constraint: maxit1.

Output Parameters

1:     result – double scalar
The result of the function.
2:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Note: nag_stat_prob_f_noncentral (g01gd) may return useful information for one or more of the following detected errors or warnings.
Errors or warnings detected by the function:
If on exit ifail=1 or 3, then nag_stat_prob_f_noncentral (g01gd) returns 0.0.

Cases prefixed with W are classified as warnings and do not generate an error of type NAG:error_n. See nag_issue_warnings.

On entry,df10.0,
orrlamda>-2.0logU, where U= safe range argument as defined by nag_machine_real_safe (x02am).
The solution has failed to converge in maxit iterations. You should try a larger value of maxit or tol.
The required probability cannot be computed accurately. This may happen if the result would be very close to 0.0 or 1.0. Alternatively the values of df1 and f may be too large. In the latter case you could try using a normal approximation; see Abramowitz and Stegun (1972).
W  ifail=4
The required accuracy was not achieved when calculating the initial value of the central F (or χ2) probability. You should try a larger value of tol. If the χ2 approximation is being used then nag_stat_prob_f_noncentral (g01gd) returns zero otherwise the value returned should be an approximation to the correct value.
An unexpected error has been triggered by this routine. Please contact NAG.
Your licence key may have expired or may not have been installed correctly.
Dynamic memory allocation failed.


The relative accuracy should be as specified by tol. For further details see nag_stat_prob_chisq_noncentral (g01gc) and nag_stat_prob_beta_noncentral (g01ge).

Further Comments

When both ν1 and ν2 are large a Normal approximation may be used and when only ν1 is large a χ2 approximation may be used. In both cases λ is required to be of the same order as ν1. See Abramowitz and Stegun (1972) for further details.


This example reads values from, and degrees of freedom for, F-distributions, computes the lower tail probabilities and prints all these values until the end of data is reached.
function g01gd_example

fprintf('g01gd example results\n\n');

f      = [  5.5     39.9     2.5 ];
df1    = [  1.5      1      20.25];
df2    = [ 25.5      1       1   ];
rlamda = [  3        2       0   ];
p      = f;

fprintf('     f      df1     df2    rlamda     p\n');
for j = 1:numel(f)
   [p(j), ifail] = g01gd( ...
			  f(j), df1(j), df2(j), rlamda(j));

fprintf('%8.3f%8.3f%8.3f%8.3f%8.4f\n', [f; df1; df2; rlamda; p]);

g01gd example results

     f      df1     df2    rlamda     p
   5.500   1.500  25.500   3.000  0.8214
  39.900   1.000   1.000   2.000  0.8160
   2.500  20.250   1.000   0.000  0.5342

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015