PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_stat_inv_cdf_chisq_vector (g01tc)
Purpose
nag_stat_inv_cdf_chisq_vector (g01tc) returns a number of deviates associated with the given probabilities of the -distribution with real degrees of freedom.
Syntax
[
x,
ivalid,
ifail] = g01tc(
tail,
p,
df, 'ltail',
ltail, 'lp',
lp, 'ldf',
ldf)
[
x,
ivalid,
ifail] = nag_stat_inv_cdf_chisq_vector(
tail,
p,
df, 'ltail',
ltail, 'lp',
lp, 'ldf',
ldf)
Description
The deviate,
, associated with the lower tail probability
of the
-distribution with
degrees of freedom is defined as the solution to
The required
is found by using the relationship between a
-distribution and a gamma distribution, i.e., a
-distribution with
degrees of freedom is equal to a gamma distribution with scale parameter
and shape parameter
.
For very large values of
, greater than
, Wilson and Hilferty's Normal approximation to the
is used; see
Kendall and Stuart (1969).
The input arrays to this function are designed to allow maximum flexibility in the supply of vector arguments by re-using elements of any arrays that are shorter than the total number of evaluations required. See
Vectorized Routines in the G01 Chapter Introduction for further information.
References
Best D J and Roberts D E (1975) Algorithm AS 91. The percentage points of the distribution Appl. Statist. 24 385–388
Hastings N A J and Peacock J B (1975) Statistical Distributions Butterworth
Kendall M G and Stuart A (1969) The Advanced Theory of Statistics (Volume 1) (3rd Edition) Griffin
Parameters
Compulsory Input Parameters
- 1:
– cell array of strings
-
Indicates which tail the supplied probabilities represent. For
, for
:
- The lower tail probability, i.e., .
- The upper tail probability, i.e., .
Constraint:
or , for .
- 2:
– double array
-
, the probability of the required
-distribution as defined by
tail with
,
.
Constraints:
- if , ;
- otherwise .
Where and .
- 3:
– double array
-
, the degrees of freedom of the -distribution with , .
Constraint:
, for .
Optional Input Parameters
- 1:
– int64int32nag_int scalar
-
Default:
the dimension of the array
tail.
The length of the array
tail.
Constraint:
.
- 2:
– int64int32nag_int scalar
-
Default:
the dimension of the array
p.
The length of the array
p.
Constraint:
.
- 3:
– int64int32nag_int scalar
-
Default:
the dimension of the array
df.
The length of the array
df.
Constraint:
.
Output Parameters
- 1:
– double array
-
The dimension of the array
x will be
, the deviates for the -distribution.
- 2:
– int64int32nag_int array
-
The dimension of the array
ivalid will be
indicates any errors with the input arguments, with
- No error.
On entry, | invalid value supplied in tail when calculating . |
On entry, | invalid value for . |
- is too close to or for the result to be calculated.
- The solution has failed to converge. The result should be a reasonable approximation.
- 3:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and 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
-
On entry, at least one value of
tail,
p or
df was invalid, or the solution failed to converge.
Check
ivalid for more information.
-
-
Constraint: .
-
-
Constraint: .
-
-
Constraint: .
-
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.
Accuracy
The results should be accurate to five significant digits for most argument values. Some accuracy is lost for close to or .
Further Comments
For higher accuracy the relationship described in
Description may be used and a direct call to
nag_stat_inv_cdf_gamma_vector (g01tf) made.
Example
This example reads lower tail probabilities for several -distributions, and calculates and prints the corresponding deviates.
Open in the MATLAB editor:
g01tc_example
function g01tc_example
fprintf('g01tc example results\n\n');
tail = {'L'};
p = [0.01; 0.428; 0.869];
df = [20; 7.5; 45];
[x, ivalid, ifail] = g01tc( ...
tail, p, df);
fprintf(' tail p df x ivalid\n');
ltail = numel(tail);
lp = numel(p);
ldf = numel(df);
len = max ([ltail, lp, ldf]);
for i=0:len-1
fprintf('%5s%8.3f%8.3f%8.3f%8d\n', tail{mod(i, ltail)+1}, ...
p(mod(i,lp)+1), df(mod(i,ldf)+1), x(i+1), ivalid(i+1));
end
g01tc example results
tail p df x ivalid
L 0.010 20.000 8.260 0
L 0.428 7.500 6.201 0
L 0.869 45.000 55.738 0
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015