Hi, I ran an experiment with 3 factors, 2 levels and 200 replications and as I want to test for residuals independence, I used Durbin-Watson in R. I found two functions (durbin.watson and dwtest) and while both are giving the same rho, the p-values are greatly differ:> durbin.watson(mod1)lag Autocorrelation D-W Statistic p-value 1 -0.04431012 2.088610 0.012 Alternative hypothesis: rho != 0> dwtest(mod1)Durbin-Watson test data: mod1 DW = 2.0886, p-value = 0.9964 alternative hypothesis: true autocorrelation is greater than 0 durbin.watson suggests that I should reject the null hypothesis while dwtest suggests that I should NOT reject Ho. If I look it up in the following table: stanford.edu/~clint/bench/dw05d.htm, T = 1600 and K = 8 gives dL = 1.90902 and dU = 1.92659. Which means I should not reject Ho as DW > dU. Is there a bug in durbin.watson? should I use dwtest instead? can somebody help me explain what is happening? Thank you, ~ Hardi
On Wed, 5 Aug 2009, Hardi wrote:> Hi, > > I ran an experiment with 3 factors, 2 levels and 200 replications and as > I want to test for residuals independence, I used Durbin-Watson in R. > I found two functions (durbin.watson and dwtest) and while both are > giving the same rho, the p-values are greatly differ: > >> durbin.watson(mod1) > lag Autocorrelation D-W Statistic p-value > 1 -0.04431012 2.088610 0.012 > Alternative hypothesis: rho != 0 > >> dwtest(mod1) > Durbin-Watson test > data: mod1 > DW = 2.0886, p-value = 0.9964 > alternative hypothesis: true autocorrelation is greater than 0 > > durbin.watson suggests that I should reject the null hypothesis while > dwtest suggests that I should NOT reject Ho.What do you expect? The default alternative in durbin.watson() is rho != 0 (as displayed above!) and in dwtest() it is rho > 0 (as displayed above!). For an empirical correlation of -0.044 one would hope that the p-values are very different. Beyond that, the approaches for computing the p-value in durbin.watson() and dwtest() are different. The former uses resampling techniques, the latter uses either the exact or approximate asymptotic distribution.> If I look it up in the following table: > stanford.edu/~clint/bench/dw05d.htm, T = 1600 and K = 8 gives > dL = 1.90902 and dU = 1.92659. > Which means I should not reject Ho as DW > dU.First, this is inferior technology compared to both approaches discussed above. Second, you are using it wrong! These are upper and lower bounds for a single critical value for the one-sided alternative rho > 0. So interpreting it correctly DW > dU means that you can confidently conclude that DW is _not_ significant. But you didn't need a significance test for that when the empirical correlation is less than zero and you want to show that it is greater than zero.> Is there a bug in durbin.watson? should I use dwtest instead? can > somebody help me explain what is happening?It might help if you read about the theory behind the Durbin-Watson test and why it is difficult to evaluate its null distributions. Best, Z
Thank you for all your reply, especially Alan Now I understand better how does the durbin watson test works. But this means that my residuals are not independent (note that I'm doing this test to validate the ANOVA assumption that the residuals are independent). The results were taken from a simulation result and each run are supposed to be independent to each other and I am grouping the data based on design points. The plot from residuals vs fitted and residuals vs time looks random enough although each groups has slightly different variance. Am I heading the correct way here, by testing the independence of the whole residuals (which resulting the failure of independence test) or should I test for the independence for each groups? (which resulting the passing of the test). Thank you very much, ~ Hardi ----- Original Message ---- From: Alan Cohen <CohenA at smh.toronto.on.ca> To: sky_drake at yahoo.com Sent: Thursday, August 6, 2009 9:38:19 PM Subject: Durbin-Watson Hi Hardi, I saw the first reply you got to your question, which was correct but snippy and a bit over-technical. To say it more clearly (and nicely - appreciating that you will not become a statistical guru of every test you ever use), you have performed a two-tailed test with durbin.watson() and a one-tailed test with dwtest(), so the p-value for the former should be approximately twice that for the latter. Your one-tailed test was performed in the wrong direction - your autocorrelation is negative, but you were testing for a positive association. 1-p = 1-0.9964 = 0.0036. This is still not exactly the same as 0.018/2=0.0059, but the ranges are similar, and if you need to figure it out in more depth I'd refer back to the first response, which points out the differences in calculation methods. If you want to control the direction of the test in dwtest, use the "alternative" option, copied from the ?dwtest help file below: dwtest(formula, order.by = NULL, alternative = c("greater", "two.sided", "less"), iterations = 15, exact = NULL, tol = 1e-10, data = list()) alternative - a character string specifying the alternative hypothesis. Cheers, Alan Cohen
Seemingly Similar Threads
- Comparison of Output from "dwtest" and "durbin.watson"
- Which Durbin-Watson is correct? (weights involved) - using durbinWatsonTest and dwtest (packages car and lmtest)
- Durbin-Watson test in packages "car" and "lmtest"
- Calculation of Durbin-Watson p-value
- Durbin Watson Test Bound in R