Commit e4ed482d authored by Thibault Leboucher's avatar Thibault Leboucher

resolution_exo5

parent 67692c49
...@@ -122,3 +122,62 @@ fiasco, l'analyse précédente comporte (au moins) un petit ...@@ -122,3 +122,62 @@ fiasco, l'analyse précédente comporte (au moins) un petit
problème... Saurez-vous le trouver ? Vous êtes libre de modifier cette 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 analyse et de regarder ce jeu de données sous tous les angles afin
d'expliquer ce qui ne va pas. d'expliquer ce qui ne va pas.
# Bon... Reprenons depuis le début !
```{r, echo = FALSE}
rm(list = ls())
library(ggplot2)
data <- read.csv("shuttle.csv",header=T)
```
Commençons par observer les données :
```{r}
data
```
Contrairement à ce qui a été fait plus haut, il ne faut pas supprimer les cas où tout a bien fonctioné et regardons comment les échecs varient en fonction de la température :
```{r}
plot(data=data, Malfunction/Count ~ Temperature, ylim=c(0,0.5))
```
Estimons maintenant l'influence de la température :
```{r}
logistic_reg <- glm(data = data, Malfunction/Count ~ Temperature, weights = Count,
family=binomial(link='logit'))
summary(logistic_reg)
```
Cette fois-ci, l'estimateur le plus probable du paramètre de température est `r round(as.numeric(logistic_reg$coefficients[2]),4)` et l'erreur standard de cet estimateur est de `r round(as.numeric(summary(logistic_reg)$coef[4]),4)`, ce qui rend les estimations plus fiables. Essayons de déterminer la probabilité d'accident le jour du lancement avec ce nouveau modèle :
```{r}
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)
```
En prenant en compte l'ensemble des données, la probabilité de dysfonctionnement n'est plus de 0.2 mais de plus de 0.8... Elle est précisement de $p = `r round(as.numeric(predict(logistic_reg,list(Temperature = 31), type = "response")),2)`$. Contrairement à ce qui est écrit plus haut, la probabilité de défaillance des deux joints le jour du lancement avec une température de $31°F$ est donc approximativement de : $p^2 \approx `r round((as.numeric(predict(logistic_reg,list(Temperature = 31), type = "response"))^2),2)`$. La probabilité de défaillance d'un des
lançeur est donc de $1-(1-p^2)^3 \approx `r 1-((1-as.numeric(predict(logistic_reg,list(Temperature = 31), type = "response"))^2)^3)`$. Cette estimation ne prend cependant pas en compte l'incertitude de la prédiction qui doit pourtant être énorme puisque la valeur de $31°F$ est très éloignée de tout ce qui avait été testé. On peut d'ailleur la visualiser de la manière suivant :
```{r warning=FALSE}
ggplot(data = data, aes(x = Temperature, y = Malfunction)) +
geom_smooth(method = "glm", method.args = list(family = "binomial"), fullrange = TRUE) +
geom_point(data = data, aes(x = Temperature, y = Malfunction), alpha = 0.2, size = 2, color = "blue") +
geom_point(alpha = 0.5, size = 0.5) +
xlim(30,90) + ylim(0,1) + theme_bw()
```
Graphiquement, on peut voir que notre valeur $p = `r round(as.numeric(predict(logistic_reg,list(Temperature = 31), type = "response")),2)`$ à un intervale de confiance compris entre $[0.2 - 1]$. On peut affiner l'estimation de cette incertitude de la manière suivante :
```{r}
pred <- predict(logistic_reg,list(Temperature = 31), type = "link", se.fit = TRUE)
interval <- logistic_reg$family$linkinv(c(pred$fit-1.96*pred$se.fit,
pred$fit+1.96*pred$se.fit))
interval
```
Un intervale de confiance à 95% donne donc une estimation de $p$ comprise entre $[ `r round(as.numeric(interval[1]),3)` - `r round(as.numeric(interval[2]),3)`]$ (pour mémoire $p = `r round(as.numeric(predict(logistic_reg,list(Temperature = 31), type = "response")),2)`$). Il semble évident avec toutes ces analyses que la température à un impact sur le mauvais fonctionnement des joints toriques, mais le manque de tests à basses températures rend toute prédiction pour le lancement du 28 janvier 1986 impossible. Tout n'était donc pas sous contrôle...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment