Learn R Programming

fDMA (version 2.2.8)

mdmtest: Computes Harvey-Leybourne-Newbold Test.

Description

This is a wrapper for dm.test from forecast package. This function computes the modified Diebold-Mariano test. The modification is useful for small samples.

Usage

mdmtest(y,f)

Value

matrix, first column contains tests statistics, next p-values are given for the alternative hypothesis that alternative forecasts have different accuracy than the compared forecast, alternative forecasts are less accurate and alternative forecasts have greater accuracy, tests outcomes for different forecasts are ordered by rows

Arguments

y

vector of the forecasted time-series

f

matrix of the predicted values from various methods, forecasts are ordered in rows, the first row should correspond to the method that is compared with alternative ones (corresponding to subsequent rows)

Details

The null hypothesis is that the two methods have the same forecast accuracy. This function assumes that one-step ahead forecasts are compared and the second power is used in the loss function (see dm.test).

References

Harvey, D., Leybourne, S., Newbold, P., 1997. Testing the equality of prediction mean squared errors. International Journal of Forecasting 13, 281--291.

See Also

dmtest, hmdmtest.

Examples

Run this code
# \donttest{
wti <- crudeoil[-1,1]
drivers <- (lag(crudeoil[,-1],k=1))[-1,]
ld.wti <- (diff(log(wti)))[-1,]
ld.drivers <- drivers[-1,]
ld.drivers[,c(4,6)] <- (diff(drivers[,c(4,6)]))[-1,]
ld.drivers[,c(1:2,5,7)] <- (diff(log(drivers[,c(1:2,5,7)])))[-1,]
ld.drivers[,c(3,6)] <- ld.drivers[,c(3,6)]/100
m <- fDMA(y=ld.wti,x=ld.drivers,alpha=0.99,lambda=0.90,initvar=10,initial.period=241)
m <- m$y.hat
a <- altf2(y=ld.wti,x=ld.drivers,d=TRUE,initial.period=241)
a <- a$y.hat
a <- matrix(unlist(a),nrow=length(a),byrow=TRUE)
fc <- rbind(m,a)
mdm <- mdmtest(y=as.vector(ld.wti)[-(1:240)],f=fc[,-(1:240)])
# }

Run the code above in your browser using DataLab