dm.test

0th

Percentile

Diebold-Mariano test for predictive accuracy

The Diebold-Mariano test compares the forecast accuracy of two forecast methods.

Keywords
ts, htest
Usage
dm.test(e1, e2, alternative=c("two.sided","less","greater"),
    h=1, power=2)
Arguments
e1
Forecast errors from method 1.
e2
Forecast errors from method 2.
alternative
a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter.
h
The forecast horizon used in calculating e1 and e2.
power
The power used in the loss function. Usually 1 or 2.
Details

The null hypothesis is that the two methods have the same forecast accuracy. For alternative="less", the alternative hypothesis is that method 2 is less accurate than method 1. For alternative="greater", the alternative hypothesis is that method 2 is more accurate than method 1. For alternative="two.sided", the alternative hypothesis is that method 1 and method 2 have different levels of accuracy.

Value

  • A list with class "htest" containing the following components:
  • statisticthe value of the DM-statistic.
  • parameterthe forecast horizon and loss function power used in the test.
  • alternativea character string describing the alternative hypothesis.
  • p.valuethe p-value for the test.
  • methoda character string with the value "Diebold-Mariano Test".
  • data.namea character vector giving the names of the two error series.

References

Diebold, F.X. and Mariano, R.S. (1995) Comparing predictive accuracy. Journal of Business and Economic Statistics, 13, 253-263.

Aliases
  • dm.test
Examples
# Test on in-sample one-step forecasts
f1 <- ets(WWWusage)
f2 <- auto.arima(WWWusage)
accuracy(f1)
accuracy(f2)
dm.test(residuals(f1),residuals(f2),h=1)

# Test on out-of-sample one-step forecasts
f1 <- ets(WWWusage[1:80])
f2 <- auto.arima(WWWusage[1:80])
f1.out <- ets(WWWusage[81:100],model=f1)
f2.out <- Arima(WWWusage[81:100],model=f2)
accuracy(f1.out)
accuracy(f2.out)
dm.test(residuals(f1.out),residuals(f2.out),h=1)
Documentation reproduced from package forecast, version 5.7, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.