Jak wskazano wcześniej w tym i innych wątkach: (1) Test Durbina-Watsona nie jest niejednoznaczny. Jedynie granice sugerowane początkowo przez Durbina i Watsona były spowodowane tym, że dokładny rozkład zależy od obserwowanej macierzy regresora. Jest to jednak wystarczająco łatwe do rozwiązania w oprogramowaniu statystycznym / ekonometrycznym. (2) Istnieją uogólnienia testu Durbina-Watsona na większe opóźnienia. Zatem ani brak jednoznaczności, ani ograniczenie opóźnień nie są argumentem przeciwko testowi Durbina-Watsona.
W porównaniu z testem Wald opóźnionej zmiennej zależnej test Durbina-Watsona może mieć większą moc w niektórych modelach. W szczególności, jeśli model zawiera trendy deterministyczne lub wzorce sezonowe, może być lepiej przetestować autokorelację reszt (jak test Durbina-Watsona) w porównaniu do uwzględnienia opóźnionej odpowiedzi (która nie jest jeszcze skorygowana o wzorce deterministyczne) . Poniżej zamieszczam małą symulację R.
Jedną ważną wadą testu Durbina-Watsona jest to, że nie można go stosować do modeli, które już zawierają efekty autoregresji. Dlatego nie można testować pozostałej autokorelacji po częściowym uchwyceniu jej w modelu autoregresyjnym. W tym scenariuszu moc testu Durbina-Watsona może całkowicie się załamać, podczas gdy na przykład w przypadku testu Breusch-Godfrey tak się nie dzieje. Nasza książka „Applied Econometrics with R” zawiera małe studium symulacyjne, które pokazuje to w rozdziale „Programowanie własnej analizy”, patrz http://eeecon.uibk.ac.at/~zeileis/teaching/AER/ .
W przypadku zestawu danych z trendem i błędami autokorelowanymi moc testu Durbina-Watsona jest jednak wyższa niż w teście Breuscha-Godfreya, a także wyższa niż w teście Walda o działaniu autoregresyjnym. Ilustruję to dla prostego małego scenariusza w R. Wyciągam 50 obserwacji z takiego modelu i obliczam wartości p dla wszystkich trzech testów:
pvals <- function()
{
## data with trend and autocorrelated error term
d <- data.frame(
x = 1:50,
err = filter(rnorm(50), 0.25, method = "recursive")
)
## response and corresponding lags
d$y <- 1 + 1 * d$x + d$err
d$ylag <- c(NA, d$y[-50])
## OLS regressions with/without lags
m <- lm(y ~ x, data = d)
mlag <- lm(y ~ x + ylag, data = d)
## p-value from Durbin-Watson and Breusch-Godfrey tests
## and the Wald test of the lag coefficient
c(
"DW" = dwtest(m)$p.value,
"BG" = bgtest(m)$p.value,
"Coef-Wald" = coeftest(mlag)[3, 4]
)
}
Następnie możemy zasymulować 1000 wartości p dla wszystkich trzech modeli:
set.seed(1)
p <- t(replicate(1000, pvals()))
Test Durbina-Watsona prowadzi do najniższych średnich wartości p
colMeans(p)
## DW BG Coef-Wald
## 0.1220556 0.2812628 0.2892220
i najwyższa moc przy poziomie istotności 5%:
colMeans(p < 0.05)
## DW BG Coef-Wald
## 0.493 0.256 0.248