PDF version (NAG web site
, 64-bit version, 64-bit version)
NAG Toolbox: nag_stat_prob_beta_vector (g01se)
Purpose
nag_stat_prob_beta_vector (g01se) computes a number of lower or upper tail probabilities for the beta distribution.
Syntax
[
p,
ivalid,
ifail] = g01se(
tail,
beta,
a,
b, 'ltail',
ltail, 'lbeta',
lbeta, 'la',
la, 'lb',
lb)
[
p,
ivalid,
ifail] = nag_stat_prob_beta_vector(
tail,
beta,
a,
b, 'ltail',
ltail, 'lbeta',
lbeta, 'la',
la, 'lb',
lb)
Description
The lower tail probability,
is defined by
The function
, also known as the incomplete beta function is calculated using
nag_specfun_beta_incomplete (s14cc).
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
Majumder K L and Bhattacharjee G P (1973) Algorithm AS 63. The incomplete beta integral Appl. Statist. 22 409–411
Parameters
Compulsory Input Parameters
- 1:
– cell array of strings
-
Indicates whether a lower or upper tail probabilities are required. For
, for
:
- The lower tail probability is returned, i.e., .
- The upper tail probability is returned, i.e., .
Constraint:
or , for .
- 2:
– double array
-
, the value of the beta variate with , .
Constraint:
, for .
- 3:
– double array
-
, the first parameter of the required beta distribution with , .
Constraint:
, for .
- 4:
– double array
-
, the second parameter of the required beta 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
beta.
The length of the array
beta.
Constraint:
.
- 3:
– int64int32nag_int scalar
-
Default:
the dimension of the array
a.
The length of the array
a.
Constraint:
.
- 4:
– int64int32nag_int scalar
-
Default:
the dimension of the array
b.
The length of the array
b.
Constraint:
.
Output Parameters
- 1:
– double array
-
The dimension of the array
p will be
, the probabilities for the beta 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 | . |
-
On entry, | , |
or | , |
- 3:
– int64int32nag_int scalar
unless the function detects an error (see
Error Indicators and Warnings).
Error Indicators and Warnings
Note: nag_stat_prob_beta_vector (g01se) 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
-
On entry, at least one value of
beta,
a,
b or
tail was invalid.
Check
ivalid for more information.
-
-
Constraint: .
-
-
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 accuracy is limited by the error in the incomplete beta function. See
Accuracy in
nag_specfun_beta_incomplete (s14cc) for further details.
Further Comments
None.
Example
This example reads values from a number of beta distributions and computes the associated lower tail probabilities.
Open in the MATLAB editor:
g01se_example
function g01se_example
fprintf('g01se example results\n\n');
tail = {'L'; 'L'; 'L'};
x = [0.25; 0.75; 0.5];
a = [1.0; 1.5; 2.0];
b = [2.0; 1.5; 1.0];
[p, ivalid, ifail] = g01se( ...
tail, x, a, b);
fprintf(' x a b p\n');
lx = numel(x);
la = numel(a);
lb = numel(b);
ltail = numel(tail);
len = max ([lx, la, lb, ltail]);
for i=0:len-1
fprintf('%6.4f%8.4f%8.4f%8.4f\n', x(mod(i,lx)+1), a(mod(i,la)+1), ...
b(mod(i,lb)+1), p(i+1));
end
g01se example results
x a b p
0.2500 1.0000 2.0000 0.4375
0.7500 1.5000 1.5000 0.8045
0.5000 2.0000 1.0000 0.2500
PDF version (NAG web site
, 64-bit version, 64-bit version)
© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015