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_chisq_vector (g01sc)

Purpose

nag_stat_prob_chisq_vector (g01sc) returns a number of lower or upper tail probabilities for the χ2χ2-distribution with real degrees of freedom.

Syntax

[p, ivalid, ifail] = g01sc(tail, x, df, 'ltail', ltail, 'lx', lx, 'ldf', ldf)
[p, ivalid, ifail] = nag_stat_prob_chisq_vector(tail, x, df, 'ltail', ltail, 'lx', lx, 'ldf', ldf)

Description

The lower tail probability for the χ2χ2-distribution with νiνi degrees of freedom, P = ( Xi xi : νi) P = ( Xi xi :νi)  is defined by:
xi
P = (Xixi : νi) = 1/( 2νi / 2 Γ (νi / 2) )Xiνi / 21eXi / 2dXi,  xi0 , νi > 0.
0.0
P = (Xixi:νi) = 1 2 νi/2 Γ (νi/2) 0.0 xi Xi νi/2-1 e -Xi/2 dXi ,   xi 0 , νi > 0 .
To calculate P = ( Xi xi : νi) P = ( Xi xi :νi)  a transformation of a gamma distribution is employed, i.e., a χ2χ2-distribution with νiνi degrees of freedom is equal to a gamma distribution with scale parameter 22 and shape parameter νi / 2νi/2.
The input arrays to this function are designed to allow maximum flexibility in the supply of vector parameters by re-using elements of any arrays that are shorter than the total number of evaluations required. See Section [Vectorized s] in the G01 Chapter Introduction for further information.

References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications
Hastings N A J and Peacock J B (1975) Statistical Distributions Butterworth

Parameters

Compulsory Input Parameters

1:     tail(ltail) – cell array of strings
ltail, the dimension of the array, must satisfy the constraint ltail > 0ltail>0.
Indicates whether the lower or upper tail probabilities are required. For j = ((i1)  mod  ltail) + 1 j= ( (i-1) mod ltail ) +1 , for i = 1,2,,max (ltail,lx,ldf)i=1,2,,max(ltail,lx,ldf):
tail(j) = 'L'tailj='L'
The lower tail probability is returned, i.e., pi = P( Xi xi : νi) pi = P( Xi xi :νi) .
tail(j) = 'U'tailj='U'
The upper tail probability is returned, i.e., pi = P( Xi xi : νi) pi = P( Xi xi :νi) .
Constraint: tail(j) = 'L'tailj='L' or 'U''U', for j = 1,2,,ltailj=1,2,,ltail.
2:     x(lx) – double array
lx, the dimension of the array, must satisfy the constraint lx > 0lx>0.
xixi, the values of the χ2χ2 variates with νiνi degrees of freedom with xi = x(j)xi=xj, j = ((i1)  mod  lx) + 1j=((i-1) mod lx)+1.
Constraint: x(j)0.0xj0.0, for j = 1,2,,lxj=1,2,,lx.
3:     df(ldf) – double array
ldf, the dimension of the array, must satisfy the constraint ldf > 0ldf>0.
νiνi, the degrees of freedom of the χ2χ2-distribution with νi = df(j)νi=dfj, j = ((i1)  mod  ldf) + 1j=((i-1) mod ldf)+1.
Constraint: df(j) > 0.0dfj>0.0, for j = 1,2,,ldfj=1,2,,ldf.

Optional Input Parameters

1:     ltail – int64int32nag_int scalar
Default: The dimension of the array tail.
The length of the array tail.
Constraint: ltail > 0ltail>0.
2:     lx – int64int32nag_int scalar
Default: The dimension of the array x.
The length of the array x.
Constraint: lx > 0lx>0.
3:     ldf – int64int32nag_int scalar
Default: The dimension of the array df.
The length of the array df.
Constraint: ldf > 0ldf>0.

Input Parameters Omitted from the MATLAB Interface

None.

Output Parameters

1:     p( : :) – double array
Note: the dimension of the array p must be at least max (ltail,ldf,lx)max(ltail,ldf,lx).
pipi, the probabilities for the χ2χ2 distribution.
2:     ivalid( : :) – int64int32nag_int array
Note: the dimension of the array ivalid must be at least max (ltail,ldf,lx)max(ltail,ldf,lx).
ivalid(i)ivalidi indicates any errors with the input arguments, with
ivalid(i) = 0ivalidi=0
No error.
ivalid(i) = 1ivalidi=1
On entry,invalid value supplied in tail when calculating pipi.
ivalid(i) = 2ivalidi=2
On entry,xi < 0.0xi<0.0.
ivalid(i) = 3ivalidi=3
On entry,νi0.0νi0.0.
ivalid(i) = 4ivalidi=4
The solution has failed to converge while calculating the gamma variate. The result returned should represent an approximation to the solution.
3:     ifail – int64int32nag_int scalar
ifail = 0ifail=0 unless the function detects an error (see [Error Indicators and Warnings]).

Error Indicators and Warnings

Note: nag_stat_prob_chisq_vector (g01sc) may return useful information for one or more of the following detected errors or warnings.
Errors or warnings detected by the function:

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

W ifail = 1ifail=1
On entry, at least one value of x, df or tail was invalid, or the solution failed to converge.
Check ivalid for more information.
  ifail = 2ifail=2
Constraint: ltail > 0ltail>0.
  ifail = 3ifail=3
Constraint: lx > 0lx>0.
  ifail = 4ifail=4
Constraint: ldf > 0ldf>0.
  ifail = 999ifail=-999
Dynamic memory allocation failed.

Accuracy

A relative accuracy of five significant figures is obtained in most cases.

Further Comments

For higher accuracy the transformation described in Section [Description] may be used with a direct call to nag_specfun_gamma_incomplete (s14ba).

Example

function nag_stat_prob_chisq_vector_example
x = [8.26; 6.2; 55.76];
df = [20; 7.5; 45];
tail = {'L'};
% calculate probability
[prob, ivalid, ifail] = nag_stat_prob_chisq_vector(tail, x, df);

fprintf('\n    X      DF     PROB\n');
lx = numel(x);
ldf = numel(df);
ltail = numel(tail);
len = max ([lx, ldf, ltail]);
for i=0:len-1
 fprintf('%7.3f%8.3f%8.3f  %5d\n', x(mod(i,lx)+1), df(mod(i,ldf)+1), ...
         prob(i+1), ivalid(i+1));
end
 

    X      DF     PROB
  8.260  20.000   0.010      0
  6.200   7.500   0.428      0
 55.760  45.000   0.869      0

function g01sc_example
x = [8.26; 6.2; 55.76];
df = [20; 7.5; 45];
tail = {'L'};
% calculate probability
[prob, ivalid, ifail] = g01sc(tail, x, df);

fprintf('\n    X      DF     PROB\n');
lx = numel(x);
ldf = numel(df);
ltail = numel(tail);
len = max ([lx, ldf, ltail]);
for i=0:len-1
 fprintf('%7.3f%8.3f%8.3f  %5d\n', x(mod(i,lx)+1), df(mod(i,ldf)+1), ...
         prob(i+1), ivalid(i+1));
end
 

    X      DF     PROB
  8.260  20.000   0.010      0
  6.200   7.500   0.428      0
 55.760  45.000   0.869      0


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–2013