mirror of
https://app-learninglab.inria.fr/moocrr/gitlab/da84ababf0696af51bddad556af86353/mooc-rr.git
synced 2026-06-21 11:35:27 +02:00
Module 2 Exo 5 fini !
This commit is contained in:
parent
200490838b
commit
e00ab08ee2
1 changed files with 118 additions and 26 deletions
|
|
@ -42,30 +42,31 @@ data
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
#+begin_example
|
#+begin_example
|
||||||
Date Count Temperature Pressure Malfunction
|
|
||||||
1 4/12/81 6 66 50 0
|
Date Count Temperature Pressure Malfunction
|
||||||
2 11/12/81 6 70 50 1
|
1 4/12/81 6 66 50 0
|
||||||
3 3/22/82 6 69 50 0
|
2 11/12/81 6 70 50 1
|
||||||
4 11/11/82 6 68 50 0
|
3 3/22/82 6 69 50 0
|
||||||
5 4/04/83 6 67 50 0
|
4 11/11/82 6 68 50 0
|
||||||
6 6/18/82 6 72 50 0
|
5 4/04/83 6 67 50 0
|
||||||
7 8/30/83 6 73 100 0
|
6 6/18/82 6 72 50 0
|
||||||
8 11/28/83 6 70 100 0
|
7 8/30/83 6 73 100 0
|
||||||
9 2/03/84 6 57 200 1
|
8 11/28/83 6 70 100 0
|
||||||
10 4/06/84 6 63 200 1
|
9 2/03/84 6 57 200 1
|
||||||
11 8/30/84 6 70 200 1
|
10 4/06/84 6 63 200 1
|
||||||
12 10/05/84 6 78 200 0
|
11 8/30/84 6 70 200 1
|
||||||
13 11/08/84 6 67 200 0
|
12 10/05/84 6 78 200 0
|
||||||
14 1/24/85 6 53 200 2
|
13 11/08/84 6 67 200 0
|
||||||
15 4/12/85 6 67 200 0
|
14 1/24/85 6 53 200 2
|
||||||
16 4/29/85 6 75 200 0
|
15 4/12/85 6 67 200 0
|
||||||
17 6/17/85 6 70 200 0
|
16 4/29/85 6 75 200 0
|
||||||
18 7/29/85 6 81 200 0
|
17 6/17/85 6 70 200 0
|
||||||
19 8/27/85 6 76 200 0
|
18 7/29/85 6 81 200 0
|
||||||
20 10/03/85 6 79 200 0
|
19 8/27/85 6 76 200 0
|
||||||
21 10/30/85 6 75 200 2
|
20 10/03/85 6 79 200 0
|
||||||
22 11/26/85 6 76 200 0
|
21 10/30/85 6 75 200 2
|
||||||
23 1/12/86 6 58 200 1
|
22 11/26/85 6 76 200 0
|
||||||
|
23 1/12/86 6 58 200 1
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
Le jeu de données nous indique la date de l'essai, le nombre de joints
|
Le jeu de données nous indique la date de l'essai, le nombre de joints
|
||||||
|
|
@ -85,6 +86,7 @@ data
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
|
:
|
||||||
: Date Count Temperature Pressure Malfunction
|
: Date Count Temperature Pressure Malfunction
|
||||||
: 2 11/12/81 6 70 50 1
|
: 2 11/12/81 6 70 50 1
|
||||||
: 9 2/03/84 6 57 200 1
|
: 9 2/03/84 6 57 200 1
|
||||||
|
|
@ -99,7 +101,7 @@ la pression est quasiment toujours égale à 200, ce qui devrait
|
||||||
simplifier l'analyse.
|
simplifier l'analyse.
|
||||||
|
|
||||||
Comment la fréquence d'échecs varie-t-elle avec la température ?
|
Comment la fréquence d'échecs varie-t-elle avec la température ?
|
||||||
#+begin_src R :results output graphics :file "freq_temp.png" :exports both :width 600 :height 400 :session *R*
|
#+begin_src R :results output graphics file :file "freq_temp.png" :exports both :width 600 :height 400 :session *R*
|
||||||
plot(data=data, Malfunction/Count ~ Temperature, ylim=c(0,1))
|
plot(data=data, Malfunction/Count ~ Temperature, ylim=c(0,1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -161,7 +163,7 @@ La température prévue le jour du décollage est de 31°F. Essayons
|
||||||
d'estimer la probabilité de dysfonctionnement des joints toriques à
|
d'estimer la probabilité de dysfonctionnement des joints toriques à
|
||||||
cette température à partir du modèle que nous venons de construire:
|
cette température à partir du modèle que nous venons de construire:
|
||||||
|
|
||||||
#+begin_src R :results output graphics :file "proba_estimate.png" :exports both :width 600 :height 400 :session *R*
|
#+begin_src R :results output graphics file :file "proba_estimate.png" :exports both :width 600 :height 400 :session *R*
|
||||||
# shuttle=shuttle[shuttle$r!=0,]
|
# shuttle=shuttle[shuttle$r!=0,]
|
||||||
tempv = seq(from=30, to=90, by = .5)
|
tempv = seq(from=30, to=90, by = .5)
|
||||||
rmv <- predict(logistic_reg,list(Temperature=tempv),type="response")
|
rmv <- predict(logistic_reg,list(Temperature=tempv),type="response")
|
||||||
|
|
@ -185,6 +187,7 @@ sum(data_full$Malfunction)/sum(data_full$Count)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
|
:
|
||||||
: [1] 0.06521739
|
: [1] 0.06521739
|
||||||
|
|
||||||
Cette probabilité est donc d'environ $p=0.065$, sachant qu'il existe
|
Cette probabilité est donc d'environ $p=0.065$, sachant qu'il existe
|
||||||
|
|
@ -205,3 +208,92 @@ 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.
|
||||||
|
|
||||||
|
* Entrainement du modèle sur toutes les données
|
||||||
|
|
||||||
|
On recalcule le modèle en prenant en compte toutes les données
|
||||||
|
|
||||||
|
#+begin_src R :results output :session *R* :exports both
|
||||||
|
logistic_reg_full = glm(data=data_full, Malfunction/Count ~ Temperature, weights=Count,
|
||||||
|
family=binomial(link='logit'))
|
||||||
|
summary(logistic_reg_full)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
On peut voir dans les résultats que l'on trouve un impact de la
|
||||||
|
température significatif au seuil $5%$ :
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
#+begin_example
|
||||||
|
|
||||||
|
Call:
|
||||||
|
glm(formula = Malfunction/Count ~ Temperature, family = binomial(link = "logit"),
|
||||||
|
data = data_full, weights = Count)
|
||||||
|
|
||||||
|
Deviance Residuals:
|
||||||
|
Min 1Q Median 3Q Max
|
||||||
|
-0.95227 -0.78299 -0.54117 -0.04379 2.65152
|
||||||
|
|
||||||
|
Coefficients:
|
||||||
|
Estimate Std. Error z value Pr(>|z|)
|
||||||
|
(Intercept) 5.08498 3.05247 1.666 0.0957 .
|
||||||
|
Temperature -0.11560 0.04702 -2.458 0.0140 *
|
||||||
|
---
|
||||||
|
codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
|
||||||
|
|
||||||
|
(Dispersion parameter for binomial family taken to be 1)
|
||||||
|
|
||||||
|
Null deviance: 24.230 on 22 degrees of freedom
|
||||||
|
Residual deviance: 18.086 on 21 degrees of freedom
|
||||||
|
AIC: 35.647
|
||||||
|
|
||||||
|
Number of Fisher Scoring iterations: 5
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
** Prédictions :
|
||||||
|
|
||||||
|
#+begin_src R :results output graphics file :file "proba_estimate.png" :exports both :width 600 :height 400 :session *R*
|
||||||
|
# shuttle=shuttle[shuttle$r!=0,]
|
||||||
|
tempv = seq(from=30, to=90, by = .5)
|
||||||
|
rmv <- predict(logistic_reg_full,list(Temperature=tempv),type="response")
|
||||||
|
plot(tempv,rmv,type="l",ylim=c(0,1))
|
||||||
|
points(data=data, Malfunction/Count ~ Temperature)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:proba_estimate.png]]
|
||||||
|
Bien que l'on ait un faible jeu de données le graphique semble nous
|
||||||
|
indiquer que dans le domaine proche de 30°F le risque de
|
||||||
|
dysfonctionnement se rapproche de 1.
|
||||||
|
|
||||||
|
#+begin_src R :results output :session *R* :exports both
|
||||||
|
prediction_31F <- predict(logistic_reg_full, newdata = list(Temperature=31), type="response")
|
||||||
|
prediction_31F
|
||||||
|
prediction_31F**2
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
:
|
||||||
|
: 1
|
||||||
|
: 0.8177744
|
||||||
|
:
|
||||||
|
: 1
|
||||||
|
: 0.668755
|
||||||
|
|
||||||
|
En définissant le modèle sur l'ensemble du jeu de données, le risque
|
||||||
|
de panne d'un joint est donc estimé à $p=0.817774$ soit environ $82%$
|
||||||
|
de risque de problème avec un joint.
|
||||||
|
En supposant l'indépendance des pannes des joints, on trouve un risque
|
||||||
|
de panne des 2 joints primaires et secondaires de $p²=0.668755$.
|
||||||
|
|
||||||
|
#+begin_src R :results output :session *R* :exports both
|
||||||
|
1 - (1 - prediction_31F**2)**3
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
: 1
|
||||||
|
: 0.9636547
|
||||||
|
|
||||||
|
Ce qui donne donc une probabilité de défaillance du lanceur $1-(1-p²)³
|
||||||
|
= 0.9636547$.
|
||||||
|
|
||||||
|
** Conclusion
|
||||||
|
*Il ne faut surtout pas lancer la fusée*
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue