PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_stat_inv_cdf_students_t_vector (g01tb)
Purpose
nag_stat_inv_cdf_students_t_vector (g01tb) returns a number of deviates associated with given probabilities of Student's -distribution with real degrees of freedom.
Syntax
[
t,
ivalid,
ifail] = g01tb(
tail,
p,
df, 'ltail',
ltail, 'lp',
lp, 'ldf',
ldf)
[
t,
ivalid,
ifail] = nag_stat_inv_cdf_students_t_vector(
tail,
p,
df, 'ltail',
ltail, 'lp',
lp, 'ldf',
ldf)
Description
The deviate,
associated with the lower tail probability,
, of the Student's
-distribution with
degrees of freedom is defined as the solution to
For the integral equation is easily solved for .
For other values of
a transformation to the beta distribution is used and the result obtained from
nag_stat_inv_cdf_beta (g01fe).
For
an inverse asymptotic expansion of Cornish–Fisher type is used. The algorithm is described by
Hill (1970).
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
Hastings N A J and Peacock J B (1975) Statistical Distributions Butterworth
Hill G W (1970) Student's -distribution Comm. ACM 13(10) 617–619
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., .
- The two tail (confidence interval) probability,
i.e., .
- The two tail (significance level) probability,
i.e., .
Constraint:
, , or , for .
- 2:
– double array
-
, the probability of the required Student's
-distribution as defined by
tail with
,
.
Constraint:
, for .
- 3:
– double array
-
, the degrees of freedom of the Student's -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
t will be
, the deviates for the Student's -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, | , |
or | . |
-
- The solution has failed to converge. The result returned should represent an approximation to the solution.
- 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. The error behaviour for various argument values is discussed in
Hill (1970).
Further Comments
The value
may be calculated by using a transformation to the beta distribution and calling
nag_stat_inv_cdf_beta_vector (g01te). This function allows you to set the required accuracy.
Example
This example reads the probability, the tail that probability represents and the degrees of freedom for a number of Student's -distributions and computes the corresponding deviates.
Open in the MATLAB editor:
g01tb_example
function g01tb_example
fprintf('g01tb example results\n\n');
p = [0.01; 0.01; 0.99];
df = [20; 7.5; 45];
tail = {'S'; 'L'; 'C'};
[x, ivalid, ifail] = g01tb( ...
tail, p, df);
fprintf(' p df tail x\n');
lp = numel(p);
ldf = numel(df);
ltail = numel(tail);
len = max ([lp, ldf, ltail]);
for i=0:len-1
fprintf('%8.3f%8.3f %c %8.3f\n', p(mod(i,lp)+1), df(mod(i,ldf)+1), ...
tail{mod(i,ltail)+1}, x(i+1));
end
g01tb example results
p df tail x
0.010 20.000 S 2.845
0.010 7.500 L -2.943
0.990 45.000 C 2.690
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015