PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_stat_prob_students_t_vector (g01sb)
Purpose
nag_stat_prob_students_t_vector (g01sb) returns a number of one or two tail probabilities for the Student's -distribution with real degrees of freedom.
Syntax
[
p,
ivalid,
ifail] = g01sb(
tail,
t,
df, 'ltail',
ltail, 'lt',
lt, 'ldf',
ldf)
[
p,
ivalid,
ifail] = nag_stat_prob_students_t_vector(
tail,
t,
df, 'ltail',
ltail, 'lt',
lt, 'ldf',
ldf)
Description
The lower tail probability for the Student's
-distribution with
degrees of freedom,
is defined by:
Computationally, there are two situations:
(i) |
when , a transformation of the beta distribution, is used
or
|
(ii) |
when , an asymptotic normalizing expansion of the Cornish–Fisher type is used to evaluate the probability, see 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
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
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 returned probabilities should represent. For
, for
:
- The lower tail probability is returned, i.e., .
- The upper tail probability is returned, i.e., .
- The two tail (confidence interval) probability is returned,
i.e., .
- The two tail (significance level) probability is returned,
i.e., .
Constraint:
, , or , for .
- 2:
– double array
-
, the values of the Student's variates with , .
- 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
t.
The length of the array
t.
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
p will be
, the probabilities 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 . |
-
- 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 or
df was invalid.
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 computed probability should be accurate to five significant places for reasonable probabilities but there will be some loss of accuracy for very low probabilities (less than
), see
Hastings and Peacock (1975).
Further Comments
The probabilities could also be obtained by using the appropriate transformation to a beta distribution (see
Abramowitz and Stegun (1972)) and using
nag_stat_prob_beta_vector (g01se). This function allows you to set the required accuracy.
Example
This example reads values from, and degrees of freedom for Student's -distributions along with the required tail. The probabilities are calculated and printed.
Open in the MATLAB editor:
g01sb_example
function g01sb_example
fprintf('g01sb example results\n\n');
t = [0.85];
df = [20];
tail = {'L'; 'S'; 'C'; 'U'};
[prob, ivalid, ifail] = g01sb(...
tail, t, df);
fprintf(' t df prob tail\n');
lt = numel(t);
ldf = numel(df);
ltail = numel(tail);
len = max ([lt, ldf, ltail]);
for i=0:len-1
fprintf('%7.3f%8.3f%8.4f %c\n', t(mod(i,lt)+1), df(mod(i,ldf)+1), ...
prob(i+1), tail{mod(i,ltail)+1});
end
g01sb example results
t df prob tail
0.850 20.000 0.7973 L
0.850 20.000 0.4054 S
0.850 20.000 0.5946 C
0.850 20.000 0.2027 U
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015