Commit d3769b49 authored by Konrad Hinsen's avatar Konrad Hinsen

Révision de la traduction anglaise

parent f214aeb4
...@@ -15,24 +15,24 @@ ...@@ -15,24 +15,24 @@
# #+PROPERTY: header-args :session :exports both # #+PROPERTY: header-args :session :exports both
On January 27, 1986, the day before the takeoff of the shuttle /Challenger/, had On January 27, 1986, the day before the takeoff of the shuttle /Challenger/, had
held a three-hour teleconference between the a three-hour teleconference was held between
Morton Thiokol (manufacturer of one of the engines) and NASA. The Morton Thiokol (the manufacturer of one of the engines) and NASA. The
discussion focused on the consequences of the discussion focused on the consequences of the
temperature at take-off of 31°F (just below temperature at take-off of 31°F (just below
0°C) on the success of the flight and in particular on the performance of the 0°C) for the success of the flight and in particular on the performance of the
O-rings used in motors. Indeed, no test O-rings used in the engines. Indeed, no test
had been performed at this temperature. had been performed at this temperature.
The following study therefore takes up some of the analyses carried out in this study The following study takes up some of the analyses carried out that
night and whose objective was to assess the potential influence of night with the objective of assessing the potential influence of
the temperature and pressure to which the seals are subjected the temperature and pressure to which the O-rings are subjected
O-rings on their probability of malfunction. To do this, we on their probability of malfunction. Our starting point is
have the results of the experiments carried out by the engineers the results of the experiments carried out by NASA engineers
of NASA during the 6 years preceding the launch of the shuttle during the six years preceding the launch of the shuttle
Challenger. Challenger.
* Data loading * Loading the data
So we start by loading this data: We start by loading this data:
#+begin_src python :results value :session *python* :exports both #+begin_src python :results value :session *python* :exports both
import numpy as np import numpy as np
import pandas as pd import pandas as pd
...@@ -68,16 +68,15 @@ data ...@@ -68,16 +68,15 @@ data
22 1/12/86 6 58 200 1 22 1/12/86 6 58 200 1
#+end_example #+end_example
The data set shows us the date of the test, the number of joints The data set shows us the date of each test, the number of O-rings
(there are 6 on the main launcher), the (there are 6 on the main launcher), the
temperature (in Fahrenheit) and pressure (in psi), and finally the temperature (in Fahrenheit) and pressure (in psi), and finally the
number of identified dysfunctions. number of identified malfunctions.
* Graphical data inspection * Graphical inspection
Flights where no incidents are found that do not provide any information Flights without incidents do not provide any information
on the influence of temperature or pressure on the on the influence of temperature or pressure on malfunction.
dysfunctions, we focus on experiences where in the We thus focus on the experiments in which at least one O-ring was defective.
at least one seal was defective.
#+begin_src python :results value :session *python* :exports both #+begin_src python :results value :session *python* :exports both
data = data[data.Malfunction>0] data = data[data.Malfunction>0]
...@@ -94,7 +93,7 @@ data ...@@ -94,7 +93,7 @@ data
: 20 10/30/85 6 75 200 2 : 20 10/30/85 6 75 200 2
: 22 1/12/86 6 58 200 1 : 22 1/12/86 6 58 200 1
All right, we have a high temperature variability but We have a high temperature variability but
the pressure is almost always 200, which should the pressure is almost always 200, which should
simplify the analysis. simplify the analysis.
...@@ -114,17 +113,16 @@ print(matplot_lib_filename) ...@@ -114,17 +113,16 @@ print(matplot_lib_filename)
#+RESULTS: #+RESULTS:
[[file:freq_temp_python.png]] [[file:freq_temp_python.png]]
At first sight, it's not obvious but good, let's try it anyway At first glance, the dependence does not look very important, but let's try to
to estimate the impact of temperature $t$ on the probability of estimate the impact of temperature $t$ on the probability of O-ring malfunction.
malfunctions of a seal.
* Estimation of the temperature influence * Estimation of the temperature influence
Suppose that each of the 6 toroidal seals is damaged with the same Suppose that each of the six O-rings is damaged with the same
probability and independently of the others and that this probability does not probability and independently of the others and that this probability
depends only on the temperature. If we note $p(t)$ this probability, the depends only on the temperature. If $p(t)$ is this probability, the
number of joints $D$ malfunctioning when the flight is performed at number $D$ of malfunctioning O-rings during a flight at
temperature $t$ follows a binomial law of parameter $n=6$ and temperature $t$ follows a binomial law with parameters $n=6$ and
$p=p(t)$. To link $p(t)$ to $t$, we will therefore perform a $p=p(t)$. To link $p(t)$ to $t$, we will therefore perform a
logistic regression. logistic regression.
...@@ -166,9 +164,9 @@ and the standard error of this estimator is 0.122, in other words we ...@@ -166,9 +164,9 @@ and the standard error of this estimator is 0.122, in other words we
cannot distinguish any particular impact and we must take our cannot distinguish any particular impact and we must take our
estimates with caution. estimates with caution.
* Estimation of the probability of malfunctioning O-rings * Estimation of the probability of O-ring malfunction
The expected temperature on take-off day is 31°F. Let's try to The expected temperature on the take-off day is 31°F. Let's try to
estimate the probability of malfunctioning O-rings at estimate the probability of O-ring malfunction at
this temperature from the model we just built: this temperature from the model we just built:
#+begin_src python :results output file :var matplot_lib_filename="proba_estimate_python.png" :exports both :session *python* #+begin_src python :results output file :var matplot_lib_filename="proba_estimate_python.png" :exports both :session *python*
...@@ -190,9 +188,7 @@ print(matplot_lib_filename) ...@@ -190,9 +188,7 @@ print(matplot_lib_filename)
As expected from the initial data, the As expected from the initial data, the
temperature has no significant impact on the probability of failure of the temperature has no significant impact on the probability of failure of the
O-rings. It will be about 0.2, as in the tests O-rings. It will be about 0.2, as in the tests
where we had a failure of at least one joint. Let's get back to the subject where we had a failure of at least one joint. Let's get back to the initial dataset to estimate the probability of failure:
to the set of initial data to estimate the probability of
failure of a seal:
#+begin_src python :results output :session *python* :exports both #+begin_src python :results output :session *python* :exports both
data = pd.read_csv("shuttle.csv") data = pd.read_csv("shuttle.csv")
...@@ -202,21 +198,20 @@ print(np.sum(data.Malfunction)/np.sum(data.Count)) ...@@ -202,21 +198,20 @@ print(np.sum(data.Malfunction)/np.sum(data.Count))
#+RESULTS: #+RESULTS:
: 0.06521739130434782 : 0.06521739130434782
This probability is therefore about $p=0.065$, knowing that there is This probability is thus about $p=0.065$. Knowing that there is
a primary seal a secondary seal on each of the three parts of the a primary and a secondary O-ring on each of the three parts of the
launcher, the probability of failure of the two joints of a launcher launcher, the probability of failure of both joints of a launcher
is $p^2 \approx 0.00425$. The probability of failure of one of the is $p^2 \approx 0.00425$. The probability of failure of any one of the
so the thrower is $1-(1-p^2)^3 \approximately 1.2%$. It would really be launchers is $1-(1-p^2)^3 \approximately 1.2%$. That would really be
no luck.... Everything is under control, so the takeoff can have bad luck.... Everything is under control, so the takeoff can happen
tomorrow as planned. tomorrow as planned.
Only the next day, the Challenger shuttle will explode and take away But the next day, the Challenger shuttle exploded and took away
with her seven crew members. Public opinion is with her the seven crew members. The public was shocked and in
affected and in the subsequent investigation, the reliability of the the subsequent investigation, the reliability of the
O-rings will be directly implicated. Beyond the problems O-rings was questioned. Beyond the internal communication problems
of internal communication at NASA, which have a lot to do with this of NASA, which have a lot to do with this fiasco, the previous analysis
fiasco, the previous analysis includes (at least) a small includes (at least) a small problem.... Can you find it?
problem.... Can you find it? You are free to modify this You are free to modify this analysis and to look at this dataset
analysis and to look at this dataset from all angles in order to from all angles in order to to explain what's wrong.
to explain what's wrong.
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