[R-es] Duda sobre GLM

Carlos J. Gil Bellosta cgb en datanalytics.com
Mie Feb 4 00:02:00 CET 2015


Hola, ¿qué tal?

Leyendo con más cuidado me he dado cuenta de lo de los cero casos en
control. Tu problema se puede reproducir con un ejemplo como

dat <- data.frame(a = c(10, 10, 10, 10), b = c(0,2,3,4), grupo = letters[1:4])
res <- glm(cbind(a,b) ~ grupo, data = dat, family = binomial)
summary(res)

La culpa de todo la tiene ese cero en el primer grupo.

Los coeficientes de tu modelo son los logaritmos del "odds ratio"
entre tus tratamientos y control. Que es un número muy grande según
tus resultados e infinito en un cálculo exacto (porque los "odds" de
control son exactamente cero).

Por eso creo que no te salvará un "cálculo exacto". Lo que igual te
podría servir (sobre todo con un tamaño muestral pequeño) es una
aproximación bayesiana en la que la priori del control no sea un cero.
La función glmer (de lme4) te podría servir. Se trata de compensar tu
pequeño tamaño muestral con el conocimiento "a priori" de que algún
tipo de mortalidad tiene que haber en el grupo de control, aunque por
"accidente" no se haya registrado muerte alguna en él.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com






El día 3 de febrero de 2015, 16:17, Matias Ledesma
<matutetote en hotmail.com> escribió:
>
>
>
> Hola a todos!
>
>
>
> Tengo una duda acerca de una glm muy simple que estoy haciendo para
> analizar  bioensayos de mortalidad con
> sedimento extraído en cuatro estaciones de un puerto.
>
>
>
> El modelo es el siguiente:
>
>
>
> m1<-glm (cbind (Mortalidad,Sobrev)~Muestra, family=binomial,data=dat2)
>
> summary(m1)
>
>
>
> Call:
>
> glm(formula = cbind (Mortalidad, Sobrev) ~ Muestra, family =
> binomial,
>
>     data = dat2)
>
>
>
> Deviance Residuals:
>
>      Min
>    1Q    Median        3Q
>   Max
>
> -2.80372  -0.44368  -0.00019   0.58488   1.78081
>
>
>
>
> Coefficients:
>
>             Estimate Std. Error z value
> Pr(>|z|)
>
> (Intercept)   -20.12    2587.87  -0.008
>  0.994
>
> MuestraB1      19.39    2587.87   0.007
>    0.994
>
> MuestraB2      19.27    2587.87   0.007
>    0.994
>
> MuestraC
>   17.92    2587.87   0.007    0.994
>
>
>
> (Dispersion parameter for
> binomial family taken to be 1)
>
>
>
>     Null
> deviance: 41.324  on 14  degrees of freedom
>
> Residual deviance: 19.340
>  on 11  degrees of freedom
>
> AIC: 51.564
>
>
>
> Number of Fisher Scoring
> iterations: 17
> El control (intercept) tiene mortalidad cero, lo cual explica el resultado erróneo. Me aconsejaron utilizar un aproximación numérica exacta. Alguien sabe si hay algún paquete en R que lo haga?
>
>
> SaludosMatias
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



Más información sobre la lista de distribución R-help-es