hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_correg_linregm_stat_durbwat (g02fc)


    1  Purpose
    2  Syntax
    7  Accuracy
    9  Example


nag_correg_linregm_stat_durbwat (g02fc) calculates the Durbin–Watson statistic, for a set of residuals, and the upper and lower bounds for its significance.


[d, pdl, pdu, ifail] = g02fc(ip, res, 'n', n)
[d, pdl, pdu, ifail] = nag_correg_linregm_stat_durbwat(ip, res, 'n', n)


For the general linear regression model
where y is a vector of length n of the dependent variable,
X is a n by p matrix of the independent variables,
β is a vector of length p of unknown arguments,
and ε is a vector of length n of unknown random errors.
The residuals are given by
and the fitted values, y^=Xβ^, can be written as Hy for a n by n matrix H. Note that when a mean term is included in the model the sum of the residuals is zero. If the observations have been taken serially, that is y1,y2,,yn can be considered as a time series, the Durbin–Watson test can be used to test for serial correlation in the εi, see Durbin and Watson (1950), Durbin and Watson (1951) and Durbin and Watson (1971).
The Durbin–Watson statistic is
d=i=1 n-1 ri+1-ri 2 i=1nri2 .  
Positive serial correlation in the εi will lead to a small value of d while for independent errors d will be close to 2. Durbin and Watson show that the exact distribution of d depends on the eigenvalues of the matrix HA where the matrix A is such that d can be written as
d=rTAr rTr  
and the eigenvalues of the matrix A are λj=1-cosπj/n, for j=1,2,,n-1.
However bounds on the distribution can be obtained, the lower bound being
dl=i=1 n-pλiui2 i=1 n-pui2  
and the upper bound being
du=i= 1 n-pλi- 1+pui2 i= 1 n-pui2 ,  
where the ui are independent standard Normal variables. The lower tail probabilities associated with these bounds, pl and pu, are computed by nag_stat_prob_durbin_watson (g01ep). The interpretation of the bounds is that, for a test of size (significance) α, if plα the test is significant, if pu>α the test is not significant, while if pl>α and puα no conclusion can be reached.
The above probabilities are for the usual test of positive auto-correlation. If the alternative of negative auto-correlation is required, then a call to nag_stat_prob_durbin_watson (g01ep) should be made with the argument d taking the value of 4-d; see Newbold (1988).


Durbin J and Watson G S (1950) Testing for serial correlation in least squares regression. I Biometrika 37 409–428
Durbin J and Watson G S (1951) Testing for serial correlation in least squares regression. II Biometrika 38 159–178
Durbin J and Watson G S (1971) Testing for serial correlation in least squares regression. III Biometrika 58 1–19
Granger C W J and Newbold P (1986) Forecasting Economic Time Series (2nd Edition) Academic Press
Newbold P (1988) Statistics for Business and Economics Prentice–Hall


Compulsory Input Parameters

1:     ip int64int32nag_int scalar
p, the number of independent variables in the regression model, including the mean.
Constraint: ip1.
2:     resn – double array
The residuals, r1,r2,,rn.
Constraint: the mean of the residuals ε, where ε=machine precision.

Optional Input Parameters

1:     n int64int32nag_int scalar
Default: the dimension of the array res.
n, the number of residuals.
Constraint: n>ip.

Output Parameters

1:     d – double scalar
The Durbin–Watson statistic, d.
2:     pdl – double scalar
Lower bound for the significance of the Durbin–Watson statistic, pl.
3:     pdu – double scalar
Upper bound for the significance of the Durbin–Watson statistic, pu.
4:     ifail int64int32nag_int scalar
ifail=0 unless the function detects an error (see Error Indicators and Warnings).

Error Indicators and Warnings

Errors or warnings detected by the function:
On entry,nip,
On entry,the mean of the residuals was >ε, where ε=machine precision.
On entry,all residuals are identical.
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.


The probabilities are computed to an accuracy of at least 4 decimal places.

Further Comments

If the exact probabilities are required, then the first n-p eigenvalues of HA can be computed and nag_stat_prob_chisq_lincomb (g01jd) used to compute the required probabilities with the argument c set to 0.0 and the argument d set to the Durbin–Watson statistic d.


A set of 10 residuals are read in and the Durbin–Watson statistic along with the probability bounds are computed and printed.
function g02fc_example

fprintf('g02fc example results\n\n');

res = [ 3.735719   0.912755   0.683626   0.416693   1.990200 ...
       -0.444816  -1.283088  -3.666035  -0.426357  -1.918697];

ip = int64(2);

% Calculate statistic
[d, pdl, pdu, ifail] = g02fc(ip, res);

% Display the results
fprintf(' Durbin-Watson statistic %10.4f\n\n', d);
fprintf(' Lower and upper bound   %10.4f%10.4f\n', pdl, pdu);

g02fc example results

 Durbin-Watson statistic     0.9238

 Lower and upper bound       0.0610    0.0060

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2015