@@ -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
analyse et de regarder ce jeu de données sous tous les angles afin
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 :
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")
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_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)
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...