Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
da84ababf0696af51bddad556af86353
mooc-rr
Commits
e00ab08e
Commit
e00ab08e
authored
Nov 20, 2022
by
Louis Lacoste
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Module 2 Exo 5 fini !
parent
20049083
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
118 additions
and
26 deletions
+118
-26
exo5_R_fr.org
module2/exo5/exo5_R_fr.org
+118
-26
No files found.
module2/exo5/exo5_R_fr.org
View file @
e00ab08e
...
@@ -42,6 +42,7 @@ data
...
@@ -42,6 +42,7 @@ data
#+RESULTS:
#+RESULTS:
#+begin_example
#+begin_example
Date Count Temperature Pressure Malfunction
Date Count Temperature Pressure Malfunction
1 4/12/81 6 66 50 0
1 4/12/81 6 66 50 0
2 11/12/81 6 70 50 1
2 11/12/81 6 70 50 1
...
@@ -85,6 +86,7 @@ data
...
@@ -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
...
@@ -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
...
@@ -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)
...
@@ -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
...
@@ -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*
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment