From 4e626856f8448f6c2940e6f8f40a1e3960ddbe9e Mon Sep 17 00:00:00 2001 From: gallayfl Date: Wed, 20 Oct 2021 19:04:08 +0200 Subject: [PATCH] Complete exercise 5 --- module2/exo5/exo5_fr.Rmd | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/module2/exo5/exo5_fr.Rmd b/module2/exo5/exo5_fr.Rmd index 479d782..dc04760 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. -- 2.18.1