[R] waldtest and nested models - poolability (parameter stability)

Roberto Patuelli roberto.patuelli at usi.ch
Mon Dec 6 21:17:17 CET 2010


Dear All,

I'm trying to use waldtest to test poolability (parameter stability) between 
two logistic regressions. Because I need to use robust standard errors 
(using sandwich), I cannot use anova. anova has no problems running the 
test, but waldtest does, indipendently of specifying vcov or not. waldtest 
does not appear to see that my models are nested. H0 in my case is the the 
vector of regression parameters beta1 is the same as the vector of 
parameters beta2, where beta1 and beta2 are computed for the two subgroups 
(divided according to a factor).

I was wondering if anyone can help me making waldtest recognize the nesting.

Here's the lines I run:
(BTW, I try to use robust standard errors because what I normally use 
(glm.binomial.disp) to correct for overdispersion does not converge for the 
unpooled model. But this is another story....)

# poolability for leva.fin03.d
# pooled model
inv.log.leva.base = glm(mix.au.bin ~ cat.gap.tot + leva.fin03.d + ... + 
sud0nord1, data = inv.sub.au, family = binomial, maxit = 1000) # I deleted 
almost all variables to make the line more readable

# overdispersed pooled model - NOT THE PROBLEM NOW
inv.log.leva.base.disp = glm.binomial.disp(inv.log.leva.base)

# unpooled model
inv.log.leva = glm(mix.au.bin ~ leva.fin03.d/(cat.gap.tot + ... + 
sud0nord1 - 1), data = inv.sub.au, family = binomial, maxit = 1000) # again 
I deleted most variables for readability

# overdispersed unpooled model - NOT CONVERGING :(
inv.log.leva.disp = glm.binomial.disp(inv.log.leva, maxit = 10000)

# inv.log.leva.disp not converging, so I resort to using waldtest with 
sandwich, BUT IT DOES NOT SEE THE NESTING!
waldtest(inv.log.leva.base, inv.log.leva, test = "Chisq", vcov = sandwich)

# anova would work but its results are not reliable because of the 
overdispersion - basically without correcting for overdispersion almost 
every variable is highly significant
anova(inv.log.leva.base, inv.log.leva, test = "Chisq")


Thanks everyone!
Best regards,
Roberto Patuelli

********************
Roberto Patuelli, Ph.D.
Istituto Ricerche Economiche (IRE) (Institute for Economic Research)
Università della Svizzera Italiana (University of Lugano)



More information about the R-help mailing list