un exemple de régression logistique une expérience sur la toxicité du tabac sur des larves de...
TRANSCRIPT
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 1 2 4 8 16 32
Male 1 4 9 13 18 20
Female 0 2 6 10 12 16
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] 0 1 2 3 4 5 0 1 2 3 4 5> Mort[1] 1 4 9 13 18 20 0 2 6 10 12 16> Sex[1] M M M M M M F F F F F FLevels: 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,] 10 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) -2.9935 0.5527 -5.416 6.09e-08 ***sexM 0.1750 0.7783 0.225 0.822 ldose 0.9060 0.1671 5.422 5.89e-08 ***sexM:ldose 0.3529 0.2700 1.307 0.191
Null deviance: 124.8756 on 11 degrees of freedomResidual deviance: 4.9937 on 8 degrees of freedomAIC: 43.104
Un exemple de régression logistique
> par(mfcol=c(2,2))> plot(effec.lg)
Un exemple de régression logistique
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) -2.7661 0.3701 -7.473 7.82e-14 ***ldose 1.0068 0.1236 8.147 3.74e-16 ***
Null deviance: 124.876 on 11 degrees of freedomResidual deviance: 16.984 on 10 degrees of freedomAIC: 51.094
Explication des calculs de déviance
Un exemple de régression logistique
Null deviance: 124.876 on 11 degrees of freedomResidual deviance: 16.984 on 10 degrees of freedomAIC: 51.094
> # 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] -15.0552
Explication des calculs de déviance
Un exemple de régression logistique
Null deviance: 124.876 on 11 degrees of freedomResidual deviance: 16.984 on 10 degrees of freedomAIC: 51.094
> # 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] 0.4625> LV0 = sum(log(dbinom(mort,20,p0)))[1] -77.493> # déviance du modèle null> dev0 = -2*(LVsat-LV0)[1] 124.8756
Explication des calculs de déviance
Un exemple de régression logistique
Null deviance: 124.876 on 11 degrees of freedomResidual deviance: 16.984 on 10 degrees of freedomAIC: 51.094
> # 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] -23.54722> # déviance du modèle> devx = -2*(LVsat-LVx)[1] 16.98403 > # calcul de l’AIC = 2LVx + 2p> aicx = -2*LVx + 2*2[1] 51.09443
Explication des calculs de déviance
Un exemple de régression logistique