Un exemple de régression logistique Une expérience sur la toxicité du tabac sur des larves de Heliothis virescens. On a mis 20 de ces larves de chaque sexe en présence de différentes doses de pyrethoide trans-cypermethrine (en g) pendant 72 heures et on a compté le nombre d’individus morts : Dose Sexe Male Female
Un exemple de régression logistique > ldose = rep(0:5,2) # log2(dose) > mort = c(1,4,9,13,18,20,0,2,6,10,12,16) > sex = factor(rep(c("M","F"),c(6,6))) > SF = cbind(mort,vivant=20-mort) > ldose [1] > Mort [1] > Sex [1] M M M M M M F F F F F F Levels: F M > SF mort vivant [1,] 1 19 [2,] 4 16 [3,] 9 11 [4,] 13 7 [5,] 18 2 [6,] 20 0 [7,] 0 20 [8,] 2 18 [9,] 6 14 [10,] [11,] 12 8 [12,] 16 4
Un exemple de régression logistique > ldose = rep(0:5,2) # log2(dose) > mort = c(1,4,9,13,18,20,0,2,6,10,12,16) > sex = factor(rep(c("M","F"),c(6,6))) > SF = cbind(mort,vivant=20-mort) > effec.lg = glm(SF~sex*ldose,family=binomial) > summary(effec.lg, cor=F) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) e-08 *** sexM ldose e-08 *** sexM:ldose Null deviance: on 11 degrees of freedom Residual deviance: on 8 degrees of freedom AIC:
Un exemple de régression logistique > par(mfcol=c(2,2)) > plot(effec.lg)
Un exemple de régression logistique
> ldose = rep(0:5,2) # log2(dose) > mort = c(1,4,9,13,18,20,0,2,6,10,12,16) > SF = cbind(mort,vivant=20-mort) > effec.lg0 = glm(SF~ldose,family=binomial) > summary(effec.lg0, cor=F) Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) e-14 *** ldose e-16 *** Null deviance: on 11 degrees of freedom Residual deviance: on 10 degrees of freedom AIC: Explication des calculs de déviance
Un exemple de régression logistique Null deviance: on 11 degrees of freedom Residual deviance: on 10 degrees of freedom AIC: > # calcul de la LogVraisemblence du modèle saturé > # à chaque mort(i) est associé sa proba p(i)=mort(i)/20 > # ==> dbinom(mort,20,mort/20) > LVsat = sum(log(dbinom(mort,20,mort/20))) [1] Explication des calculs de déviance
Un exemple de régression logistique Null deviance: on 11 degrees of freedom Residual deviance: on 10 degrees of freedom AIC: > # calcul de la LogVraisemblence du modèle null > # on utilise pour p(i), p0 estimée > # ==> dbinom(mort,20,p0) > p0 = sum(mort/20)/12 [1] > LV0 = sum(log(dbinom(mort,20,p0))) [1] > # déviance du modèle null > dev0 = -2*(LVsat-LV0) [1] Explication des calculs de déviance
Un exemple de régression logistique Null deviance: on 11 degrees of freedom Residual deviance: on 10 degrees of freedom AIC: > # calcul de la LogVraisemblence du modèle de régression > # on utilise pour p(i), les prédictions du modèle > # ==> dbinom(mort,20,p_pred) > p_pred = predict(effec.lg0,type="response") > LVx = sum(log(dbinom(mort,20,p_pred))) [1] > # déviance du modèle > devx = -2*(LVsat-LVx) [1] > # calcul de l’AIC = 2LVx + 2p > aicx = -2*LVx + 2*2 [1] Explication des calculs de déviance
Un exemple de régression logistique