"
+ ]
+ },
+ "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": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "c:\\program files\\python37\\lib\\site-packages\\ipykernel_launcher.py:7: DeprecationWarning: Calling Family(..) with a link class as argument is deprecated.\n",
+ "Use an instance of a link class instead.\n",
+ " import sys\n"
+ ]
+ },
+ {
+ "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:
Fri, 09 Oct 2020
Deviance:
3.0144
\n",
+ "
\n",
+ "
\n",
+ "
Time:
17:52:58
Pearson chi2:
5.00
\n",
+ "
\n",
+ "
\n",
+ "
No. Iterations:
6
\n",
+ "
\n",
+ "
\n",
+ "
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: Fri, 09 Oct 2020 Deviance: 3.0144\n",
+ "Time: 17:52:58 Pearson chi2: 5.00\n",
+ "No. Iterations: 6 \n",
+ "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": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "c:\\program files\\python37\\lib\\site-packages\\ipykernel_launcher.py:2: DeprecationWarning: Calling Family(..) with a link class as argument is deprecated.\n",
+ "Use an instance of a link class instead.\n",
+ " \n"
+ ]
+ },
+ {
+ "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:
Fri, 09 Oct 2020
Deviance:
18.086
\n",
+ "
\n",
+ "
\n",
+ "
Time:
17:52:58
Pearson chi2:
30.0
\n",
+ "
\n",
+ "
\n",
+ "
No. Iterations:
6
\n",
+ "
\n",
+ "
\n",
+ "
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: Fri, 09 Oct 2020 Deviance: 18.086\n",
+ "Time: 17:52:58 Pearson chi2: 30.0\n",
+ "No. Iterations: 6 \n",
+ "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": {
+ "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": 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.7.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}