From 45b8372bbc5cb7437cb1579bc7102ddfa78b4fbc Mon Sep 17 00:00:00 2001 From: Victor-M-Gomes Date: Wed, 29 Apr 2020 21:48:22 +0200 Subject: [PATCH] module2 exo5 --- module2/exo5/exo5_python_en.html | 528 +++++++++++++++++++++++++ module2/exo5/exo5_python_en.org | 134 ++++--- module2/exo5/freq_temp_python.png | Bin 12556 -> 13274 bytes module2/exo5/proba_estimate_python.png | Bin 14660 -> 22424 bytes 4 files changed, 609 insertions(+), 53 deletions(-) create mode 100644 module2/exo5/exo5_python_en.html diff --git a/module2/exo5/exo5_python_en.html b/module2/exo5/exo5_python_en.html new file mode 100644 index 0000000..d065cc1 --- /dev/null +++ b/module2/exo5/exo5_python_en.html @@ -0,0 +1,528 @@ + + + + + + + + +Analysis of the risk of failure of the O-rings on the Challenger shuttle + + + + + + + + + + + + + + +
+

Analysis of the risk of failure of the O-rings on the Challenger shuttle

+ +

+On January 27, 1986, the day before the takeoff of the shuttle Challenger, +a three-hour teleconference was held between +Morton Thiokol (the manufacturer of one of the engines) and NASA. The +discussion focused on the consequences of a 31°F (just below +0°C) temperature, at take-off, in the success of the flight and in particular +on the performance of the +O-rings used in the engines. Indeed, no test +had been performed at this temperature. +

+ +

+The following study takes up some of the analyses carried out that +night with the objective of assessing the potential influence of +the temperature and pressure to which the O-rings are subjected +on their probability of malfunction. Our starting point is +the results of the experiments carried out by NASA engineers +during the six years preceding the launch of the shuttle +Challenger. +

+ +
+

1 Loading the data

+
+

+We start by loading this data: +

+
+
import numpy as np
+import pandas as pd
+data = pd.read_csv("shuttle.csv")
+data
+
+
+ +
+        Date  Count  Temperature  Pressure  Malfunction
+0    4/12/81      6           66        50            0
+1   11/12/81      6           70        50            1
+2    3/22/82      6           69        50            0
+3   11/11/82      6           68        50            0
+4    4/04/83      6           67        50            0
+5    6/18/82      6           72        50            0
+6    8/30/83      6           73       100            0
+7   11/28/83      6           70       100            0
+8    2/03/84      6           57       200            1
+9    4/06/84      6           63       200            1
+10   8/30/84      6           70       200            1
+11  10/05/84      6           78       200            0
+12  11/08/84      6           67       200            0
+13   1/24/85      6           53       200            2
+14   4/12/85      6           67       200            0
+15   4/29/85      6           75       200            0
+16   6/17/85      6           70       200            0
+17   7/29/85      6           81       200            0
+18   8/27/85      6           76       200            0
+19  10/03/85      6           79       200            0
+20  10/30/85      6           75       200            2
+21  11/26/85      6           76       200            0
+22   1/12/86      6           58       200            1
+
+ +

+The data set shows us the date of each test, the number of O-rings +(there are 6 on the main launcher), the +temperature (in Fahrenheit) and pressure (in psi), and finally the +number of identified malfunctions. +

+
+
+ +
+

2 Graphical inspection

+
+

+Flights without incidents do not provide any information +on the influence of temperature or pressure on malfunction. +We thus focus on the experiments in which at least one O-ring was defective. +

+ +
+
data = data[data.Malfunction>0]
+data
+
+
+ +
+        Date  Count  Temperature  Pressure  Malfunction
+1   11/12/81      6           70        50            1
+8    2/03/84      6           57       200            1
+9    4/06/84      6           63       200            1
+10   8/30/84      6           70       200            1
+13   1/24/85      6           53       200            2
+20  10/30/85      6           75       200            2
+22   1/12/86      6           58       200            1
+
+ + +

+We have a high temperature variability but +the pressure is almost always 200, which should +simplify the analysis. +

+ +

+How does the frequency of failure vary with temperature? +

+
+
import matplotlib.pyplot as plt
+
+plt.clf()
+data["Frequency"]=data.Malfunction/data.Count
+data.plot(x="Temperature",y="Frequency",kind="scatter",ylim=[0,1])
+plt.grid(True)
+
+plt.savefig(matplot_lib_filename)
+print(matplot_lib_filename)
+
+
+ + +
+

