"
]
},
"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": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"data[\"Intercept\"] = 1"
]
},
{
"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": 11,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/mlinger@drakai.local/.local/lib/python3.10/site-packages/statsmodels/genmod/families/links.py:13: FutureWarning: The logit link alias is deprecated. Use Logit instead. The logit link alias will be removed after the 0.15.0 release.\n",
" warnings.warn(\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:
Tue, 09 Jul 2024
Deviance:
18.086
\n",
"
\n",
"
\n",
"
Time:
15:31:00
Pearson chi2:
30.0
\n",
"
\n",
"
\n",
"
No. Iterations:
6
Pseudo R-squ. (CS):
0.2344
\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/latex": [
"\\begin{center}\n",
"\\begin{tabular}{lclc}\n",
"\\toprule\n",
"\\textbf{Dep. Variable:} & Frequency & \\textbf{ No. Observations: } & 23 \\\\\n",
"\\textbf{Model:} & GLM & \\textbf{ Df Residuals: } & 21 \\\\\n",
"\\textbf{Model Family:} & Binomial & \\textbf{ Df Model: } & 1 \\\\\n",
"\\textbf{Link Function:} & logit & \\textbf{ Scale: } & 1.0000 \\\\\n",
"\\textbf{Method:} & IRLS & \\textbf{ Log-Likelihood: } & -23.526 \\\\\n",
"\\textbf{Date:} & Tue, 09 Jul 2024 & \\textbf{ Deviance: } & 18.086 \\\\\n",
"\\textbf{Time:} & 15:31:00 & \\textbf{ Pearson chi2: } & 30.0 \\\\\n",
"\\textbf{No. Iterations:} & 6 & \\textbf{ Pseudo R-squ. (CS):} & 0.2344 \\\\\n",
"\\textbf{Covariance Type:} & nonrobust & \\textbf{ } & \\\\\n",
"\\bottomrule\n",
"\\end{tabular}\n",
"\\begin{tabular}{lcccccc}\n",
" & \\textbf{coef} & \\textbf{std err} & \\textbf{z} & \\textbf{P$> |$z$|$} & \\textbf{[0.025} & \\textbf{0.975]} \\\\\n",
"\\midrule\n",
"\\textbf{Intercept} & 5.0850 & 3.052 & 1.666 & 0.096 & -0.898 & 11.068 \\\\\n",
"\\textbf{Temperature} & -0.1156 & 0.047 & -2.458 & 0.014 & -0.208 & -0.023 \\\\\n",
"\\bottomrule\n",
"\\end{tabular}\n",
"%\\caption{Generalized Linear Model Regression Results}\n",
"\\end{center}"
],
"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: Tue, 09 Jul 2024 Deviance: 18.086\n",
"Time: 15:31:00 Pearson chi2: 30.0\n",
"No. Iterations: 6 Pseudo R-squ. (CS): 0.2344\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": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import statsmodels.api as sm\n",
"\n",
"# Create an instance of the link class\n",
"logit_link = sm.families.links.logit()\n",
"\n",
"# Use the instance of the link class in the Binomial family\n",
"logmodel = sm.GLM(data['Frequency'], data[['Intercept','Temperature']], \n",
" family=sm.families.Binomial(link=logit_link),\n",
" var_weights=data['Count']).fit()\n",
"\n",
"logmodel.summary()\n"
]
},
{
"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": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAG2CAYAAACtaYbcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAz2UlEQVR4nO3deXRV5b3/8c/JnBBCmDKAgSBSIAoBQpNfaFFbAkG5iO1tpYBMIveqsArkqhArhEgxjhStCFcU9IIottfSKhhMUwMoqRFoqBQKAkGQZsBSCBCSHHL27w9vjhwynZPpgfB+rXXWYj/72Xs/55sN+bBHm2VZlgAAAAzxMj0AAABwfSOMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKM8DiPbt2/X2LFj1a1bN9lsNm3atKnBZXJycjRkyBD5+/vrpptu0uuvv96IoQIAgLbI4zBy4cIFxcbGasWKFW71Lygo0JgxY/SDH/xA+fn5mjt3ru6//35t3brV48ECAIC2x9aUF+XZbDb97ne/0913311nn/nz52vz5s3at2+fs+1nP/uZzpw5o8zMzMZuGgAAtBE+Lb2B3NxcJSUlubQlJydr7ty5dS5TUVGhiooK57TD4dDp06fVuXNn2Wy2lhoqAABoRpZl6dy5c+rWrZu8vOo+GdPiYaSoqEjh4eEubeHh4SotLdXFixcVGBhYY5mMjAylp6e39NAAAEArOHHihG644YY657d4GGmM1NRUpaSkOKfPnj2rHj16qKCgQO3bt2+WbViWpXNlFdq2fbtuu/VW+fhelaW4alyyX6JWHqBe7qNW7qNW7qNW7quuVfKI2+Xn59es6z537px69erV4O/uFv8JRUREqLi42KWtuLhYISEhtR4VkSR/f3/5+/vXaO/UqZNCQkKabWwd7HZ1bB+kGyLD5Ovr22zrbYvs1Moj1Mt91Mp91Mp91Mp91bXq0qVLs9eqen0NXWLR4s8ZSUxMVHZ2tktbVlaWEhMTW3rTAADgGuBxGDl//rzy8/OVn58v6Ztbd/Pz83X8+HFJ35ximTJlirP/Aw88oKNHj+rRRx/V3//+d7388st65513NG/evOb5BgAA4JrmcRjZtWuXBg8erMGDB0uSUlJSNHjwYC1atEiSVFhY6AwmktSrVy9t3rxZWVlZio2N1fPPP69XX31VycnJzfQVAADAtczja0Zuv/121fdoktqernr77bfrL3/5i6ebAgC0EVVVVbLb7a22PbvdLh8fH5WXl6uqqqrVtnstakqtfH195e3t3eQxcIkxAKDFWJaloqIinTlzptW3GxERoRMnTvB8qgY0tVahoaGKiIhoUp0JIwCAFlMdRMLCwhQUFNRqwcDhcOj8+fMKDg6u92FbaHytLMtSWVmZSkpKJEmRkZGNHgNhBADQIqqqqpxBpHPnzq26bYfDocrKSgUEBBBGGtCUWlU/oqOkpERhYWGNPmXDTwgA0CKqrxEJCgoyPBK0pOqfb1OuCSKMAABaFNdstG3N8fMljAAAAKMIIwAAwCjCCAAAV5g2bZpsNluNz+HDh00PrU3ibhoAAGoxevRorV271qWta9euLtOVlZXN/qbb6xFHRgAAqIW/v78iIiJcPiNGjNDs2bM1d+5cdenSxflqk3379umOO+5QcHCwwsPDNXnyZH399dfOdV24cEFTpkxRcHCwIiMj9fzzz+v222/X3LlznX1sNps2bdrkMobQ0FCXJ5ufOHFC99xzj0JDQ9WpUyeNGzdOx44dc86fNm2a7r77bj333HOKjIxU586dNWvWLJc7XSoqKjR//nxFRUXJ399f3/nOd7Ru3TpZlqWbbrpJzz33nMsY8vPzW/yoEGEEANBqLMtSWeWlVvlcrKxy/rm+15h46o033pCfn58++eQTrVq1SmfOnNEPf/hDDR48WLt27VJmZqaKi4t1zz33OJd55JFHtG3bNv3+97/Xhx9+qJycHO3Zs8ej7drtdiUnJ6t9+/basWOHPvnkEwUHB2v06NGqrKx09vvoo4905MgRffTRR3rjjTf0+uuvuwSaKVOm6K233tKLL76oAwcOaOXKlWrXrp1sNpvuu+++GkeD1q5dq1tvvVU33XRT4wrmBk7TAABazUV7lWIWbW317e5/IllBfp79ynv//fcVHBzsnL7jjjskSX369NEzzzzjbP/lL3+pwYMH68knn3S2rVmzRlFRUTp06JC6deum1157TevXr9eIESMkfRNobrjhBo/Gs3HjRjkcDr366qvO22nXrl2r0NBQ5eTkaNSoUZKkjh076qWXXpK3t7f69eunMWPGKDs7WzNnztShQ4f0zjvvKCsrS0lJSZKk6OholZaWSvrmyMqiRYuUl5en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9mt+cl+ewIo2hTACoF7eXjYl9u7c6PkmXI1jaio/Hy9NTozWli37NTkxWr4EEbQh7M0AAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADDKx/QAAOBaUuWwlFdwWiXnyhXWPkDxvTrJ28smSbpYWaUnt+zXsX+WKbpzkB67M0aBft5uLVvfPEmqvOTQ+txj6ixpXe4x3Tust/x83Pv/ZFO229j1Vo95Xe4xfXm6TD07BWlyYnSzjLmlx43W16gwsmLFCj377LMqKipSbGysfv3rXys+Pr7O/r/5zW+0cOFCHTt2TH369NHTTz+tO++8s9GDBgATMvcVKv29/So8W+5si+wQoLSxMfrfPV8pa3+Js33HF9K6Px/XyJgwrZ7y3XqXlVTnvNG3RCpjy36t3lEgXy9Lz8RLT289qF9+cEgzh/dS6p0xjR5zQ9tt7HovH7PD+naZpVsONHnMo2+JbHB+U9YNMzwOIxs3blRKSopWrVqlhIQELV++XMnJyTp48KDCwsJq9N+5c6cmTJigjIwM/du//Zs2bNigu+++W3v27NEtt9zSLF8CAFpa5r5CPbh+j6wr2ovOluuB9XvqXC5rf4nuemmHPv+q1KNli86W68H1e5QUE+YScqo5LOm/txdIUp2/3Bsz5urtrrx3SJ2/nOtbb0uO+cH1e/Qft/bSK9sL6pzflHHXtyxalsfXjCxbtkwzZ87U9OnTFRMTo1WrVikoKEhr1qyptf8LL7yg0aNH65FHHlH//v21ZMkSDRkyRC+99FKTBw8AraHKYSn9vf01folJqrXtSn+tJYg0tKz1f5/afqlfbvWOAlVectRob+yYq+elv7dfVY6aPRtab0uO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deLECZ0/f15lZWUaOXKkyzKVlZUaPHiwS9vQoUNdps+fP6/Fixdr8+bNKiws1KVLl3Tx4kXnkZGmGjBggMt1Inv37tXhw4fVvn17l37l5eU6cuRIs2wTwLcII8B15Pz585Kk1atXKyEhwWWet7e3y7Svr6/zz9XXYFzZ5nA4PN725s2b1b17d5d5/v7+LtPt2rVzmX744YeVlZWl5557TjfddJMCAwP1k5/8pMFTJl5eXrIsy6XNbrfX6Hfl9s6fP6+4uDi9+eabNfp27dq13m0C8BxhBLiOhIeHq1u3bjp69KgmTZrU7Ovfu3evLl68qMDAQEnSn//8ZwUHBysqKkqdOnWSv7+/jh8/rttuu82j9X7yySeaNm2afvSjH0n6JixceTGpn5+fqqqqXNq6du2qoqIiWZblDFT5+fkNbm/IkCHauHGjwsLCFBIS4tFYAXiOC1iB60x6eroyMjL04osv6tChQ/r888+1du1aLVu2rMnrrqys1IwZM7R//35t2bJFaWlpmj17try8vNS+fXs9/PDDmjdvnt544w0dOXJEe/bs0a9//esaF89eqU+fPnr33XeVn5+vvXv3auLEiTWOykRHR2v79u06efKkvv76a0nf3GVz6tQpPfPMMzpy5IhWrFihDz74oMHvMWnSJHXp0kXjxo3Tjh07VFBQoJycHP385z/XV1991fgCAagVYQS4ztx///169dVXtXbtWg0YMEC33XabXn/9dfXq1avJ6x4xYoT69OmjW2+9VePHj9ddd93l8oC1JUuWaOHChcrIyFD//v01evRobd68ucFtL1u2TB07dtSwYcM0duxYJScna8iQIS59nnjiCR07dky9e/d2nkrp37+/Xn75Za1YsUKxsbHKy8vTww8/3OD3CAoK0vbt29WjRw/9+Mc/Vv/+/TVjxgyVl5dzpARoATbryhOqANAI06ZN05kzZ7Rp0ybTQwFwjeHICAAAMIowAgAAjOI0DQAAMIojIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMCo/w84A34Aq5eZXgAAAABJRU5ErkJggg==",
"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": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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zs7GokWL4Pf7G3RuUVER7rvvPowePRpDhgzBxIkT8d57753jEhMREVFrZWruApysoqICM2fORM+ePbF48WIUFRXh0Ucfhdfrxfz580977rFjx3DjjTeiV69eWLhwIRITE7Fnz54GhywiIiKiU8VUUHrjjTdQVVWFJUuWIDk5GQCgqioWLFiA2bNno2PHjrrn/vnPf0ZaWhpefPFFKIoCAMjKymqKYhMREVErFVXX27Fjx4wqBwBg9erVyMrKCockAJg4cSI0TcPatWt1z6usrMRHH32Em266KRySiIiIiKIVVYvS+PHjMXr0aEyZMgWXX345bDZbVIXJz8/H9OnTI7bZ7XakpqYiPz9f97zt27cjEAjAZDLhlltuwebNm5GcnIxrr70Wd999N8xmc6PLpCgxN4yrxamtQ9ZldFiPxmFdGod1aQzWo3EkydjrRRWU7rrrLnzwwQeYN28eFixYgEsuuQRTpkzB2LFjIctn/4/tcrlgt9vrbHc4HKioqNA97/jx4wCA//3f/8UNN9yAX//619i6dSuefPJJyLKMe++996zLUstuj2/0uRSJdWkM1qNxWJfGYV0ag/UYe6IKSnPmzMGcOXOwY8cOvP/++1i5ciU++OADtGvXDpMmTcLVV1+NwYMHG1VWXZqmAQDGjBmDefPmAQBGjx6NqqoqvPzyy8jJyYHVam3UtV0uD1RVM6ysbZGiyLDb41mXUWI9God1aRzWpTFYj8ZxOOIb1Vijx5DB3AMGDMCAAQPwu9/9Dhs2bMD777+PFStW4NVXX0WvXr0wZcoUTJkyBZ07dz7tdex2O9xud53tFRUVcDgcpz0PCIWjk2VlZeHZZ59FQUEBMjMzG/HOAFXVEAzyQ2sE1qUxWI/GYV0ah3VpDNZj9IQw9nqGdoZKkoTzzjsPF110EYYOHQohBAoKCrBkyRJceumluOuuu047ADw9Pb3OWCS3243i4mKkp6frntenT5/Tlsvn853dGyEiIiKCgUFpw4YNePDBB5GdnY27774bx48fx3333YevvvoKa9aswb333osNGzbgd7/7ne41xo0bh3Xr1sHlcoW35ebmQpZlZGdn657XpUsXZGRkYN26dRHb161bB6vVesYgRURERFSfqLrefvzxR7z33ntYuXIljh07hvbt2+O6667DtddeW6era9asWYiLi8Njjz2me70ZM2bg1VdfRU5ODmbPno2ioiIsWrQIM2bMiJhDaebMmSgsLMSqVavC2+bOnYtf/epXeOSRRzB+/Hj88MMPePnllzFr1qyon8YjIiKitimqoHTttdfCarXikksuwbXXXovs7OzTDqDq06cPhg0bprvf4XBg6dKlWLhwIXJycpCQkIDrrrsOc+fOjThO0zSoqhqxbcKECfjb3/6Gp59+GsuWLUOHDh1w55134o477ojmLRIREVEbJgnR+GFPK1aswBVXXIGEhAQjyxRTysqqOLAuSiaTjJSUBNZllFiPxmFdGod1aQzWo3GczgRD56OKqkVp2rRpRpWDiIiIKOZEFbleeeUVzJo1S3f/7bffjtdffz2aWxARERE1m6iC0n/+8x/07t1bd3+fPn3w5ptvRnMLIiIiomYTVVA6ePDgaYNSeno6Dhw4EM0tiIiIiJpNVEHJbDajuLhYd/+xY8cMnUaciIiIqClFlWKGDh2Kt99+G5WVlXX2ud1urFixAkOHDo3mFkRERETNJqqn3n7961/jlltuwbXXXouZM2eGZ8Des2cPli5diuLiYvz1r381pKBERERETS2qoDR06FA8++yzmD9/Ph555BFIkgQAEEKga9eueOaZZzB8+HBDCkpERETU1KIKSgCQnZ2NVatWYceOHeGB2927d8fAgQPDwYmIiIioJYo6KAGALMsYNGgQBg0aZMTliIiIiGKCIUFp7969OHjwICoqKurdf+211xpxGyIiIqImFVVQOnDgAP7nf/4HW7duhd6ScZIkMSgRERFRixRVUJo/fz52796NBx54AOeffz7sdrtR5SIiIiJqdlEFpU2bNmH27Nn46U9/alR5iIiIiGJGVBNOpqSkICkpyaiyEBEREcWUqILSjBkz8N5770FVVaPKQ0RERBQzoup669mzJzRNwzXXXIPp06cjLS0NiqLUOe7yyy+P5jZEREREzSKqoDR37tzw3x977LF6j5EkCTt37ozmNkRERETNIqqg9MorrxhVDiIiIqKYE1VQGjlypFHlICIiIoo5hszM7ff7sX37dpSUlGDEiBFwOp1GXJaIiIioWUX11BsQ6n4bO3YsbrrpJtx5553YtWsXAKC0tBSjRo3Cf/7zn6gLSURERNQcogpKy5cvxx//+EdceOGFeOSRRyKWMXE6nRg9ejQ+/PDDqAtJRERE1ByiCkr/+Mc/cMkll+Cvf/0rLr744jr7Bw4ciD179kRzCyIiIqJmE1VQKigowLhx43T3Jycno7y8PJpbEBERETWbqIKS3W5HWVmZ7v69e/ciNTU1mlsQERERNZuogtK4cePw5ptvwuVy1dm3Z88evPXWW5gwYUI0tyAiIiJqNlFND3D33XfjhhtuwOTJk3HxxRdDkiS88847WL58OT755BOkpqbiV7/6lVFlJSIiImpSUbUodezYEStWrMCFF16Ijz76CEIIvPvuu/jiiy8wadIkvPnmm5xTiYiIiFosSZz8TH+USktLoWkanE4nZDnqKZpiQllZFYJBrbmL0aKZTDJSUhJYl1FiPRqHdWkc1qUxWI/GcToToCjGZRBDZuauxdYjIiIiak2iCkpLliw54zGSJCEnJyea2xARERE1i3MWlCRJghCCQYmIiIharKiC0o8//lhnm6ZpOHz4MF5//XV8++23eOGFF6K5BREREVGzMXzEtSzL6NatG+677z706NEDDz/8sNG3ICIiImoS5/TRtAsuuABfffXVubwFERER0TlzToPStm3bWs00AURERNT2RDVG6Z133ql3u8vlwnfffYdPPvkE119/fTS3ICIiImo2UQWlefPm6e5LSUnBHXfcwSfeiIiIqMWKKih99tlndbZJkgS73Y7ExMRoLk1ERETU7KIKSl26dDGqHEREREQxhyOtiYiIiHRE1aLUr18/SJJ0VudIkoQdO3ZEc1siIiKiJhFVUMrJycGnn36KvXv3YuzYsejVqxcAID8/H2vXrkXfvn1x6aWXGlJQIiIioqYWVVDq0KEDSkpK8P777yM9PT1iX15eHmbOnIkOHTrghhtuiKqQRERERM0hqjFKL730Em655ZY6IQkAevfujZtvvhkvvvhiNLcgIiIiajZRBaWjR4/CZNJvlDKZTDh69Gg0tyAiIiJqNlEFpb59++L1119HUVFRnX1Hjx7FsmXLkJGREc0tiIiIiJpNVGOU7r//ftx+++244oorcOmll6JHjx4AgP379+Ozzz6DEAKLFi0ypKBERERETS2qoHT++efjzTffxBNPPIFPP/0UXq8XAGC1WjF27FjceeedyMzMNKSgRERERE0tqqAEABkZGXjqqaegaRpKS0sBAE6nE7LMuSyJiIioZYs6KNWSZRlxcXGw2WwMSURERNQqRJ1ofvjhB8yaNQtDhw7FqFGj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zjvvxNChQyFJEj7//HP8/e9/R1FREebPn896bKDi4mJs27YNu3fvxh/+8AfEx8fj2WefxW233YZPPvmE9dhIwWAQH330ESZMmACbzQaA39tn4/zzz8eSJUtw77334v/+7/8AAP3798eLL74IRVEAsD4bokePHti6dWvEtu+//x7Aifoxsh7bfFB6/vnn4fF4sHfvXjzzzDOYM2cO/vGPfzR3sVqcZ555Bu3atcP06dObuygt2oUXXogLL7ww/Hrs2LGIi4vD0qVLMWfOnGYsWcsihEB1dTWeeOIJ9OvXDwAwdOhQTJgwAf/6178wduzYZi5hy7R27VqUlpZi8uTJzV2UFmnTpk343e9+hxtuuAHjx49HeXk5nn76adxxxx14/fXXYbVam7uILcJNN92EBx98EEuXLsU111yDvXv34u9//3s4bBqtzXe99evXD8OHD8f111+Pp59+Ghs3bsSqVavgcDgAoM50AS6XCwDC+wk4fPgwXn75Zdx1111wu91wuVyorq4GAFRXV6Oqqor1GYWJEydCVVXs3LmT9dhAdrsdycnJ4ZAEhMYgDhgwAHv37mU9NtIHH3yA5OTkiKDJumy4hx9+GKNHj8a8efMwevRoXHnllXj++eexY8cOvPvuuwBYnw0xbdo0zJw5E4sWLcKoUaPw85//HDNmzIDD4UCHDh0AGFuPbT4onSwzMxNmsxkHDhxA9+7dYTab6/Rj1r4+td+zLTt06BACgQDuuOMOXHDBBbjgggvCrR8/+9nPcOutt4brq776NJvN6NatW5OXuyViPTZMnz59dPf5fD5+fzeC1+vFp59+iiuvvBJmszm8nZ/JhsvLy4sI7wCQlpaGlJQUHDhwAADrsyFkWcYDDzyADRs24N1338W6detwww03oLS0FEOHDgUAQ7/HGZROsmXLFgQCAXTt2hUWiwWjRo3Cxx9/HHHMhx9+iN69e6Nr167NVMrY079/f7zyyisRX/fffz8AYMGCBfjDH/6Abt26oWfPnsjNzY0498MPP0RWVladgXl0wocffghFUTBgwADWYwNdfPHFKC8vx86dO8PbysrKsH37dgwcOJDf343w+eefo7q6Ovy0Wy1+Jhuuc+fO2LFjR8S2w4cPo6ysDF26dAHA+jwbSUlJ6NevH+x2O1599VV07doVY8aMAQBDv8fb7BilX//61xg0aBAyMzNh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",
"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\"."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"celltoolbar": "Hide code",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.10.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}