dwtest                package:lmtest                R Documentation

_D_u_r_b_i_n-_W_a_t_s_o_n _T_e_s_t

_D_e_s_c_r_i_p_t_i_o_n:

     Performs the Durbin-Watson test for autocorrelation of
     disturbances.

_U_s_a_g_e:

     dwtest(formula, alternative = c("greater", "two.sided", "less"),
            iterations = 15, exact = NULL, tol = 1e-10, data = list())

_A_r_g_u_m_e_n_t_s:

 formula: a symbolic description for the model to be tested.

alternative: a character string specifying the alternative hypothesis.

iterations: an integer specifying the number of iterations when
          calculating the p-value with the "pan" algorithm.

   exact: logical. If set to 'FALSE' a normal approximation will be
          used to compute the p value, if 'TRUE' the "pan" algorithm is
          used. The default is to use "pan" if the sample size is <
          100.

     tol: tolerance. Eigenvalues computed have to be greater than 'tol'
          to be treated as non-zero.

    data: an optional data frame containing the variables in the model.
          By default the variables are taken from the environment which
          'dwtest' is called from.

_D_e_t_a_i_l_s:

     The Durbin-Watson test has the null hypothesis that the
     autocorrelation of the disturbances is 0; it can be tested against
     the alternative that it is greater than, not equal to, or less
     than 0 respectively. This can be specified by the 'alternative'
     argument.

     The null distribution of the Durbin-Watson test statistic is a
     linear combination of chi-squared distributions. The p value is
     computed using a Fortran version of the Applied Statistics
     Algorithm AS 153 by Farebrother (1980, 1984). This algorithm is
     called "pan" or "gradsol". For large sample sizes the algorithm
     might fail to compute the p value; in that case a warning is
     printed and an approximate p value will be given; this p value is
     computed using a normal approximation with mean and variance of
     the Durbin-Watson test statistic.

     Examples can not only be found on this page, but also on the help
     pages of the data sets 'bondyield', 'currencysubstitution',
     'growthofmoney', 'moneydemand', 'unemployment', 'wages'.

     For an overview on R and econometrics see Racine & Hyndman (2002).

_V_a_l_u_e:

     An object of class '"htest"' containing: 

statistic: the test statistic.

 p.value: the corresponding p-value.

  method: a character string with the method used.

data.name: a character string with the data name.

_R_e_f_e_r_e_n_c_e_s:

     J. Durbin & G.S. Watson (1950), Testing for Serial Correlation in
     Least Squares Regression I. _Biometrika_ *37*, 409-428.

     J. Durbin & G.S. Watson (1951), Testing for Serial Correlation in
     Least Squares Regression II. _Biometrika_ *38*, 159-178.

     J. Durbin & G.S. Watson (1971), Testing for Serial Correlation in
     Least Squares Regression III. _Biometrika_ *58*, 1-19.

     R.W. Farebrother (1980), Pan's Procedure for the Tail
     Probabilities of the Durbin-Watson Statistic (Corr: 81V30 p189; AS
     R52: 84V33 p363- 366; AS R53: 84V33 p366- 369). _Applied
     Statistics_ *29*,  224-227.

     R. W. Farebrother (1984), [AS R53] A Remark on Algorithms AS 106
     (77V26 p92-98), AS 153 (80V29 p224-227) and AS 155: The
     Distribution of a Linear Combination of $\chi^2$ Random Variables
     (80V29 p323-333) _Applied Statistics_ *33*, 366-369.

     W. Krmer & H. Sonnberger (1986), _The Linear Regression Model
     under Test_. Heidelberg: Physica.

     J. Racine & R. Hyndman (2002), Using R To Teach Econometrics.
     _Journal of Applied Econometrics_ *17*, 175-189.

_S_e_e _A_l_s_o:

     'lm'

_E_x_a_m_p_l_e_s:

     ## generate two AR(1) error terms with parameter
     ## rho = 0 (white noise) and rho = 0.9 respectively
     err1 <- rnorm(100)

     ## generate regressor and dependent variable
     x <- rep(c(-1,1), 50)
     y1 <- 1 + x + err1

     ## perform Durbin-Watson test
     dwtest(y1 ~ x)

     if(library(ts, logical = TRUE)) {
     err2 <- filter(err1, 0.9, method="recursive")
     y2 <- 1 + x + err2
     dwtest(y2 ~ x) }