freq_temp_python.png +

+
+ +

+At first glance, the dependence does not look very important, but let’s try to +estimate the impact of temperature \(t\) on the probability of O-ring malfunction. +

+
+
+ +
+

3 Estimation of the temperature influence

+
+

+Suppose that each of the six O-rings is damaged with the same +probability and independently of the others and that this probability +depends only on the temperature. If \(p(t)\) is this probability, the +number \(D\) of malfunctioning O-rings during a flight at +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 +logistic regression. +

+ +
+
import statsmodels.api as sm
+
+data["Success"]=data.Count-data.Malfunction
+data["Intercept"]=1
+
+
+# logit_model=sm.Logit(data["Frequency"],data[["Intercept","Temperature"]]).fit() 
+logmodel=sm.GLM(data['Frequency'], data[['Intercept','Temperature']], family=sm.families.Binomial(sm.families.links.logit)).fit()
+
+logmodel.summary()
+
+
+ +
+                  Generalized Linear Model Regression Results                  
+===============================================================================
+Dep. Variable:               Frequency   No. Observations:                    7
+Model:                             GLM   Df Residuals:                        5
+Model Family:                 Binomial   Df Model:                            1
+Link Function:                   logit   Scale:                          1.0000
+Method:                           IRLS   Log-Likelihood:                -2.5250
+Date:              mer., 29 avril 2020   Deviance:                      0.22231
+Time:                         16:49:18   Pearson chi2:                    0.236
+No. Iterations:                      4                                         
+Covariance Type:             nonrobust                                         
+===============================================================================
+                  coef    std err          z      P>|z|      [0.025      0.975]
+-------------------------------------------------------------------------------
+Intercept      -1.3895      7.828     -0.178      0.859     -16.732      13.953
+Temperature     0.0014      0.122      0.012      0.991      -0.238       0.240
+===============================================================================
+
+ +

+The most likely estimator of the temperature parameter is 0.0014 +and the standard error of this estimator is 0.122, in other words we +cannot distinguish any particular impact and we must take our +estimates with caution. +

+
+
+ +
+

4 Estimation of the probability of O-ring malfunction

+
+

+The expected temperature on the take-off day is 31°F. Let’s try to +estimate the probability of O-ring malfunction at +this temperature from the model we just built: +

+ +
+
import matplotlib.pyplot as plt
+
+data_pred = pd.DataFrame({'Temperature': np.linspace(start=30, stop=90, num=121), 'Intercept': 1})
+data_pred['Frequency'] = logmodel.predict(data_pred[['Intercept','Temperature']])
+data_pred.plot(x="Temperature",y="Frequency",kind="line",ylim=[0,1])
+plt.scatter(x=data["Temperature"],y=data["Frequency"])
+plt.grid(True)
+
+plt.savefig(matplot_lib_filename)
+print(matplot_lib_filename)
+
+
+ + +
+

proba_estimate_python.png +

+
+ +

+As expected from the initial data, 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 +where we had a failure of at least one joint. Let’s get back to the initial dataset to estimate the probability of failure: +

+ +
+
data = pd.read_csv("shuttle.csv")
+print(np.sum(data.Malfunction)/np.sum(data.Count))
+
+
+ +
+0.06521739130434782
+
+ + +

+This probability is thus about \(p=0.065\). Knowing that there is +a primary and a secondary O-ring on each of the three parts of the +launcher, the probability of failure of both joints of a launcher +is \(p^2 \approx 0.00425\). The probability of failure of any one of the +launchers is \(1-(1-p^2)^3 \approx 1.2%\). That would really be +bad luck…. Everything is under control, so the takeoff can happen +tomorrow as planned. +

+ +

+But the next day, the Challenger shuttle exploded and took away +with her the seven crew members. The public was shocked and in +the subsequent investigation, the reliability of the +O-rings was questioned. Beyond the internal communication problems +of NASA, which have a lot to do with this fiasco, the previous analysis +includes (at least) a small problem…. Can you find it? +You are free to modify this analysis and to look at this dataset +from all angles in order to explain what’s wrong. +

+
+
+
+
+

Author: Arnaud Legrand

+

Created: 2020-04-29 mer. 16:49

