vuong function

Vuong's non-nested hypothesis test

Vuong's non-nested hypothesis test

Compares two models fit to the same data that do not nest via Vuong's non-nested test.

vuong(m1, m2, digits = getOption("digits"))

Arguments

  • m1: model 1, an object inheriting from class glm, negbin or zeroinfl
  • m2: model 2, as for model 1
  • digits: significant digits in printed result

Details

The Vuong non-nested test is based on a comparison of the predicted probabilities of two models that do not nest. Examples include comparisons of zero-inflated count models with their non-zero-inflated analogs (e.g., zero-inflated Poisson versus ordinary Poisson, or zero-inflated negative-binomial versus ordinary negative-binomial). A large, positive test statistic provides evidence of the superiority of model 1 over model 2, while a large, negative test statistic is evidence of the superiority of model 2 over model 1. Under the null that the models are indistinguishable, the test statistic is asymptotically distributed standard normal.

Let pi=Pr^(yiM1)p_i = \hat{Pr}(y_i | M_1) be the predicted probabilities from model 1, evaluated conditional on the estimated MLEs. Let qiq_i be the corresponding probabilities from model 2. Then the Vuong statistic is Nmˉ/sm\sqrt{N} \bar{m}/s_m where mi=log(pi)log(qi)m_i = log(p_i) - log(q_i) and sms_m is the sample standard deviation of mim_i.

Two finite sample corrections are often considered, based on the Akaike (AIC) and Schwarz (BIC) penalty terms, based on the complexity of the two models. These corrections sometimes generate conflicting conclusions.

The function will fail if the models do not contain identical values in their respective components named y (the value of the response being modeled).

Returns

nothing returned, prints 3 test statistics and pp values and exits silently.

References

Vuong, Q.H. 1989. Likelihood ratio tests for model selection and non-nested hypotheses. Econometrica. 57:307-333.

Author(s)

Simon Jackman simon.jackman@sydney.edu.au

Examples

## Not run: data("bioChemists") ## compare Poisson GLM and ZIP glm1 <- glm(art ~ ., data = bioChemists, family = poisson) zip <- zeroinfl(art ~ . | ., data = bioChemists, EM = TRUE) vuong(glm1, zip) ## compare negbin with zero-inflated negbin nb1 <- MASS::glm.nb(art ~ ., data=bioChemists) zinb <- zeroinfl(art ~ . | ., data = bioChemists, dist = "negbin", EM = TRUE) vuong(nb1, zinb) ## End(Not run)