vuong {ZIGP}R Documentation

Vuong's test for non-nested model comparison

Description

'vuong' suggests the better of two (not necessarily nested) models according to Vuong's statistic.

Usage

vuong(model1, model2, alpha=0.05, correction=T)

Arguments

model1, model2 the output of two model fits obtained by using 'mle.zigp'.
alpha significance level, defaults to 0.05.
correction boolean, if TRUE (default), the Schwarz correction will be used on the differences of log-likelihoods.

References

Vuong, Q.H. (1989). Likelihood Ratio tests for model selection and nonnested hypotheses. Econometrica 57(2), 307-333.

Schwarz, G. (1978). Estimating the Dimension of a Model. Annals of Statistics 6, 461-464.

Examples

data(Seatbelts)
DriversKilled <- as.vector(Seatbelts[,1])           # will be response
kms <- as.vector(Seatbelts[,5]/mean(Seatbelts[,5])) # will be exposure
PetrolPrice <- as.vector(Seatbelts[,6])             # will be covariate 1
law <- as.vector(Seatbelts[,8])                     # will be covariate 2

fm.X.poi <- ~ PetrolPrice + law

fm.X.gp <- ~ PetrolPrice + law
fm.W.gp <- ~ 1

fm.X.zigp <- ~ PetrolPrice + law
fm.W.zigp <- ~ 1
fm.Z.zigp <- ~ 1

poi  <- mle.zigp(Yin=DriversKilled, fm.X=fm.X.poi,  fm.W=NULL,
                 fm.Z=NULL,  Offset = kms, init = FALSE)
gp   <- mle.zigp(Yin=DriversKilled, fm.X=fm.X.gp,   fm.W=fm.W.gp,
                 fm.Z=NULL,  Offset = kms, init = FALSE)
zigp <- mle.zigp(Yin=DriversKilled, fm.X=fm.X.zigp, fm.W=fm.W.zigp,
                 fm.Z=fm.Z.zigp, Offset = kms, init = FALSE)
# it is possible to compare to a Negative Binomial fit:
library(MASS)
nb   <- glm.nb(DriversKilled ~ offset(log(kms)) + PetrolPrice + law)

vuong(poi,gp)
vuong(gp,zigp)
vuong(poi,zigp)
vuong(gp,nb)

# compare: since gp and zigp are almost identical for this data (zero-
# inflation is estimated to be zero), the Schwarz correction for the
# (unnecessary) additional parameter has a great impact:

# GP with constant overdispersion
fm.X <- ~ PetrolPrice + law
fm.W <- ~ 1
est.zigp(DriversKilled, fm.X, fm.W, NULL, Offset = kms)

# ZIGP with constant overdispersion and constant zero-inflation
fm.X <- ~ PetrolPrice + law
fm.W <- ~ 1
fm.Z <- ~ 1
est.zigp(DriversKilled, fm.X, fm.W, fm.Z, Offset = kms)

vuong(gp,zigp, correction=FALSE)
vuong(gp,zigp)

[Package ZIGP version 3.3 Index]