Buenas tardes Jose Luis,

Considera las siguientes opciones:

# Datos simulados
set.seed(123)
n <- 100
b0 <- 0.5
b1 <- .7
b2 <- .2
x1 <- rnorm(n, mean = 1, sd = 0.5)
y <- rbinom(n, 1, 1/(1+ exp(-(b0 + b1 * x1))))
datos <- data.frame(y, x1)

# Modelos
m1 <- glm(y ~ x1, family = binomial)
m2 <- glm(y ~ 1, family = binomial)

# -------------------------------------------------
# Evaluando la inclusión de x1
# -------------------------------------------------

# Option 1
G2 <- m2$deviance - m1$deviance
p <- pchisq(G2, df=1, lower.tail = FALSE)
out <- c(G2, p)
names(out) <- c('G2','pvalue')
out
# G2    pvalue
# 1.8862554 0.1696249

# Option 2:  en un solo paso
pchisq(abs(anova(m1,m2)$Deviance[2]), 1, lower.tail = FALSE)
# [1] 0.1696249

# Option 3:  usando lrtest en lmtest
# install.packages('lmtest')   # descativa esto si no tienes lmtest
instalada
require(lmtest)
lrtest(m1, m2)
# Likelihood ratio test
#
#Model 1: y ~ x1
#Model 2: y ~ 1
# #Df  LogLik Df  Chisq Pr(>Chisq)
#1   2 -54.165
#2   1 -55.108 -1 1.8863     0.1696

Puedes encontrar un poco mas de informacion en

http://data.princeton.edu/R/glms.html

Espero sea de utilidad,

                  Jorge Ivan Velez


2010/1/13 jose luis <>

> Hola a todos.
> Necesito contrastar la bondad del ajuste en un modelo de regresión
> logística con variable explicativa cualitativa.
> He creado el modelo con :
>
> modelo.ajustado<-glm(muerte~dosis,family=binomial,weights=Freq,data=datos)
>
>
> dónde Freq son las frecuencias en cada categoría. Con
>
> summary(modelo.ajustado)
>
> Call:
> glm(formula = muerte ~ dosis, family = binomial, data = datos,
>   weights = Freq)
>
> Deviance Residuals:
>   Min       1Q   Median       3Q      Max -4.5442  -2.5699   0.8772
> 6.6161  16.4381
> Coefficients:
>           Estimate Std. Error z value Pr(>|z|)   (Intercept)  -7.5462
> 0.2673 -28.228  < 2e-16 ***
> dosisB        0.4362     0.3061   1.425  0.15419   dosisC        0.9165
> 0.3524   2.601  0.00930 **
> dosisD        1.2262     0.4632   2.647  0.00812 **
> dosisE        2.1411     0.3857   5.552 2.83e-08 ***
> dosisF        3.1459     0.3111  10.113  < 2e-16 ***
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>
> (Dispersion parameter for binomial family taken to be 1)
>
>   Null deviance: 2110.0  on 59  degrees of freedom
> Residual deviance: 1960.8  on 54  degrees of freedom
> AIC: 1972.8
>
> Number of Fisher Scoring iterations: 8
>
> Y no sé cómo calcular el estadístico G2, y su p-valor, pensaba que era
> 1-pchisq("devianza residual", gl). pero creo que no, que tiene algo que ver
> con la diferencia de la log-verosimilitud entre el modelo saturado y este.
> ¿cómo se podría hacer?
>
> Gracias.
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]

