Cálculo do deviance das variáveis explicativas em modelo de Poisson inflacionado de zeros

Bom dia Pessoal, Estou querendo saber como realizar o cálculo do deviance das variáveis explicativas em um modelo de Poisson inflacionado de zeros com a função zeroinfl() do pacote pscl, pois para um modelo do tipo glm eu faria uma anova(modelo, test="Chi"), mas um objeto criado pela função zeroinfl() não permite anova() e o teste de Vuong serve apenas para comparação entre modelos, existe alguma opção? Segue CRM: #------------------------------------------------------------------ # Definições da sessão. rm(list=ls()) require(pscl) #------------------------------------------------------------------ # Dados artificiais. da <- expand.grid(trat=gl(4,1), tempo=1:10) X <- model.matrix(~trat+tempo, da); ncol(X) betas <- c(0.1,0.9,0.6,0.3,0.7) eta <- X%*%betas y1 <- rpois(da$trat, lambda=exp(eta)) y2 <- rbinom(y1, size=1, prob=0.7) da$y <- y1*y2 str(da) #------------------------------------------------------------------ # Ajuste do modelo. m0 <- zeroinfl(y~trat+tempo|trat, data=da) summary(m0) #------------------------------------------------------------------ Obrigado, -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com

Seguem sugestões no CMR. #------------------------------------------------------------------ # Dados artificiais. da <- expand.grid(trat=gl(4,1), tempo=1:10) X <- model.matrix(~trat+tempo, da); ncol(X) ## betas <- c(0.1,0.9,0.6,0.3,0.7) betas <- c(0.1,0.9,0.6,0.3,0) ## Simulando sem efeito de tempo. eta <- X%*%betas y1 <- rpois(da$trat, lambda=exp(eta)) y2 <- rbinom(y1, size=1, prob=0.7) da$y <- y1*y2 str(da) #------------------------------------------------------------------ # Ajuste do modelo. m0 <- zeroinfl(y~trat+tempo|trat, data=da) summary(m0) length(coef(m0))==dim(vcov(m0)) names(coef(m0))==colnames(vcov(m0)) ##----------------------------------------------------------------------------- ## Teste por meio de comparações entre modelos aninhados. ## Testar o efeito de tempo na parte Poisson. ## ~trat+tempo|trat vs ~trat|trat. m1 <- zeroinfl(y~trat|trat, data=da) class(m1) anova.zeroinf <- function(m0, m1){ ll0 <- c(logLik(m0)) ll1 <- c(logLik(m1)) np0 <- length(coef(m0)) np1 <- length(coef(m1)) dnp <- abs(np0-np1) dll <- 2*abs(ll0-ll1) pchi <- pchisq(dll, df=dnp, lower.tail=FALSE) list("twice difference em log-likelihood"=dll, "difference in number of parameters"=dnp, "Pr(>chi)"=pchi) } ## Por razão de log-verossimilhanças. anova.zeroinf(m0, m1) ## Usando Wald para testar a mesma hipótese. names(coef(m0)) L <- rbind(c(0,0,0,0,1,0,0,0,0)) require(multcomp) ## Pela aproximação quadrática da log-verossimilhança. summary(glht(m0, linfct=L), test=Chisqtest()) ## Em modelos lineares de efeito fixo, as duas aboradagens dão mesmo ## resultado porque a aproximação quadrática de uma log-verossimilhança. À disposição. Walmes.

Muito obrigado Walmes, Fantástica solução, nova função anova.zeroinf() de Walmes, problema resolvido, -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== On 15/12/2014 16:15, walmes . wrote:
require(multcomp)
## Pela aproximação quadrática da log-verossimilhança. summary(glht(m0, linfct=L), test=Chisqtest())
--- Este email foi escaneado pelo Avast antivírus. http://www.avast.com
participantes (2)
-
ASANTOS
-
walmes .