diff --git a/module2/exo5/exo5_fr.Rmd b/module2/exo5/exo5_fr.Rmd index 479d7823321976e2d925d00ea599e205bfbd8cc7..dc0476084056f2c9167896d9eb31b9ea0e51f19e 100644 --- a/module2/exo5/exo5_fr.Rmd +++ b/module2/exo5/exo5_fr.Rmd @@ -26,6 +26,8 @@ Challenger. Nous commençons donc par charger ces données: ```{r} +library(ggplot2) + data = read.csv("shuttle.csv",header=T) data ``` @@ -42,8 +44,8 @@ dysfonctionnements, nous nous concentrons sur les expériences où au moins un joint a été défectueux. ```{r} -data = data[data$Malfunction>0,] -data +data2 = data[data$Malfunction>0,] +data2 ``` Très bien, nous avons une variabilité de température importante mais @@ -52,7 +54,7 @@ simplifier l'analyse. Comment la fréquence d'échecs varie-t-elle avec la température ? ```{r} -plot(data=data, Malfunction/Count ~ Temperature, ylim=c(0,1)) +plot(data=data2, Malfunction/Count ~ Temperature, ylim=c(0,1)) ``` À première vue, ce n'est pas flagrant mais bon, essayons quand même @@ -70,7 +72,7 @@ $p=p(t)$. Pour relier $p(t)$ à $t$, on va donc effectuer une régression logistique. ```{r} -logistic_reg = glm(data=data, Malfunction/Count ~ Temperature, weights=Count, +logistic_reg = glm(data=data2, Malfunction/Count ~ Temperature, weights=Count, family=binomial(link='logit')) summary(logistic_reg) ``` @@ -90,7 +92,7 @@ cette température à partir du modèle que nous venons de construire: tempv = seq(from=30, to=90, by = .5) rmv <- predict(logistic_reg,list(Temperature=tempv),type="response") plot(tempv,rmv,type="l",ylim=c(0,1)) -points(data=data, Malfunction/Count ~ Temperature) +points(data=data2, Malfunction/Count ~ Temperature) ``` Comme on pouvait s'attendre au vu des données initiales, la @@ -122,3 +124,14 @@ fiasco, l'analyse précédente comporte (au moins) un petit problème... Saurez-vous le trouver ? Vous êtes libre de modifier cette analyse et de regarder ce jeu de données sous tous les angles afin d'expliquer ce qui ne va pas. + +L'analyse montrant ce qui ne va pas se trouve ci-dessous. +```{r} +ggplot(data, aes(Temperature, Malfunction/Count)) + geom_point(alpha=.3,size=3) + theme_bw() + geom_smooth(method="glm", method.args=list(family="binomial")) +``` + +On peut voir deux choses apparaître dans la figure ci-dessus: + +- Lorsque l'on décide de ne pas ignore les vols où aucun incident n'ont eu lieu, on se rend compte que les tests effectués alors que la température est plus élevée semble mener à moins d'incident. + +- Le manque de données sur des vols alors que la température est basse est très grave car on peut voir que l'incertitude de l'estimation qu'on obtient avec la régression logistique est très importante: la probabilité d'avoir un incident varie déjà presque entre 0 et 1 à 53°F donc on peut facilement imaginer que c'est encore pire à 30°F.