+
+ + diff --git a/module2/exo5/exo5_python_en.org b/module2/exo5/exo5_python_en.org index 39a203b..263b49f 100644 --- a/module2/exo5/exo5_python_en.org +++ b/module2/exo5/exo5_python_en.org @@ -14,12 +14,12 @@ # #+PROPERTY: header-args :session :exports both -On January 27, 1986, the day before the takeoff of the shuttle /Challenger/, had -a three-hour teleconference was held between +On January 27, 1986, the day before the takeoff of the shuttle /Challenger/, +a three-hour teleconference was held between Morton Thiokol (the manufacturer of one of the engines) and NASA. The -discussion focused on the consequences of the -temperature at take-off of 31°F (just below -0°C) for the success of the flight and in particular on the performance of the +discussion focused on the consequences of a 31°F (just below +0°C) temperature, at take-off, in the success of the flight and in particular +on the performance of the O-rings used in the engines. Indeed, no test had been performed at this temperature. @@ -42,30 +42,30 @@ data #+RESULTS: #+begin_example - Date Count Temperature Pressure Malfunction -0 4/12/81 6 66 50 0 -1 11/12/81 6 70 50 1 -2 3/22/82 6 69 50 0 -3 11/11/82 6 68 50 0 -4 4/04/83 6 67 50 0 -5 6/18/82 6 72 50 0 -6 8/30/83 6 73 100 0 -7 11/28/83 6 70 100 0 -8 2/03/84 6 57 200 1 -9 4/06/84 6 63 200 1 -10 8/30/84 6 70 200 1 -11 10/05/84 6 78 200 0 -12 11/08/84 6 67 200 0 -13 1/24/85 6 53 200 2 -14 4/12/85 6 67 200 0 -15 4/29/85 6 75 200 0 -16 6/17/85 6 70 200 0 -17 7/29/85 6 81 200 0 -18 8/27/85 6 76 200 0 -19 10/03/85 6 79 200 0 -20 10/30/85 6 75 200 2 -21 11/26/85 6 76 200 0 -22 1/12/86 6 58 200 1 + Date Count Temperature Pressure Malfunction +0 4/12/81 6 66 50 0 +1 11/12/81 6 70 50 1 +2 3/22/82 6 69 50 0 +3 11/11/82 6 68 50 0 +4 4/04/83 6 67 50 0 +5 6/18/82 6 72 50 0 +6 8/30/83 6 73 100 0 +7 11/28/83 6 70 100 0 +8 2/03/84 6 57 200 1 +9 4/06/84 6 63 200 1 +10 8/30/84 6 70 200 1 +11 10/05/84 6 78 200 0 +12 11/08/84 6 67 200 0 +13 1/24/85 6 53 200 2 +14 4/12/85 6 67 200 0 +15 4/29/85 6 75 200 0 +16 6/17/85 6 70 200 0 +17 7/29/85 6 81 200 0 +18 8/27/85 6 76 200 0 +19 10/03/85 6 79 200 0 +20 10/30/85 6 75 200 2 +21 11/26/85 6 76 200 0 +22 1/12/86 6 58 200 1 #+end_example The data set shows us the date of each test, the number of O-rings @@ -79,19 +79,37 @@ on the influence of temperature or pressure on malfunction. We thus focus on the experiments in which at least one O-ring was defective. #+begin_src python :results value :session *python* :exports both -data = data[data.Malfunction>0] +#data = data[data.Malfunction>0] data #+end_src #+RESULTS: -: Date Count Temperature Pressure Malfunction -: 1 11/12/81 6 70 50 1 -: 8 2/03/84 6 57 200 1 -: 9 4/06/84 6 63 200 1 -: 10 8/30/84 6 70 200 1 -: 13 1/24/85 6 53 200 2 -: 20 10/30/85 6 75 200 2 -: 22 1/12/86 6 58 200 1 +#+begin_example + Date Count Temperature Pressure Malfunction +0 4/12/81 6 66 50 0 +1 11/12/81 6 70 50 1 +2 3/22/82 6 69 50 0 +3 11/11/82 6 68 50 0 +4 4/04/83 6 67 50 0 +5 6/18/82 6 72 50 0 +6 8/30/83 6 73 100 0 +7 11/28/83 6 70 100 0 +8 2/03/84 6 57 200 1 +9 4/06/84 6 63 200 1 +10 8/30/84 6 70 200 1 +11 10/05/84 6 78 200 0 +12 11/08/84 6 67 200 0 +13 1/24/85 6 53 200 2 +14 4/12/85 6 67 200 0 +15 4/29/85 6 75 200 0 +16 6/17/85 6 70 200 0 +17 7/29/85 6 81 200 0 +18 8/27/85 6 76 200 0 +19 10/03/85 6 79 200 0 +20 10/30/85 6 75 200 2 +21 11/26/85 6 76 200 0 +22 1/12/86 6 58 200 1 +#+end_example We have a high temperature variability but the pressure is almost always 200, which should @@ -133,29 +151,31 @@ data["Success"]=data.Count-data.Malfunction data["Intercept"]=1 -# logit_model=sm.Logit(data["Frequency"],data[["Intercept","Temperature"]]).fit() +#logit_model=sm.Logit(data['Frequency'],data[['Intercept','Temperature']]).fit() logmodel=sm.GLM(data['Frequency'], data[['Intercept','Temperature']], family=sm.families.Binomial(sm.families.links.logit)).fit() logmodel.summary() +#logit_model.summary() #+end_src #+RESULTS: #+begin_example - Generalized Linear Model Regression Results -============================================================================== -Dep. Variable: Frequency No. Observations: 7 -Model: GLM Df Residuals: 5 -Model Family: Binomial Df Model: 1 -Link Function: logit Scale: 1.0 -Method: IRLS Log-Likelihood: -3.6370 -Date: Fri, 20 Jul 2018 Deviance: 3.3763 -Time: 16:56:08 Pearson chi2: 0.236 -No. Iterations: 5 + Generalized Linear Model Regression Results +=============================================================================== +Dep. Variable: Frequency No. Observations: 23 +Model: GLM Df Residuals: 21 +Model Family: Binomial Df Model: 1 +Link Function: logit Scale: 1.0000 +Method: IRLS Log-Likelihood: -3.9210 +Date: mer., 29 avril 2020 Deviance: 3.0144 +Time: 20:57:18 Pearson chi2: 5.00 +No. Iterations: 6 +Covariance Type: nonrobust =============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------- -Intercept -1.3895 7.828 -0.178 0.859 -16.732 13.953 -Temperature 0.0014 0.122 0.012 0.991 -0.238 0.240 +Intercept 5.0850 7.477 0.680 0.496 -9.570 19.740 +Temperature -0.1156 0.115 -1.004 0.316 -0.341 0.110 =============================================================================== #+end_example @@ -185,6 +205,7 @@ print(matplot_lib_filename) #+RESULTS: [[file:proba_estimate_python.png]] + As expected from the initial data, 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 @@ -193,10 +214,18 @@ where we had a failure of at least one joint. Let's get back to the initial data #+begin_src python :results output :session *python* :exports both data = pd.read_csv("shuttle.csv") print(np.sum(data.Malfunction)/np.sum(data.Count)) +print(np.sum(data.Count)) +pfailure = np.sum(data.Malfunction)/23 +print(1-(1-0.39**2)**3) #+end_src #+RESULTS: : 0.06521739130434782 +: 138 +: Probability of failure 0.391304347826087 +: Probability failure both joints: 0.15311909262759926 +: 0.010869565217391304 +: 0.39041551376100003 This probability is thus about $p=0.065$. Knowing that there is a primary and a secondary O-ring on each of the three parts of the @@ -213,5 +242,4 @@ O-rings was questioned. Beyond the internal communication problems of NASA, which have a lot to do with this fiasco, the previous analysis includes (at least) a small problem.... Can you find it? You are free to modify this analysis and to look at this dataset -from all angles in order to to explain what's wrong. - +from all angles in order to explain what's wrong. diff --git a/module2/exo5/freq_temp_python.png b/module2/exo5/freq_temp_python.png index 93cb9e626441d23f6dff59ed252d7b14eb37abdb..9b838c352e6f929283be2f00e2bd6fe166dfa05f 100644 GIT binary patch literal 13274 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 RAaNn87c|Zjf3v##KL9ZozheLZ literal 12556 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 diff --git a/module2/exo5/proba_estimate_python.png b/module2/exo5/proba_estimate_python.png index 77fc4b275dd8815b1ab91cd3b67b1beb93e00748..da7730eecfbdf5fdc8667ce0b879c51620581e27 100644 GIT binary patch literal 22424 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 literal 14660 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 -- 2.18.1