jtest {lmtest} | R Documentation |
jtest
performs the Davidson-MacKinnon J test for comparing non-nested
models.
jtest(formula1, formula2, data = list(), vcov. = NULL, ...)
formula1 |
either a symbolic description for the first model to be tested,
or a fitted object of class "lm" . |
formula2 |
either a symbolic description for the second model to be tested,
or a fitted object of class "lm" . |
data |
an optional data frame containing the variables in the
model. By default the variables are taken from the environment
which jtest is called from. |
vcov. |
a function for estimating the covariance matrix of the regression
coefficients, e.g., vcovHC . |
... |
further arguments passed to coeftest . |
The idea of the J test is the following: if the first model contains the correct set of regressors, then including the fitted values of the second model into the set of regressors should provide no significant improvement. But if it does, it can be concluded that model 1 does not contain the correct set of regressors.
Hence, to compare both models the fitted values of model
1 are included into model 2 and vice versa. The J test statistic is simply
the marginal test of the fitted values in the augmented model. This is
performed by coeftest
.
For further details, see the references.
An object of class "anova"
which contains the coefficient estimate
of the fitted values in the augmented regression plus corresponding
standard error, test statistic and p value.
R. Davidson & J. MacKinnon (1981). Several Tests for Model Specification in the Presence of Alternative Hypotheses. Econometrica, 49, 781-793.
W. H. Greene (1993), Econometric Analysis, 2nd ed. Macmillan Publishing Company, New York.
W. H. Greene (2003). Econometric Analysis, 5th ed. New Jersey, Prentice Hall.
## Fit two competing, non-nested models for aggregate ## consumption, as in Greene (1993), Examples 7.11 and 7.12 ## load data and compute lags data(USDistLag) usdl <- na.contiguous(cbind(USDistLag, lag(USDistLag, k = -1))) colnames(usdl) <- c("con", "gnp", "con1", "gnp1") ## C(t) = a0 + a1*Y(t) + a2*C(t-1) + u fm1 <- lm(con ~ gnp + con1, data = usdl) ## C(t) = b0 + b1*Y(t) + b2*Y(t-1) + v fm2 <- lm(con ~ gnp + gnp1, data = usdl) ## Cox test in both directions: coxtest(fm1, fm2) ## ...and do the same for jtest() and encomptest(). ## Notice that in this particular case they are coincident. jtest(fm1, fm2) encomptest(fm1, fm2)