Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox: nag_nonpar_gofstat_anddar_exp (g08cl)

## Purpose

nag_nonpar_gofstat_anddar_exp (g08cl) calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of an unspecified exponential distribution.

## Syntax

[ybar, a2, aa2, p, ifail] = g08cl(issort, y, 'n', n)
[ybar, a2, aa2, p, ifail] = nag_nonpar_gofstat_anddar_exp(issort, y, 'n', n)

## Description

Calculates the Anderson–Darling test statistic A2${A}^{2}$ (see nag_nonpar_gofstat_anddar (g08ch)) and its upper tail probability for the small sample correction:
 Adjusted ​ A2 = A2 (1 + 0.6 / n) , $Adjusted ​ A2 = A2 ( 1+0.6/n ) ,$
for n$n$ observations.

## References

Anderson T W and Darling D A (1952) Asymptotic theory of certain ‘goodness-of-fit’ criteria based on stochastic processes Annals of Mathematical Statistics 23 193–212
Stephens M A and D'Agostino R B (1986) Goodness-of-Fit Techniques Marcel Dekker, New York

## Parameters

### Compulsory Input Parameters

1:     issort – logical scalar
Set issort = true${\mathbf{issort}}=\mathbf{true}$ if the observations are sorted in ascending order; otherwise the function will sort the observations.
2:     y(n) – double array
n, the dimension of the array, must satisfy the constraint n > 1${\mathbf{n}}>1$.
yi${y}_{\mathit{i}}$, for i = 1,2,,n$\mathit{i}=1,2,\dots ,n$, the n$n$ observations.
Constraint: if issort = true${\mathbf{issort}}=\mathbf{true}$, values must be sorted in ascending order. Each yi${y}_{i}$ must be greater than zero.

### Optional Input Parameters

1:     n – int64int32nag_int scalar
Default: The dimension of the array y.
n$n$, the number of observations.
Constraint: n > 1${\mathbf{n}}>1$.

None.

### Output Parameters

1:     ybar – double scalar
The maximum likelihood estimate of mean.
2:     a2 – double scalar
A2${A}^{2}$, the Anderson–Darling test statistic.
3:     aa2 – double scalar
The adjusted A2${A}^{2}$.
4:     p – double scalar
p$p$, the upper tail probability for the adjusted A2${A}^{2}$.
5:     ifail – int64int32nag_int scalar
${\mathrm{ifail}}={\mathbf{0}}$ unless the function detects an error (see [Error Indicators and Warnings]).

## Error Indicators and Warnings

Errors or warnings detected by the function:
ifail = 1${\mathbf{ifail}}=1$
Constraint: n > 1${\mathbf{n}}>1$.
ifail = 3${\mathbf{ifail}}=3$
issort = true${\mathbf{issort}}=\mathbf{true}$ and the data in y is not sorted in ascending order.
ifail = 9${\mathbf{ifail}}=9$
The data in y must be greater than zero.
ifail = 999${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.

## Accuracy

Probabilities are calculated using piecewise polynomial approximations to values estimated by simulation.

None.

## Example

```function nag_nonpar_gofstat_anddar_exp_example
y = [0.4782745, 1.2858962, 1.1163891, 2.0410619, 2.2648109, 0.0833660, ...
1.2527554, 0.4031288, 0.7808981, 0.1977674, 3.2539440, 1.8113504, ...
1.2279834, 3.9178773, 1.4494309, 0.1358438, 1.8061778, 6.0441929, ...
0.9671624, 3.2035042, 0.8067364, 0.4179364, 3.5351774, 0.3975414, ...
0.6120960, 0.1332589];
% Let nag_nonpar_gofstat_anddar_exp sort the data
issort = false;

% Calculate a-squared and probability
[ybar, a2, aa2, p, ifail] = nag_nonpar_gofstat_anddar_exp(issort, y);
% Results
fprintf('\nH0: data from exponential distribution with mean %10.4e\n', ybar);
fprintf('Test statistic, A-squared: %8.4f\n', a2);
fprintf('Upper tail probability:    %8.4f\n', p);
```
```

H0: data from exponential distribution with mean 1.5240e+00
Test statistic, A-squared:   0.1616
Upper tail probability:      0.9831

```
```function g08cl_example
y = [0.4782745, 1.2858962, 1.1163891, 2.0410619, 2.2648109, 0.0833660, ...
1.2527554, 0.4031288, 0.7808981, 0.1977674, 3.2539440, 1.8113504, ...
1.2279834, 3.9178773, 1.4494309, 0.1358438, 1.8061778, 6.0441929, ...
0.9671624, 3.2035042, 0.8067364, 0.4179364, 3.5351774, 0.3975414, ...
0.6120960, 0.1332589];
% Let g08cl sort the data
issort = false;

% Calculate a-squared and probability
[ybar, a2, aa2, p, ifail] = g08cl(issort, y);
% Results
fprintf('\nH0: data from exponential distribution with mean %10.4e\n', ybar);
fprintf('Test statistic, A-squared: %8.4f\n', a2);
fprintf('Upper tail probability:    %8.4f\n', p);
```
```

H0: data from exponential distribution with mean 1.5240e+00
Test statistic, A-squared:   0.1616