"
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "pd.set_option('mode.chained_assignment',None) # this removes a useless warning from pandas\n",
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "data[\"Frequency\"]=data.Malfunction/data.Count\n",
+ "data.plot(x=\"Temperature\",y=\"Frequency\",kind=\"scatter\",ylim=[0,1])\n",
+ "plt.grid(True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Logistic regression\n",
+ "\n",
+ "Let's assume O-rings independently fail with the same probability which solely depends on temperature. A logistic regression should allow us to estimate the influence of temperature."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "
Generalized Linear Model Regression Results
\n",
+ "
\n",
+ "
Dep. Variable:
Frequency
No. Observations:
23
\n",
+ "
\n",
+ "
\n",
+ "
Model:
GLM
Df Residuals:
21
\n",
+ "
\n",
+ "
\n",
+ "
Model Family:
Binomial
Df Model:
1
\n",
+ "
\n",
+ "
\n",
+ "
Link Function:
logit
Scale:
1.0000
\n",
+ "
\n",
+ "
\n",
+ "
Method:
IRLS
Log-Likelihood:
-3.9210
\n",
+ "
\n",
+ "
\n",
+ "
Date:
Wed, 16 Dec 2020
Deviance:
3.0144
\n",
+ "
\n",
+ "
\n",
+ "
Time:
17:00:19
Pearson chi2:
5.00
\n",
+ "
\n",
+ "
\n",
+ "
No. Iterations:
6
Covariance Type:
nonrobust
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
coef
std err
z
P>|z|
[0.025
0.975]
\n",
+ "
\n",
+ "
\n",
+ "
Intercept
5.0850
7.477
0.680
0.496
-9.570
19.740
\n",
+ "
\n",
+ "
\n",
+ "
Temperature
-0.1156
0.115
-1.004
0.316
-0.341
0.110
\n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "\n",
+ "\"\"\"\n",
+ " Generalized Linear Model Regression Results \n",
+ "==============================================================================\n",
+ "Dep. Variable: Frequency No. Observations: 23\n",
+ "Model: GLM Df Residuals: 21\n",
+ "Model Family: Binomial Df Model: 1\n",
+ "Link Function: logit Scale: 1.0000\n",
+ "Method: IRLS Log-Likelihood: -3.9210\n",
+ "Date: Wed, 16 Dec 2020 Deviance: 3.0144\n",
+ "Time: 17:00:19 Pearson chi2: 5.00\n",
+ "No. Iterations: 6 Covariance Type: nonrobust\n",
+ "===============================================================================\n",
+ " coef std err z P>|z| [0.025 0.975]\n",
+ "-------------------------------------------------------------------------------\n",
+ "Intercept 5.0850 7.477 0.680 0.496 -9.570 19.740\n",
+ "Temperature -0.1156 0.115 -1.004 0.316 -0.341 0.110\n",
+ "===============================================================================\n",
+ "\"\"\""
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import statsmodels.api as sm\n",
+ "\n",
+ "data[\"Success\"]=data.Count-data.Malfunction\n",
+ "data[\"Intercept\"]=1\n",
+ "\n",
+ "logmodel=sm.GLM(data['Frequency'], data[['Intercept','Temperature']], \n",
+ " family=sm.families.Binomial(sm.families.links.logit)).fit()\n",
+ "\n",
+ "logmodel.summary()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The maximum likelyhood estimator of the intercept and of Temperature are thus $\\hat{\\alpha}=5.0849$ and $\\hat{\\beta}=-0.1156$. This **corresponds** to the values from the article of Dalal *et al.* The standard errors are $s_{\\hat{\\alpha}} = 7.477$ and $s_{\\hat{\\beta}} = 0.115$, which is **different** from the $3.052$ and $0.04702$ reported by Dallal *et al.* The deviance is $3.01444$ with 21 degrees of freedom. I cannot find any value similar to the Goodness of fit ($G^2=18.086$) reported by Dalal *et al.* There seems to be something wrong. Oh I know, I haven't indicated that my observations are actually the result of 6 observations for each rocket launch. Let's indicate these weights (since the weights are always the same throughout all experiments, it does not change the estimates of the fit but it does influence the variance estimates)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "
Generalized Linear Model Regression Results
\n",
+ "
\n",
+ "
Dep. Variable:
Frequency
No. Observations:
23
\n",
+ "
\n",
+ "
\n",
+ "
Model:
GLM
Df Residuals:
21
\n",
+ "
\n",
+ "
\n",
+ "
Model Family:
Binomial
Df Model:
1
\n",
+ "
\n",
+ "
\n",
+ "
Link Function:
logit
Scale:
1.0000
\n",
+ "
\n",
+ "
\n",
+ "
Method:
IRLS
Log-Likelihood:
-23.526
\n",
+ "
\n",
+ "
\n",
+ "
Date:
Wed, 16 Dec 2020
Deviance:
18.086
\n",
+ "
\n",
+ "
\n",
+ "
Time:
17:00:26
Pearson chi2:
30.0
\n",
+ "
\n",
+ "
\n",
+ "
No. Iterations:
6
Covariance Type:
nonrobust
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
coef
std err
z
P>|z|
[0.025
0.975]
\n",
+ "
\n",
+ "
\n",
+ "
Intercept
5.0850
3.052
1.666
0.096
-0.898
11.068
\n",
+ "
\n",
+ "
\n",
+ "
Temperature
-0.1156
0.047
-2.458
0.014
-0.208
-0.023
\n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "\n",
+ "\"\"\"\n",
+ " Generalized Linear Model Regression Results \n",
+ "==============================================================================\n",
+ "Dep. Variable: Frequency No. Observations: 23\n",
+ "Model: GLM Df Residuals: 21\n",
+ "Model Family: Binomial Df Model: 1\n",
+ "Link Function: logit Scale: 1.0000\n",
+ "Method: IRLS Log-Likelihood: -23.526\n",
+ "Date: Wed, 16 Dec 2020 Deviance: 18.086\n",
+ "Time: 17:00:26 Pearson chi2: 30.0\n",
+ "No. Iterations: 6 Covariance Type: nonrobust\n",
+ "===============================================================================\n",
+ " coef std err z P>|z| [0.025 0.975]\n",
+ "-------------------------------------------------------------------------------\n",
+ "Intercept 5.0850 3.052 1.666 0.096 -0.898 11.068\n",
+ "Temperature -0.1156 0.047 -2.458 0.014 -0.208 -0.023\n",
+ "===============================================================================\n",
+ "\"\"\""
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "logmodel=sm.GLM(data['Frequency'], data[['Intercept','Temperature']], \n",
+ " family=sm.families.Binomial(sm.families.links.logit),\n",
+ " var_weights=data['Count']).fit()\n",
+ "\n",
+ "logmodel.summary()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Good, now I have recovered the asymptotic standard errors $s_{\\hat{\\alpha}}=3.052$ and $s_{\\hat{\\beta}}=0.047$.\n",
+ "The Goodness of fit (Deviance) indicated for this model is $G^2=18.086$ with 21 degrees of freedom (Df Residuals).\n",
+ "\n",
+ "**I have therefore managed to fully replicate the results of the Dalal *et al.* article**."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Predicting failure probability\n",
+ "The temperature when launching the shuttle was 31°F. Let's try to estimate the failure probability for such temperature using our model.:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "data_pred = pd.DataFrame({'Temperature': np.linspace(start=30, stop=90, num=121), 'Intercept': 1})\n",
+ "data_pred['Frequency'] = logmodel.predict(data_pred)\n",
+ "data_pred.plot(x=\"Temperature\",y=\"Frequency\",kind=\"line\",ylim=[0,1])\n",
+ "plt.scatter(x=data[\"Temperature\"],y=data[\"Frequency\"])\n",
+ "plt.grid(True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "hideCode": false,
+ "hidePrompt": false,
+ "scrolled": true
+ },
+ "source": [
+ "This figure is very similar to the Figure 4 of Dalal *et al.* **I have managed to replicate the Figure 4 of the Dalal *et al.* article.**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Computing and plotting uncertainty"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Following the documentation of [Seaborn](https://seaborn.pydata.org/generated/seaborn.regplot.html), I use regplot."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/opt/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
+ " return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "sns.set(color_codes=True)\n",
+ "plt.xlim(30,90)\n",
+ "plt.ylim(0,1)\n",
+ "sns.regplot(x='Temperature', y='Frequency', data=data, logistic=True)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**I think I have managed to correctly compute and plot the uncertainty of my prediction.** Although the shaded area seems very similar to [the one obtained by with R](https://app-learninglab.inria.fr/moocrr/gitlab/moocrr-session3/moocrr-reproducibility-study/tree/master/challenger.pdf), I can spot a few differences (e.g., the blue point for temperature 63 is outside)... Could this be a numerical error ? Or a difference in the statistical method ? It is not clear which one is \"right\"."
+ ]
+ }
+ ],
+ "metadata": {
+ "celltoolbar": "Hide code",
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/module4/data_shuttle.csv b/module4/data_shuttle.csv
new file mode 100644
index 0000000..9412ab3
--- /dev/null
+++ b/module4/data_shuttle.csv
@@ -0,0 +1,24 @@
+Date,Count,Temperature,Pressure,Malfunction
+4/12/81,6,66,50,0
+11/12/81,6,70,50,1
+3/22/82,6,69,50,0
+11/11/82,6,68,50,0
+4/04/83,6,67,50,0
+6/18/82,6,72,50,0
+8/30/83,6,73,100,0
+11/28/83,6,70,100,0
+2/03/84,6,57,200,1
+4/06/84,6,63,200,1
+8/30/84,6,70,200,1
+10/05/84,6,78,200,0
+11/08/84,6,67,200,0
+1/24/85,6,53,200,2
+4/12/85,6,67,200,0
+4/29/85,6,75,200,0
+6/17/85,6,70,200,0
+7/2903/85,6,81,200,0
+8/27/85,6,76,200,0
+10/03/85,6,79,200,0
+10/30/85,6,75,200,2
+11/26/85,6,76,200,0
+1/12/86,6,58,200,1
diff --git a/module4/src_Python3_challenger__1_.ipynb b/module4/src_Python3_challenger__1_.ipynb
deleted file mode 100644
index bd4841f..0000000
--- a/module4/src_Python3_challenger__1_.ipynb
+++ /dev/null
@@ -1,780 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Risk Analysis of the Space Shuttle: Pre-Challenger Prediction of Failure"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In this document we reperform some of the analysis provided in \n",
- "*Risk Analysis of the Space Shuttle: Pre-Challenger Prediction of Failure* by *Siddhartha R. Dalal, Edward B. Fowlkes, Bruce Hoadley* published in *Journal of the American Statistical Association*, Vol. 84, No. 408 (Dec., 1989), pp. 945-957 and available at http://www.jstor.org/stable/2290069. \n",
- "\n",
- "On the fourth page of this article, they indicate that the maximum likelihood estimates of the logistic regression using only temperature are: $\\hat{\\alpha}=5.085$ and $\\hat{\\beta}=-0.1156$ and their asymptotic standard errors are $s_{\\hat{\\alpha}}=3.052$ and $s_{\\hat{\\beta}}=0.047$. The Goodness of fit indicated for this model was $G^2=18.086$ with 21 degrees of freedom. Our goal is to reproduce the computation behind these values and the Figure 4 of this article, possibly in a nicer looking way."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Technical information on the computer on which the analysis is run"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We will be using the python3 language using the pandas, statsmodels, numpy, matplotlib and seaborn libraries."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19) \n",
- "[GCC 7.2.0]\n",
- "uname_result(system='Linux', node='3a716011d2b6', release='4.4.0-116-generic', version='#140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018', machine='x86_64', processor='x86_64')\n",
- "IPython 6.4.0\n",
- "IPython.core.release 6.4.0\n",
- "PIL 5.2.0\n",
- "PIL.Image 5.2.0\n",
- "PIL._version 5.2.0\n",
- "_csv 1.0\n",
- "_ctypes 1.1.0\n",
- "_curses b'2.2'\n",
- "decimal 1.70\n",
- "argparse 1.1\n",
- "backcall 0.1.0\n",
- "cffi 1.11.5\n",
- "csv 1.0\n",
- "ctypes 1.1.0\n",
- "cycler 0.10.0\n",
- "dateutil 2.7.3\n",
- "decimal 1.70\n",
- "decorator 4.3.0\n",
- "distutils 3.6.4\n",
- "ipaddress 1.0\n",
- "ipykernel 4.8.2\n",
- "ipykernel._version 4.8.2\n",
- "ipython_genutils 0.2.0\n",
- "ipython_genutils._version 0.2.0\n",
- "ipywidgets 7.2.1\n",
- "ipywidgets._version 7.2.1\n",
- "jedi 0.12.1\n",
- "json 2.0.9\n",
- "jupyter_client 5.2.3\n",
- "jupyter_client._version 5.2.3\n",
- "jupyter_core 4.4.0\n",
- "jupyter_core.version 4.4.0\n",
- "kiwisolver 1.0.1\n",
- "logging 0.5.1.2\n",
- "matplotlib 2.2.2\n",
- "matplotlib.backends.backend_agg 2.2.2\n",
- "numpy 1.13.3\n",
- "numpy.core 1.13.3\n",
- "numpy.core.multiarray 3.1\n",
- "numpy.core.umath b'0.4.0'\n",
- "numpy.lib 1.13.3\n",
- "numpy.linalg._umath_linalg b'0.1.5'\n",
- "numpy.matlib 1.13.3\n",
- "optparse 1.5.3\n",
- "pandas 0.22.0\n",
- "_libjson 1.33\n",
- "parso 0.3.0\n",
- "patsy 0.5.0\n",
- "patsy.version 0.5.0\n",
- "pexpect 4.6.0\n",
- "pickleshare 0.7.4\n",
- "platform 1.0.8\n",
- "prompt_toolkit 1.0.15\n",
- "ptyprocess 0.6.0\n",
- "pygments 2.2.0\n",
- "pyparsing 2.2.0\n",
- "pytz 2018.5\n",
- "re 2.2.1\n",
- "scipy 1.1.0\n",
- "scipy._lib.decorator 4.0.5\n",
- "scipy._lib.six 1.2.0\n",
- "scipy.fftpack._fftpack b'$Revision: $'\n",
- "scipy.fftpack.convolve b'$Revision: $'\n",
- "scipy.integrate._dop b'$Revision: $'\n",
- "scipy.integrate._ode $Id$\n",
- "scipy.integrate._odepack 1.9 \n",
- "scipy.integrate._quadpack 1.13 \n",
- "scipy.integrate.lsoda b'$Revision: $'\n",
- "scipy.integrate.vode b'$Revision: $'\n",
- "scipy.interpolate._fitpack 1.7 \n",
- "scipy.interpolate.dfitpack b'$Revision: $'\n",
- "scipy.linalg 0.4.9\n",
- "scipy.linalg._fblas b'$Revision: $'\n",
- "scipy.linalg._flapack b'$Revision: $'\n",
- "scipy.linalg._flinalg b'$Revision: $'\n",
- "scipy.ndimage 2.0\n",
- "scipy.optimize._cobyla b'$Revision: $'\n",
- "scipy.optimize._lbfgsb b'$Revision: $'\n",
- "scipy.optimize._minpack 1.10 \n",
- "scipy.optimize._nnls b'$Revision: $'\n",
- "scipy.optimize._slsqp b'$Revision: $'\n",
- "scipy.optimize.minpack2 b'$Revision: $'\n",
- "scipy.signal.spline 0.2\n",
- "scipy.sparse.linalg.eigen.arpack._arpack b'$Revision: $'\n",
- "scipy.sparse.linalg.isolve._iterative b'$Revision: $'\n",
- "scipy.special.specfun b'$Revision: $'\n",
- "scipy.stats.mvn b'$Revision: $'\n",
- "scipy.stats.statlib b'$Revision: $'\n",
- "seaborn 0.8.1\n",
- "seaborn.external.husl 2.1.0\n",
- "seaborn.external.six 1.10.0\n",
- "six 1.11.0\n",
- "statsmodels 0.9.0\n",
- "statsmodels.__init__ 0.9.0\n",
- "traitlets 4.3.2\n",
- "traitlets._version 4.3.2\n",
- "urllib.request 3.6\n",
- "zlib 1.0\n",
- "zmq 17.1.0\n",
- "zmq.sugar 17.1.0\n",
- "zmq.sugar.version 17.1.0\n"
- ]
- }
- ],
- "source": [
- "def print_imported_modules():\n",
- " import sys\n",
- " for name, val in sorted(sys.modules.items()):\n",
- " if(hasattr(val, '__version__')): \n",
- " print(val.__name__, val.__version__)\n",
- "# else:\n",
- "# print(val.__name__, \"(unknown version)\")\n",
- "def print_sys_info():\n",
- " import sys\n",
- " import platform\n",
- " print(sys.version)\n",
- " print(platform.uname())\n",
- "\n",
- "import numpy as np\n",
- "import pandas as pd\n",
- "import matplotlib.pyplot as plt\n",
- "import statsmodels.api as sm\n",
- "import seaborn as sns\n",
- "\n",
- "print_sys_info()\n",
- "print_imported_modules()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Loading and inspecting data\n",
- "Let's start by reading data."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "%matplotlib inline\n",
- "pd.set_option('mode.chained_assignment',None) # this removes a useless warning from pandas\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "data[\"Frequency\"]=data.Malfunction/data.Count\n",
- "data.plot(x=\"Temperature\",y=\"Frequency\",kind=\"scatter\",ylim=[0,1])\n",
- "plt.grid(True)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Logistic regression\n",
- "\n",
- "Let's assume O-rings independently fail with the same probability which solely depends on temperature. A logistic regression should allow us to estimate the influence of temperature."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "
Generalized Linear Model Regression Results
\n",
- "
\n",
- "
Dep. Variable:
Frequency
No. Observations:
23
\n",
- "
\n",
- "
\n",
- "
Model:
GLM
Df Residuals:
21
\n",
- "
\n",
- "
\n",
- "
Model Family:
Binomial
Df Model:
1
\n",
- "
\n",
- "
\n",
- "
Link Function:
logit
Scale:
1.0000
\n",
- "
\n",
- "
\n",
- "
Method:
IRLS
Log-Likelihood:
-3.9210
\n",
- "
\n",
- "
\n",
- "
Date:
Wed, 24 Oct 2018
Deviance:
3.0144
\n",
- "
\n",
- "
\n",
- "
Time:
11:05:55
Pearson chi2:
5.00
\n",
- "
\n",
- "
\n",
- "
No. Iterations:
6
Covariance Type:
nonrobust
\n",
- "
\n",
- "
\n",
- "
\n",
- "
\n",
- "
coef
std err
z
P>|z|
[0.025
0.975]
\n",
- "
\n",
- "
\n",
- "
Intercept
5.0850
7.477
0.680
0.496
-9.570
19.740
\n",
- "
\n",
- "
\n",
- "
Temperature
-0.1156
0.115
-1.004
0.316
-0.341
0.110
\n",
- "
\n",
- "
"
- ],
- "text/plain": [
- "\n",
- "\"\"\"\n",
- " Generalized Linear Model Regression Results \n",
- "==============================================================================\n",
- "Dep. Variable: Frequency No. Observations: 23\n",
- "Model: GLM Df Residuals: 21\n",
- "Model Family: Binomial Df Model: 1\n",
- "Link Function: logit Scale: 1.0000\n",
- "Method: IRLS Log-Likelihood: -3.9210\n",
- "Date: Wed, 24 Oct 2018 Deviance: 3.0144\n",
- "Time: 11:05:55 Pearson chi2: 5.00\n",
- "No. Iterations: 6 Covariance Type: nonrobust\n",
- "===============================================================================\n",
- " coef std err z P>|z| [0.025 0.975]\n",
- "-------------------------------------------------------------------------------\n",
- "Intercept 5.0850 7.477 0.680 0.496 -9.570 19.740\n",
- "Temperature -0.1156 0.115 -1.004 0.316 -0.341 0.110\n",
- "===============================================================================\n",
- "\"\"\""
- ]
- },
- "execution_count": 4,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "import statsmodels.api as sm\n",
- "\n",
- "data[\"Success\"]=data.Count-data.Malfunction\n",
- "data[\"Intercept\"]=1\n",
- "\n",
- "logmodel=sm.GLM(data['Frequency'], data[['Intercept','Temperature']], \n",
- " family=sm.families.Binomial(sm.families.links.logit)).fit()\n",
- "\n",
- "logmodel.summary()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The maximum likelyhood estimator of the intercept and of Temperature are thus $\\hat{\\alpha}=5.0849$ and $\\hat{\\beta}=-0.1156$. This **corresponds** to the values from the article of Dalal *et al.* The standard errors are $s_{\\hat{\\alpha}} = 7.477$ and $s_{\\hat{\\beta}} = 0.115$, which is **different** from the $3.052$ and $0.04702$ reported by Dallal *et al.* The deviance is $3.01444$ with 21 degrees of freedom. I cannot find any value similar to the Goodness of fit ($G^2=18.086$) reported by Dalal *et al.* There seems to be something wrong. Oh I know, I haven't indicated that my observations are actually the result of 6 observations for each rocket launch. Let's indicate these weights (since the weights are always the same throughout all experiments, it does not change the estimates of the fit but it does influence the variance estimates)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "
Generalized Linear Model Regression Results
\n",
- "
\n",
- "
Dep. Variable:
Frequency
No. Observations:
23
\n",
- "
\n",
- "
\n",
- "
Model:
GLM
Df Residuals:
21
\n",
- "
\n",
- "
\n",
- "
Model Family:
Binomial
Df Model:
1
\n",
- "
\n",
- "
\n",
- "
Link Function:
logit
Scale:
1.0000
\n",
- "
\n",
- "
\n",
- "
Method:
IRLS
Log-Likelihood:
-23.526
\n",
- "
\n",
- "
\n",
- "
Date:
Wed, 24 Oct 2018
Deviance:
18.086
\n",
- "
\n",
- "
\n",
- "
Time:
11:05:55
Pearson chi2:
30.0
\n",
- "
\n",
- "
\n",
- "
No. Iterations:
6
Covariance Type:
nonrobust
\n",
- "
\n",
- "
\n",
- "
\n",
- "
\n",
- "
coef
std err
z
P>|z|
[0.025
0.975]
\n",
- "
\n",
- "
\n",
- "
Intercept
5.0850
3.052
1.666
0.096
-0.898
11.068
\n",
- "
\n",
- "
\n",
- "
Temperature
-0.1156
0.047
-2.458
0.014
-0.208
-0.023
\n",
- "
\n",
- "
"
- ],
- "text/plain": [
- "\n",
- "\"\"\"\n",
- " Generalized Linear Model Regression Results \n",
- "==============================================================================\n",
- "Dep. Variable: Frequency No. Observations: 23\n",
- "Model: GLM Df Residuals: 21\n",
- "Model Family: Binomial Df Model: 1\n",
- "Link Function: logit Scale: 1.0000\n",
- "Method: IRLS Log-Likelihood: -23.526\n",
- "Date: Wed, 24 Oct 2018 Deviance: 18.086\n",
- "Time: 11:05:55 Pearson chi2: 30.0\n",
- "No. Iterations: 6 Covariance Type: nonrobust\n",
- "===============================================================================\n",
- " coef std err z P>|z| [0.025 0.975]\n",
- "-------------------------------------------------------------------------------\n",
- "Intercept 5.0850 3.052 1.666 0.096 -0.898 11.068\n",
- "Temperature -0.1156 0.047 -2.458 0.014 -0.208 -0.023\n",
- "===============================================================================\n",
- "\"\"\""
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "logmodel=sm.GLM(data['Frequency'], data[['Intercept','Temperature']], \n",
- " family=sm.families.Binomial(sm.families.links.logit),\n",
- " var_weights=data['Count']).fit()\n",
- "\n",
- "logmodel.summary()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Good, now I have recovered the asymptotic standard errors $s_{\\hat{\\alpha}}=3.052$ and $s_{\\hat{\\beta}}=0.047$.\n",
- "The Goodness of fit (Deviance) indicated for this model is $G^2=18.086$ with 21 degrees of freedom (Df Residuals).\n",
- "\n",
- "**I have therefore managed to fully replicate the results of the Dalal *et al.* article**."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Predicting failure probability\n",
- "The temperature when launching the shuttle was 31°F. Let's try to estimate the failure probability for such temperature using our model.:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "%matplotlib inline\n",
- "data_pred = pd.DataFrame({'Temperature': np.linspace(start=30, stop=90, num=121), 'Intercept': 1})\n",
- "data_pred['Frequency'] = logmodel.predict(data_pred)\n",
- "data_pred.plot(x=\"Temperature\",y=\"Frequency\",kind=\"line\",ylim=[0,1])\n",
- "plt.scatter(x=data[\"Temperature\"],y=data[\"Frequency\"])\n",
- "plt.grid(True)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "hideCode": false,
- "hidePrompt": false,
- "scrolled": true
- },
- "source": [
- "This figure is very similar to the Figure 4 of Dalal *et al.* **I have managed to replicate the Figure 4 of the Dalal *et al.* article.**"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Computing and plotting uncertainty"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Following the documentation of [Seaborn](https://seaborn.pydata.org/generated/seaborn.regplot.html), I use regplot."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "sns.set(color_codes=True)\n",
- "plt.xlim(30,90)\n",
- "plt.ylim(0,1)\n",
- "sns.regplot(x='Temperature', y='Frequency', data=data, logistic=True)\n",
- "plt.show()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**I think I have managed to correctly compute and plot the uncertainty of my prediction.** Although the shaded area seems very similar to [the one obtained by with R](https://app-learninglab.inria.fr/moocrr/gitlab/moocrr-session3/moocrr-reproducibility-study/tree/master/challenger.pdf), I can spot a few differences (e.g., the blue point for temperature 63 is outside)... Could this be a numerical error ? Or a difference in the statistical method ? It is not clear which one is \"right\"."
- ]
- }
- ],
- "metadata": {
- "celltoolbar": "Hide code",
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.6.6"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
--
2.18.1