"
]
},
"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, 02 Jun 2021
Deviance:
3.0144
\n",
"
\n",
"
\n",
"
Time:
14:00:16
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, 02 Jun 2021 Deviance: 3.0144\n",
"Time: 14:00:16 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, 02 Jun 2021
Deviance:
18.086
\n",
"
\n",
"
\n",
"
Time:
14:00:23
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, 02 Jun 2021 Deviance: 18.086\n",
"Time: 14:00:23 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": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEKCAYAAAAIO8L1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xl8VPW9+P/XmTWTyR6yAAlhMeyIFkRREUUBhbAoUgWqVsWqrfbbWu9Vb61X7VXr/fXaW9veVrTWtbSCC0sUraDghuIaCYQ9EJYsZM9ktnPm/P44yUhIAknIMEvez8cjJOfMmZPPhyTzns/2/ii6rusIIYQQxzGFuwBCCCEikwQIIYQQHZIAIYQQokMSIIQQQnRIAoQQQogOSYAQQgjRoZAFiPvuu4/JkydTUFDQ4eO6rvNf//VfTJ8+nTlz5lBcXByqogghhOiBkAWIq666imeeeabTxzdt2kRpaSnvvPMOv/71r3nwwQdDVRQhhBA9ELIAcc4555CcnNzp4+vXr2f+/PkoisJZZ51FQ0MDlZWVoSqOEEKIbgrbGERFRQXZ2dnB4+zsbCoqKk76PE0LIIu/hRAi9Czh+sYdvcgrinLS51XXe6ioajSub/lHaXlu8LPy3b1MSttzpuBn45zJ1PJZUbr0/UMtIyORqpb6xSKpX/SK5bpB36hfd4UtQGRnZ1NeXh48Li8vJzMzs1v30Fv+MT7rx57tkdZAYVIUTCbjw2wyjs2tx2bjWAghYl3YAsS0adN46aWXmD17Nt988w2JiYndDhC9TddB03U0dNA6v05RwGxSMJtMWMzGZ7NZCX4thBCxIGQB4q677uKzzz6jtraWiy66iDvvvBNVVQFYtGgRU6dOZePGjUyfPh2Hw8Gjjz4aqqL0Ol0HVdNRNQ2vv+1jigIWkwmLxYTVrGAxm7BaTBHRfSWEEN2hRFu678qa5uAYRLRQALNZwWYxY7WYsFvNmEwdB4y+0A8q9YtOsVw36Bv1666wdTH1JTqtLQ4VvMY5i0nBZjNjt5qxSQtDCBGBJECEiRrQUT0qzR4VRQG71UyczSxTeIUQEUMCRATQdfD4NDw+DXO1i+YmL3F2C3arOdxFE0L0YRIgIoyug9un4fZpmE0KDruFeLul0zELIYQIFQkQEUwL6DS5/bjcfiNQxFmwmGUarRDi9JAAEQV0oNmr0uxVibOZSXBYJVAIIUJOAkSU8fg0vD6NOLuFBIdFFuYJIUJGAkQU0gG3V8XjVXE6rDjjLDJNVgjR6+TtZxTTgSa3n+p6D17/CXKDCCFED0iAiAFqQKe20Uu9y0dA1lEIIXqJBIgY4vaqVNd78KvSmhBCnDoJEDFGC+hUN3hpcvtPfrEQQpyABIgY1eT2U9volS4nIUSPSYCIYV6/Rk29B1ULhLsoQogoJAEixqkBneoGmeUkhOg+CRB9gK5DXaMXj08Nd1GEEFFEAkQfoQN1TT7cXgkSQoiukQDRx9S7fDLDSQjRJRIg+qAmt5+GZl+4iyGEiHASIPqoZo9KXZNXdrATQnRKAkQf5vFp1DVJS0II0TEJEH2c16/RKN1NQogOSIAQuDwqXp+skxBCtCUBQgBQ7/LKimshRBsSIAQAAR3qm3wyaC2ECJIAIYL8WoDGZlkjIYQwSIAQbTR7VUnJIYQAJECIDtS7fDIeIYSQACHa02U8QghBFAaIh57ZzNe7jsqLV4j5tYDkbBKij7OEuwDddaCikQMVjXy1q4r5U4aQmhgX7iLFrGaPSnycBbMp6t5HCCF6QdT95VvMCgC7DtbzvyuK+OjbI7KtZojoQJPMahKiz4q6APHg0skMzk4EwK8GKPxkP0+v2cbReneYSxab3D4NvyoD1kL0RVEXIPr3c7J0zmjmTxmC3WoGYH95I39Y+a20JkJExiKE6JuiLkAAmBSFSaOy+H8LzyQ/JxkwBlULP9nPs4XbqWvyhrmEscXr1/DJntZC9DkhDRCbNm1i5syZTJ8+nWXLlrV7vLGxkdtuu425c+cye/ZsXn311W7dPyXBzg+vGMlVFw0Ntib2Hm7gyZVFfL1bZjr1JllhLUTfE7IAoWkaDz/8MM888wyFhYWsXbuW3bt3t7nm5ZdfZtiwYaxevZoXX3yRxx9/HJ+ve6mnFUVh4shMfnr1mQzub4xNeHwar2zYzSvv7ZZVwb3ErwXk/1KIPiZkAaKoqIi8vDxyc3Ox2WzMnj2b9evXt7lGURRcLhe6ruNyuUhOTsZi6dnM29REO0tnj+aKcwdhNhkznb7ZXc0fX/2WssqmU66PkLEIIfqakK2DqKioIDs7O3iclZVFUVFRm2uWLFnC7bffzpQpU3C5XPzud7/D1IU592lpzk4fm3dJPhNGZ/PM6q2UVzdT0+jlqdXFzJ86jMsmDcKkKD2v1GlyovqFmzPRTnyc9ZTukZGR2EuliUyxXL9YrhvEfv26K2QBoqP+f+W4F+cPP/yQUaNG8cILL3DgwAFuvPFGJk6cSEJCwgnvXVPjOuHj8VYTt80dQ+En+9lSUkkgoPPae7vZtucoV198BvFxkbs+MC3NedL6hVN9XTP9kuPa/Sy7KiMjkaqqxl4uVeSI5frFct2gb9Svu0LWxZSdnU15eXnwuKKigszMzDbXvPbaa8yYMQNFUcjLyyMnJ4e9e/f2yve3Wc1cedFQFl2WHxzALjlQxx9fK6KsMnZ/CUJNC+i4vTIWIURfELIAMW7cOEpLSykrK8Pn81FYWMi0adPaXNO/f38++eQTAI4ePcq+ffvIycnp3XIMTeeOBeMYkB4PQF2Tj2Wrt7G5uFxmOfVQk0eV/zsh+oCQ9bVYLBYeeOABli5diqZpLFiwgPz8fJYvXw7AokWL+PGPf8x9993HnDlz0HWdu+++m7S0tF4vS3pSHLfOG8ubm/fz6bYKtIDO6o9KKatsYv6UoVgtUbkcJGwCAZ1mr4rzFMcihBCRTdGj7K1gZU0zFafQT/j1rqO8vmkv/pb9Dgakx7NkxvCISfoX6WMQrUwmhYwejEX0hX7eWK1fLNcN+kb9uqvPvXU+K78ft80fQ1qiHYDD1c386bWt7D1cH+aSRZdAQMftldXVQsSyPhcgAPqnO/nJVeMYnpsCGNtsPltYwuZt5Sd5pjiWyyPrIoSIZX0yQAA47BaunzmCi8YPACCg66z+sJQ3PtiLFpDspV0hM5qEiG19NkCA0Y9++bmD+P60M4L7THy2vZLn3iqRF74uklaEELGrTweIVmed0Y8fzR1DUrwxK2fPoQb+/MZWqhs8YS5Z5FM1XXI0CRGjJEC0yMlI4PYrv1svcbTew59f30ppeUOYSxb5mj0SIISIRRIgjpHstPGjuWMYPTgVaB283s63e6vDXLLI5lMD+FWZ0SRErJEAcRyb1czi6cOZcmZ/wOhC+ce7u/iw6IisHj4BaUUIEXskQHTApChccV4ecy4YjKKADry5eT+Fn+yXLU074fFpMvtLiBgjAeIEJo/JZsn04VjNxn/Tx1vLeWXDblRNXgiPp4MsnBMixkiAOInRg9NYOmcU8XYjbVXRnmpeWLcDr09eDI/X7PFLN5wQMUQCRBfkZiZy67wxpCTYANh9qJ6n126THdaOE9CNriYhRGyQANFFGSkObp03lqxUBwCHj7pYtrqYuiZvmEsWWWThnBCxQwJEN7ROg83LNrIiHq338NSqYo7WucNcssihajo+v7QihIgFEiC6yWG3cOOskcFEf/UuH0+tLubw0chP0X26SJoSIWKDBIgesFnM/GDGcMYNTQfA5VF5Zu022cq0hcenEQjIYLUQ0U4CRA9ZzCaumXYG54w09tn2+DT+WridvYclNYeOsQpdCBHdJECcApNJYf6UIVwwNhsAnz/A82+VsLOsLswlCz8JEEJEPwkQp0hRFGZNzuPiswcC4NcCvPj2DkoO1Ia5ZOEVCEiWVyGinQSIXqAoCjPOyWXGObmAsZHOy+/sZHtpTZhLFl6Sn0mI6CYBohddfPZArjh3ENASJP61i+J9fTdI+NSApCURIopJgOhlU8YPYPbkPMDYxnT5u7vY2ofThUsrQojoJQEiBC4Y15855w8GjCDxj/W7+2xLwu1TJQOuEFFKAkSITB6bzdwLBgPftSS29cExCV2XhXNCRCsJECF03pjsNi2J5e/u6pMD1y6PKllehYhCEiBCbPLYbArON8YktIDO39/d1efWSRhTXiU/kxDRRgLEaXD+2P7BgWstoPPSOzvYfag+zKU6vWSwWojoIwHiNLlgXH9mTjLWSaiazotv72Dfkb6TlsOvBSTLqxBRRgLEaTT1rIFcOiEHAL8a4Pl1JX0qwZ9LWhFCRBUJEKfZtO8NZOpZAwAjd9Pf3izhSHXfSBXu9Wv4VVk4J0S0kABxmrWm5WhN8OfxaTxbuJ3KPrLpUGOzL9xFEEJ0kQSIMGhN8DexJVW4y6PybOF2aho8YS5Z6Lm9qrQihIgSEiDCRFEU5l84hDOHGZsONbh8PFu4nfo+sMe17FstRHSQABFGJpPCwkuGMSovFYCaRi+//+dXMT8l1OOTsQghokGXAsTNN9/Me++91+3VsJs2bWLmzJlMnz6dZcuWdXjNp59+yrx585g9ezY/+MEPunX/WGA2mbj20nyGDkgC4HCVi+fe2o43xheWNbmlFSFEpOtSgLjmmmt4/vnnueyyy1i2bBm1tSffDEfTNB5++GGeeeYZCgsLWbt2Lbt3725zTUNDAw899BB//vOfKSws5Pe//33PahHlrBYT180YQW5mAgAHq1y8+M6OmH6X7fVrkgpciAjXpQAxY8YMnnvuOZ5++mkqKyspKCjg3//939m6dWunzykqKiIvL4/c3FxsNhuzZ89m/fr1ba5Zs2YN06dPZ8AAY9pnenr6KVQlutltZm64fCQDMpwA7D3cwCsbdhMIxG4OI0niJ0Rks/TkSVarFbvdzj333MOUKVO49957211TUVFBdnZ28DgrK4uioqI215SWlqKqKtdddx0ul4vrr7+e+fPnn/T7p6U5e1LsiJcG/L9rzub/e+kLjta5KS6t4a0tZfzg8pEoihLu4vWa1p+f2aSQkR57P8uMjMRwFyFkYrluEPv1664uBYh33nmHl156ierqahYvXkxhYSFOpxNVVZkxY0aHAaKj8YrjX+Q0TaO4uJjnnnsOj8fDtddey/jx4xkyZMgJy1NTE7sLy9LSnNxw+QieWlVMk9vPR98cxgxc3rJTXbRLS3O2+fkFfH6sFnMYS9S7MjISqaqKzdXxsVw36Bv1664uBYiVK1dyyy23MGXKlLZPtli4//77O3xOdnY25eXlweOKigoyMzPbXZOamkp8fDzx8fFMnDiRkpKSkwaIWJeeFMeNs0by9JpteHwam745jNNhYcqZA8JdtF7n9mkxFSCEiCVdGoN46qmn2gWHVtOmTevw/Lhx4ygtLaWsrAyfz0dhYWG7ay+99FI+//xzVFXF7XZTVFTEsGHDulmF2NQ/3cn1l4/AYjZaXW9tPsCXO6vCXKreJ2nAhYhcXQoQixcvpr7+u/TUdXV1LFmy5ITPsVgsPPDAAyxdupRZs2ZxxRVXkJ+fz/Lly1m+fDkAw4YNY8qUKcydO5eFCxdy9dVXM3z48FOoTmwZnJ3EosuGY2rpmXtt4x52HDj5DLJoEgjokuVViAil6F1Y3DBv3jxWrVp10nOnQ2VNMxUx3E94fB89wBc7Knl1414ArGYTNxeMYlBWdA6mdVS/eLuFJKctTCXqXbHcjx3LdYO+Ub/u6lILIhAI0NzcHDx2uVxomrzrO10mjMjk8knGILVfC/D8uh1U1sZOcj+PtCCEiEhdChAFBQXcdNNNrFq1ilWrVnHzzTczd+7cUJdNHGPK+P5cOK4/YKwf+NubsZO3KRDQ8UqQECLidGkW06233kpmZiYbNmxA13WuvfbaLq1XEL1HURQuP28QTW4/X+8+Sr3Lx9/eKuHWuWNw2Hu0nCWieHwadqvMZhIiknT5leXKK6/kyiuvDGVZxEmYFIWrpg7F5fGz62A9lbVuXnh7BzfNGoXVEt15Fz1elQSHBbMpuushRCzpUoCorq7mxRdfpKysDFX9Lj1CX82dFE4Ws4nFlw3nmbXbOHTUxf7yRv65YReLLxuOyRS9q611oNmjkhgfG4PVQsSCLgWIO++8k2HDhjF58mTMZukGCDe7zcwNV4zkL6u2UtPgZVtpLWs+LmXuBYOjOiVHs1fF6bBiiuI6CBFLuhQgGhoa+PWvfx3qsohuSHBYuXHWKP7yxlZcHpVPt1WQ7LRx8dkDw120HtN1oxWR4LCGuyhCCLo4iyk/P5+KiopQl0V0U3pSHDdcMRJby/jDO1vK+GJHZZhLdWqavWq39x0RQoRGl1sQc+fO5eyzz8ZutwfPyxhE+OVkJLB4+nBeWLeDgK7z+qa9JDisjBiUGu6i9UggoOP2asTHRf/MLCGiXZf+CgsKCigoKAh1WUQPDc9N4aqpQ1n5/h4COix/dxdL54wmJyMh3EXrEZfHLwFCiAjQpb9Cmd4a+b43PIMGl493tpThU43V1rfNG0N6Uly4i9ZtWkDH7VVjYn2HENGsS2MQpaWlLFq0KJiNtbi4mD/84Q8hLZjovqlnDeC80VkAuNx+nnuzJGr3fnZ5orPcQsSSLgWIBx98kNtvv53ERCPZ06hRo1i3bl1ICya6T1EUCs4fzOjBxvhDdYOHF9aVRGW2VFXT8UoqcCHCqksBorGxkYsuuig4x95kMmG1ylTESGQyKVwzLZ+8lmyvB6tcLF+/Cy0K97aO1taPELGiSwHCbDbj9/uDAaKiogKTpESIWFaLietmDqdfsjH+sONAHas/3Bd100f9WkCS+AkRRl3eMOiOO+6gtraWP/zhDyxevJibbrop1GUTpyA+zsqNs0aS2LLobEtJJRu+PBTmUnWfS1oRQoRNl6aJzJ8/n5ycHN577z3cbjePP/44EydODHXZxClKTTQW0i1bU4zPH2D9FwdJdtqYODLz5E+OED41gF+VfauFCIcuzyOcOHGiBIUoNKCfkyXTh/P8W8ZCujc+2EtifHQtpGtyq6QmSoAQ4nTrUoBYsGBBh0ngVq5c2esFEr0vPyeFBVOHsiJKF9J5/RqqFsBilnEvIU6nLgWIe+65J/i11+ulsLCQzMzo6aYQcPbwDOqjeCGdy+0nOcF+8guFEL2mSwFi0qRJbY4vvPBCGaSOQlPPGkC9y8en2yqCC+lunTcmKrKnun0aTmlFCHFa9eivrampibKyst4uiwgxRVGYE8UL6Vwe9eQXCSF6TbfHIAKBAAcPHuTGG28MacFEaLQupPtr4TYOVDQFF9L9YMYIzBG+I51sSyrE6dXtMQiz2UxOTg5ZWVkhK5QILavFxPUzR/DU6mKq6jzsOFDHqg/2cuVFQyN6RzodoxWRJNuSCnFa9GgMQkS/+DgrP7xiFH9ZtZXGZj+f76giyWnjsom54S7aCbm9Kglx1qjef1uIaNGlAHHeeed1+M5S13UUReGTTz7p9YKJ0EtNtPPDK0aybPU2vH6NDV8eIjHexrmjI7d1qOvGrnPRMLAuRLTrUoBYtGgRdXV1XHPNNei6zquvvkpWVhazZs0KdflEiPVPd/KDGcN57q0StIDO6o/2kRhvZfTgtHAXrVPNHj/OOEtEd4cJEQu6NNq3ZcsW/vM//5ORI0cyatQo7r//fjZu3MjAgQMZOHBgqMsoQmzYwGSuvngYYLxD/8f6XewvbwxzqToX0I2uJiFEaHUpQFRWVlJTUxM8rqmpoaqqKmSFEqff+DP6MXtyHmDsxfD8uhIqaprDXKrONXnUqMtOK0S06VIX0w033MC8efO45JJLANi4cSO33nprSAsmTr8LxvWnweXjg6IjeHwaz71lLKRLicAVzIGAjsenybakQoRQl/66lixZwoQJE9iyZQu6rrNkyRJGjBgR6rKJMJh57iCa3H6+2nWUepeP594q4UdzxhAfF3kvxC63XwKEECHU5b+unJwcNE1jzJgxoSyPCDOTonDV1KE0uf3sOlhPZa2bF94u4abZo7BFWMptNWBsS2q3RVa5hIgVXRqD2LhxI7Nnz+bOO+8E4Ntvv+W2224LacFE+JhNJhZPH05OhhOAAxVNLH93F1ogEOaStdcsg9VChEyXAsSTTz7JypUrSUpKAmDcuHEcOHAgpAUT4WW3mrnhipFtti19fdPeiBsY9vm1iAxcQsSCLie1ycjIaHNss0m6g1jnjLNy46xRJDmNn/WXO4/y1qcHIipI6IDbGx3JBoWINl0KEE6nk6NHjwYXJn366ackJiae9HmbNm1i5syZTJ8+nWXLlnV6XVFREaNGjWLdunVdLLY4XVpXWzvsRj//h0VH2PTN4TCXqi1ZEyFEaHQpQPziF7/glltu4eDBg1x33XXcfffdbRL4dUTTNB5++GGeeeYZCgsLWbt2Lbt37+7wut/+9rdceOGFPauBCLnstHiunzkSa8teDG9/VsaWksowl+o7WstgtRCid3VpFtP48eN54YUX+PLLLwE4++yzg+MRnSkqKiIvL4/cXCP52+zZs1m/fj1nnHFGm+tefPFFZs6cybffftuT8ovTJC87kcXT83nx7Z3Bva0dNjNjh6aHu2iAMVgts5mE6F0nDRCapvH973+fV199lalTp3b5xhUVFWRnZwePs7KyKCoqanfNu+++y/PPP9+tAJGW5uzytdEoUus3Oc2JxWbh2dXF6Dq88t5u+qU7GT2ke0EiFPVTgLS0eMwRsONcRsbJu1+jVSzXDWK/ft110gBhNptJTU3F6/Vit3d9RW1HA5nHJ1d75JFHuPvuuzGbu/fOr6bG1a3ro0lamjOi6zcsO5GCCwaz5qNSVE3nz68WcfPsUQzK6tofVijr53X7wp7lNSMjkaqqyM1jdSpiuW7QN+rXXV3qYho8eDBLlixh5syZxMfHB88vWbKk0+dkZ2dTXl4ePK6oqCAzM7PNNVu3buWuu+4CoLa2lo0bN2KxWLjsssu6VQlxek0ek43bq/Lu5wfxqwGee6uEW+aMpn96eFs+zV5VsrwK0Yu6FCBcLhf5+fns3bu3yzceN24cpaWllJWVkZWVRWFhIf/zP//T5poNGzYEv7733nu5+OKLJThEiUvOHojHq/Hht0bepr+9WcKP5oymX4ojbGUKBHS8fo04m6TfEKI3nPAv6Te/+Q333nsvjz32GB999BEXXHBB129ssfDAAw+wdOlSNE1jwYIF5Ofns3z5csDYY0JEL0VRuOK8Qbh9Kl/sqKLJ7eevhdv50dwxpCaGL7lfs0eVACFEL1H0E6x6uvLKK3n99dfbfR1OlTXNVMRwP2Gkj0EcLxDQ+eeGXXy710gHn54Uxy1zR3e6b/TpqF+/5DgsYRqsjuV+7FiuG/SN+nXXCf+Kjo0dkbR6VkQOk0lh4SVnMGJQCgDVDR6eLdyOy+MPW5kkP5MQveOEAcLn87Fnzx52797d5uvWDyEALGYTiy8bztABxtqYylo3fyvcHrYVzm6vbCYkRG84YRfTtGnTOn+iorB+/fqQFOpEpIspcnn9Gn97czsHKpoAyM1M4KZZo9osYDtd9UuKt4VlD4tY7qaI5bpB36hfd53wL+jYWUZCnIzdauaHV4zkr2u3c+ioi7LKJp5fV8IPrxiJzXp6Vzk3e/0RucmRENEk/MtORUyJs1m4cdZIstOM9TKl5Y288PYOfOrpzZWkajo+v+RnEuJUyFss0evi46zcNHsUT6/ZRlWdm72HG3jp7Z1cN/PUtqnddbCOz0sqqW30kppoZ+LITPJzUjq9vtmrnvaWizh1W/dV82HREarq3GSkOLjwzP6M7WY6F9E7pAUhQiLBYeXmglHBDYd2H6rnpXd24O9hS2LXwTre/qyM6gYvAR2qG7y8/VkZuw7Wdfocj082E4o2W/dV8+rGvVTUugnoUFHr5tWNe9m6rzrcReuTJECIkEmKt7G0YDTpLUFi18F6/vLat/jV7r9of95JevHOzrdq9siU12jyYdGRbp0XoSUBQoRUktMIEmlJxurq4r3VLS2J7gWJ2kZvt863kimv0aWqzt3Jec9pLokACRDiNEg+LkjsOljPi90cuO4sfcfJ0noEdNmSNJpkdJLLKyMl7jSXRIAECHGapCTYuaVgNJmpxgvA7kP1vLBuR5dnGk0cmdmt88dqDuOqbtE9F57Zv1vnRWhJgBCnTXKCnbsWTwgOXO893MBzb5V0abvQ/JwUZk7KJT3JjkmB9CQ7MyflnnAWUyu1JcuriHxjh6SzYOpQslIdmBSFrFQHC6YOlVlMYXLCldSRSFZSR7e0NCelB2v569ptwX7l3MwEfnjFSBz20M26tllMpCWFvpsillfjxnLdoG/Ur7ukBSFOu6R4G7fMGRNcTFdW2cQza7fR5A5dV5BPDfRo9pQQfZkECBEWCQ4rSwtGMzDD2IXuSHUzT6/ZRr3LF7LvGc4Ms0JEIwkQImzi4ywt+1knAMYUx2Wri6luCM2URq8snBOiWyRAiLAycjeN4oyByYCxrmHZqmLKa5p7/XvpgEsWzgnRZRIgRNjZrWauv3wEowenAtDo9vP0mmIOVPT+gKHbqxIIRNW8DCHCRgKEiAgWs4lFlw3ne8P7Acbitr+u3c6OA7W9+n10XXacE6KrJECIiGE2KVw1dRgXjMsGwK8FePHtHXy1s6pXv4/L40fVZCxCiJORACEiiklRmHVeHjMn5QJGqowV7+9h09eHey2nkq5DQwhnSwkRKyRAiIijKApTzxrIgqlDMSnGuXWfHWDNR6W9Nn7gUwOS6VWIk5AAISLWhBGZ/GDGCKwW49d087YKXv7Xzl7bna7R7ZOuJiFOQAKEiGgj81JZWjAaZ8v+0tv31/LXtdtpbD71LiLpahLixCRAiIiXm5nAbfPHBjceKqts4i+riqnohbUSRleTrLAWoiMSIERUSE+K47Z5Y8jLMhKO1TZ6+cuq4hNuOdpVjc0yq0mIjkiAEFHDGWfsc33WGcZaCa9f4/m3SvikuPyUZjjpQH2TdDUJcTwJECKqWMwmFl4yjEsn5ADGNNg1H5Wy6sN9p9QK8GuBkGaTFSIaSYAQUUdRFC6dkMO1l56BxWzMg/1PW1YQAAAeSUlEQVRseyXPvrn9lF7kXW4//l6aISVELJAAIaLWmcP6cevcMSQ5bQCUHmnk/17/lkNVTT26nw7UNsnUVyFaSYAQUW1gRgI/uXIsuZlGyvC6Jh9PrS7myx6m5wgEdGoavRIkhEAChIgBifE2bpkzmnNGZgKgajor39/T43GJQECnttEre0eIPk8ChIgJFrOJKy8aypVThmBuyc/x6bYKlq0uprbR2+37aQGd2gYJEqJvkwAhYso5o7L40dzRJLeMSxyscvHH14oo6UHacDWgU9Mg3U2i7wppgNi0aRMzZ85k+vTpLFu2rN3jq1evZs6cOcyZM4drr72WkpKSUBZH9BG5mYncsWAc+TnGLnVur8YL63bw1ub93X6x12RMQvRhIQsQmqbx8MMP88wzz1BYWMjatWvZvXt3m2tycnJ46aWXWLNmDbfffju/+tWvQlUc0cc446zccPlILp2QQ0tCWD4oOsKy1cXUdHPP69aBa78qQUL0LSELEEVFReTl5ZGbm4vNZmP27NmsX7++zTXf+973SE423uWdddZZlJeXh6o4og8ymYz1EjfOHkWiwwoYXU5/ePVbvt59tFv3MoKEB69P1kmIvsMSqhtXVFSQnZ0dPM7KyqKoqKjT61euXMlFF13UpXunpTlPuXyRTOrXuyalORk5tB/PF26jeG81Xr/GKxt2s6+8kUUzRhAfZ+3W/RxOGwnxtk4fz8hIPNUiR6xYrhvEfv26K2QBoqPcOIqidHAlbN68mZUrV/L3v/+9S/euqXGdUtkiWVqaU+oXIosuPYOPMxN4+7MDaAGdLdsq2Lm/loWXDGPogOQu36emxoXDbiEp3trudzojI5GqqsbeLnpEiOW6Qd+oX3eFrIspOzu7TZdRRUUFmZmZ7a4rKSnh/vvv5//+7/9ITU0NVXGEwKQoXHhmf3585VgyUx0A1Lt8/HXtdtZ+XNqtjYjcXpXqeo+k5hAxLWQBYty4cZSWllJWVobP56OwsJBp06a1uebw4cPceeed/Pd//zdDhgwJVVGEaKN/upOfXDmO88caXaA68PHWcv6w8lv2l3f9HWTrNNgmt7/X9ssWIpKErIvJYrHwwAMPsHTpUjRNY8GCBeTn57N8+XIAFi1axJ/+9Cfq6up46KGHADCbzbz22muhKpIQQVaLiYLzBzMyL5XXNu6hrslHdYOHZauLmTw2m+nn5GK3mk96Hx1ocvvxeFUSnZ2PSwgRjRQ9yt76VNY0UxHD/YQyBnH6Fe+r5q3NB6g5ZsV1gsNCv+Q4VE0nNdHOxJGZ5OeknPReA7KT8Ll9WMzda5xv3VfNh0VHqKpzk5Hi4MIz+zN2SHq36xIKaz8p5f2vDuHyqDjjLFx89kAKJg8Od7F6nYxBtBeyFoQQ0WDXwTre++owcXYLaYqxcZAW0GlyqzS5m3DYzfg1nbc/KwM4aZDw+DRq6j3YrWbi7RbstpO3Qrbuq+bVjXuDxxW17uBxuIPE2k9KWftRKWBMMmlq9gePYzFIiLYk1Ybo0z4vqQx+HWezkJHqCOZyAmMVdmVtMy63ny3bK7p8X69fo7bJy9E6Ny6Pn0Cg84b6h0VHunX+dHr/q0PdOi9iiwQI0acdn8jPpCiYTGA2E+wm0nVjttOOsnrKKrvXBaEGdBqb/VTVualr8uL1t5/1VFXn7vC5VXXdW/EdCp1twOSS3ff6BAkQok9LTbS3O2c2mbCazWSkxJHktNG61MGvBvjzG8WsfH8Pjc3d28Nax+h+qm30Ul3vwe1VgzOfMlIcHT4nIyWuW98jFBIcHS8idHZyXsQWCRCiT5s4sv3anPg4C844C4qikOCwkpniIO6YsYQvd1bxxD+/YePXh3qUn8mvBah3+aiq99Dk9gen2x7vwjP7d/veve3iswd267yILeYHH3zwwXAXojtcbj+ubr57iyYOhw13DDffI61+6UlxpCbaqWv04vVppCXZmfa9HEYMSg2e65ccx8xJg5gwIoPDVS5cHhUtoLPnUANf76rC6bCSmepAUZRu1U/XwacGSHBY6ZcSR32TD49PIzPVweXnDgr7ADXA8NwUUOBwtQtVC+B0WJkxaVBMDlA7nXaaY/i1xels31o+GZnmGmEicRpob4r2+mkBnc+2VfDuFwdxe9Xg+YEZTmaeM4hJZw44pfpZzArxdgtxdgumTlLThEtfmAYa6/XrLgkQESbaX0BPJlbq5/aqvP/VIT7eWo52zAylEXmpTDt7YHCP7J5SFHDYLMTHWbq9piJU+sILaKzXr7tkHYQQPeCwW7jivDzOHZ3Fvz4v45vd1QDs2F/Ljv21jByUyqUTBjIwo2eBQteh2avS7FWxWUzE2czYrOaICRaib5AAIcQpSEuK45pp+Vw0fgDvbCljx4E6AEoO1FJyoJZRealc8r2B5PQwUIAxTuFTA4Afi1khzmYhzibBQoSeBAghekH/dCc3XD6SmmY/r23Yxd7DDQBs31/L9v215OckM/WsgQzpn9hp2vuuUDWdJrefJvd3wcJqMWGzmE7pvkJ0RAKEEL3ojJwUlhaMZt+RBtZ/cTAYKHYdrGfXwXoGZSUw5cwBjMpLxWQ6tRf01mABoGAs7LPbzNitZqwWaV2IUycBQogQGNI/KRgoNn59mJ1lRtfTgYomXv7XTtKT4rhgXDbfG56BrQtZY09Gx1hf4XcHjNaFScFmM2O3mLFZpXUhekYChBAhNKR/EkP6J3H4qIuNXx9i674adB2qGzys/qiUd7aUMXFkJueNziItqfdWTqsBHdWj0oyKgpHe3G4zY7NI60J0nQQIIU6DAf2cLLpsODUNHj7aWs4XJZX41AAen8aHRUf4qOgIIwalMml0JsNzUk65++lYOm0Huk0K2KxmbBYTVgkY4gQkQAhxGqUlxTHn/MFcNiGHz0sq+aS4nLomHzrfzXxKSbAxcWQmE4ZnkJzQ/dWvJxPQjbxQHp8G+FEUsJpNWCwmrGYTVotJZkgJQAKEEGHhsFuYMn4AF4zrT8mBWjYXV7D7UD0AdU0+3v38IOs/P8gZOclMGJHJqLzUkL3Tb0354Tsmr5RJIdi6sJpNWK0SMPoiCRBChJHJpDB6cBqjB6dRXe/hs+0VfLGzimaPis53s5/ibGbGDk3n7Px+5GUnhjwNR0A39rRok57cYqG+0YvZrGAxmTCZjPToiqJgNim92i0mIoMECCEiRHpyHFecl8f0c3LZvr+WL3ZUsetgHXpLl9DnJZV8XlJJstPGuGHpnDksnYH9nKdthpKqBYyA0UkuQpNiTLU1m01YzQqWlm6rSMspJbou6gKE02HFGWdBx2gao+sEdIK59QO6DjoEMB5rORQialjMJsYNTWfc0HTqXT6+3lXFV7uOUllrbCxU7/LxYdERPiw6QlqinTFD0hg7NI2BGQlhfTEOtHRVoQY4dgskk0nBYlJagofR2jA+TNLqiHBRl6wP6FFCrWDgaKmu3ho8dNDp6Gu9XRBq+7zWx43P9FIgipVkdp2R+vWMruscqW7m611H+XZvNfWu9mmpk5w2RuWlMiovlaEDknp9oDkUdVMUsJhMWMwKZrMp2FVlNikt3VecthaSJOtrr88EiNOhTdBoCTh0EHxarzUebT02PqenJ3D0aGObx1q/+O644+ceW462x63Pb3uj4POPufDY7xmKXwwJEKcuoOuUVTRRtKearfuqaWxu3+djs5g4IyeZEbkpDM9N6ZXZUOH82ZkUWgKH0epQFIIBBL77HW89f+xjYPwum1qCjbGtbPugIwGiPQkQESbSfkmDwe7YQNfBuYCuo7e0tAKBlq8DOoFjWl8gAaK3BXSdg5VNFO+roXhfDTXH7bHdKivVQX5OCmfkJDM4O7FHq7dj7Wd3fMDo1y+B2hpXm1aLohz7+22kNFFagtXJ2jWtPRCKAgrGXueKogTv0eba1jdkx/RytH5/o4wArS2q7yYHdIcEiBgQaQGit7QGi7T0BCorGwgEjuvOO67F0nouGGyOORfJwvkiqus6lXVuSloSBJZVNnX4/2U2KeRmJTC0fxJDBySRm5nYpSm0sRYgjhdt9WsNNMcGOZNJaRP4WgOKgkLOwJRuf4+oG6QW0clkUjChYLeaibOd2q9d63hS2y47MELMd10LJuMvo+UPSemw5QMtLZxOxqLafr+2Y1BqwGglRQpFUchKjScrNZ6pZw2k2aOy+1AdO8vq2FVWT2NLYj8toFN6pJHSI41s+PIQFrNCTkYCedmJDM5OZFBWIg67vDREumPHSDV00E58fU4Pvof8Foio0/rCz0kb+W0pwX7p3hv0DOg6assiM59f68U7n7r4OAtnDuvHmcP6oes6FbVu9hyqZ/fBekrLG4NrHFRNp7S8kdLyRja2PDcjxcGgrAQGZSaQk5lAZmp8+CoiwkYChBCnwKQoRl4jqxkcVtLTnQT8KoGAjhbQ0bRAm64zVQugaqe/1aEoCtlp8WSnxXPBuP5oAZ3DR13sPVxP6ZFG9lc0tqTeMFTVuamqc/PFjirASMUxqH8imSkOBvZzMqCfk4wUB2aZphrTJEAI0YtMJqMb7URaF5x5fVqb9Bank9mkkJuZQG5mAlPPMlpCFTXN7C9v5EBFEwcqG6lp+G7A268F2HOwnj0H64PnLGaFzNR4+qfFk50eT1ZaPFmpDhIcVkkvHiMkQAhxmlnMRjI8Z5wVvxqg2avi8aphXdBpUhT6pzvpn+7kvDHGuSa3n0NVTZRVNnGoysXhalebKbWqZrRCDh9tO7AbH2chM9VBZoqDjOBHHMkJdllVHWUkQAgRRlaLiWSLjUSHFbdPxe1RUSNk4DvBYWXEoFRGDEoFIDU1ntKyWg4fdXHoqIvymmaOVDdTe9zU2maPGhwEP5bFrNAv2UF6UhzpyXbSk+JIS4ojLclOktMu3VURSAKEEBHAZFJwxllxxlnx+TU8fg1VDUTUTClFUUhOsJOcYGfU4LTgeY9PpaLGTXlNMxW1zVTUGOMXrduhtlI1nfKaZsprmtvd26QopCTaSEmwk5poD35OTjDOJTttkoI8DCRACBFhgoPeLQK6jt8fwK8ZM6X8aiCs3VHHi7NZyMtOJC+77UKsZo8aHOw+Wu+mqs7D0XoPNQ0etOOCXkDXqWnwthn3OJ4zzkKy00aS00ZivPE5Kd5KYryNhNbPDgtmkwSS3iIBQogIZ1IU7DYzdoyZUrquo2qtU2uNwBEprYxjxcd1HDgCAZ2GZh9H6z3UNnqpaTCCRl2Tj9pGb7uWRyuXR8XlUTlc3b4FciyH3UKCw0qCw4rTYcEZZ3wdH2fBGWchPs5KvN1CfJzxYTXLnt2dkQAhRJRRFKVlMx8zzpZtrLVAAL9qTKE1PgfavUuPFCaTQkqC0Y3UEZ+qUdfko77JS32Tj7omL/UuHw0uH/UuH/VNvrb7VBzH7VVxe43WS1dYzIoRVOJt2CwmHDYLDruxoDPObibO1vK1zRz8sFst2K3f7fMdq1lpJUAIEQPMJhNmW9uulYBurMNQNWNNhqoF0DQdLRAgQmMHADaLmcwUYxZUZ3x+jcZmP/UuH01uH43Nfhqb/TS523643P6TBkpV04PP7ymrxYTdasZmbf1s7Pl9/GerxYStdae+4z4sLdu9Brd9bfm6NU16OGaAhTRAbNq0iUceeYRAIMDChQv50Y9+1OZxXdd55JFH2LhxI3FxcfzmN79hzJgxoSySEDFr675qPiw6QlWdm4wUBxee2Z+xQ9J54e1tbNleiV8LYDWbOGdUJpNGZfJBy7X9kuM4d3Q2I3JT2FZaw6fbKqhu8JCaGMeEERkcrGris20VNPs04m1mJo3O4pKzO0/csOtgHZ+XVFLb6CU10c7EkZkA7c7l53ScG6ij5+fnpPDeVweNcnhV4u2WE5aj9R41DR5jUD0vlYwUB7sP1VOyv5bGZj82q4m0xDisFhNun4pf1Wls9uH2qnh9WrfGefyq0YKja42WHjG37KlhMX+3t4bFbMJiakmV3rLT33d7brSkUW95fNyIrG5/z5Al69M0jZkzZ/K3v/2NrKwsrr76ap544gnOOOOM4DUbN27kxRdf5Omnn+abb77hkUceYcWKFSe9dywms2sVq8n6Wkn9QmPrvmpe3bi33XlnnIXtpbVtzukY4wMZx71DnzAiI7hyulVdk5emZl8we2jry8XM8wYxY+KgYJbT1hxVJQdqeHPzgTZJAj0+FQWwH5eDa+ak3HZBYtfBOt7+rKxdPbLTHHy7p7rd+Yu/N7BdkOjsHmOGpFK8r7bd+dZyHJusb2dZLes+LWuTpVgP6IwdmkZKgh2PTwtuyept+dqvtl0A2Zp+xR+mxZDHW/M/87r9nJC1IIqKisjLyyM3NxeA2bNns379+jYBYv369cyfPx9FUTjrrLNoaGigsrKSzMzMUBVLiJj0YdGRDs+X7G//ggjg9qjtzr3/1SES421tzjU1+42U1aa26aU//racq6YMa3ePb3ZXt5uOWtdkjBc4HdY257/dU815o413ta29QEV7qjtcD9FRcADYsr2SgsmD2+xj8vWuo3Q0JLBle2W7MgB8tbOKsUPSW8YWjNljX+86arwTPy67VoPLx9wLhnRYls4EdGNcyOc3Aof/mMDRetzmQ9OC40mq1nrO6B5sPVY1Ywp0sAux5fjYbsTWrsVTEbIAUVFRQXZ2dvA4KyuLoqKiE16TnZ1NRUXFSQNET/KaRxOpX3QLR/1qm3wdpuwO6O33HmjNTHv89S6PSlpS3HHPN15gvtsfwfjc7FE7rGdH5dA0YyOF4/egaHD7GdC/bQuiodmP3dY+VYka0LFZ2p/3+DSG5qW3OdfkUYnrIBttVb2Hfh2MazT7NIYP7QdAerLxuMurdZjRttmnMWJYRrvzsSpkAaKjnqvjp5J15RohxMk98bOp4S4CcOrl6I16RMo9YkHIVpRkZ2dTXl4ePO6oZXD8NeXl5dK9JIQQESJkAWLcuHGUlpZSVlaGz+ejsLCQadOmtblm2rRpvPHGG+i6ztdff01iYqIECCGEiBAh62KyWCw88MADLF26FE3TWLBgAfn5+SxfvhyARYsWMXXqVDZu3Mj06dNxOBw8+uijoSqOEEKIborKPamFEEKEnmS1EkII0SEJEEIIIToU0bmYvF4vS5YswefzBVdm//SnP6Wuro6f//znHDp0iIEDB/K///u/JCcnh7u4PdI6PpOVlcVTTz0VU3WbNm0aTqcTk8mE2Wzmtddei6n6NTQ0cP/997Nz504UReHRRx9lyJAhMVG/vXv38vOf/zx4XFZWxk9/+lPmz58fE/V77rnnWLFiBYqiMHz4cB577DHcbndM1A3g+eefZ8WKFei6zsKFC/nhD3/Yo7+9iG5B2Gw2nn/+eVavXs0bb7zBBx98wNdff82yZcuYPHky77zzDpMnT2bZsmXhLmqPvfDCCwwb9t2K1FiqGxi/qKtWreK1114DYqt+jzzyCFOmTGHdunWsWrWKYcOGxUz9hg4dyqpVq4I/O4fDwfTp02OifhUVFbzwwgu8+uqrrF27Fk3TKCwsjIm6AezcuZMVK1awYsUKVq1axfvvv09paWmP6hfRAUJRFJxOJwCqqqKqKoqiBFN0AMyfP5933303nMXssfLyct5//32uvvrq4LlYqVtnYqV+TU1NbNmyJfizs9lsJCUlxUz9jvXJJ5+Qm5vLwIEDY6Z+mqbh8XhQVRWPx0NmZmbM1G3Pnj2MHz8eh8OBxWLhnHPO4V//+leP6hfRAQKMH+S8efM4//zzOf/88xk/fjzV1dXB9RKZmZnU1NSEuZQ98+ijj/Jv//ZvmI7ZAStW6tbq5ptv5qqrruKf//wnEDv1KysrIy0tjfvuu4/58+fzy1/+kubm5pip37EKCwspKCgAYuPnl5WVxU033cQll1zChRdeSEJCAhdeeGFM1A1g+PDhfP7559TW1uJ2u9m0aRPl5eU9ql/EBwiz2cyqVavYuHEjRUVF7Ny5M9xF6hXvvfceaWlpjB07NtxFCZnly5fz+uuv8/TTT/Pyyy+zZcuWcBep16iqyrZt21i0aBFvvPEGDocjarskTsTn87FhwwYuv/zycBel19TX17N+/XrWr1/PBx98gNvtZtWqVeEuVq8ZNmwYS5cu5aabbmLp0qWMGDECs7l9HquuiPgA0SopKYlzzz2XDz74gPT0dCorKwGorKwkLS3tJM+OPF9++SUbNmxg2rRp3HXXXWzevJm77747JurWKivLyNSZnp7O9OnTKSoqipn6ZWdnk52dzfjx4wG4/PLL2bZtW8zUr9WmTZsYM2YM/fq1JLOLgfp9/PHH5OTkkJaWhtVqZcaMGXz11VcxUbdWCxcu5PXXX+fll18mJSWFvLy8HtUvogNETU0NDQ0NAHg8Hj7++GOGDh0aTNEB8MYbb3DppZeGs5g98otf/IJNmzaxYcMGnnjiCc477zx++9vfxkTdAJqbm2lqagp+/dFHH5Gfnx8z9cvIyCA7O5u9e409GD755BOGDRsWM/VrVVhYyOzZs4PHsVC/AQMG8M033+B2u9F1PSZ/dtXVRnr0w4cP884771BQUNCj+kX0SuqSkhLuvfdeNE1D13Uuv/xy7rjjDmpra/nZz37GkSNH6N+/P7///e9JSel4d6po8Omnn/Lss8/y1FNPxUzdysrK+MlPfgIY40gFBQXcfvvtMVM/gO3bt/PLX/4Sv99Pbm4ujz32GIFAIGbq53a7ufjii3n33XdJTDRSe8fKz+/JJ5/kzTffxGKxMGrUKB555BFcLldM1A1g8eLF1NXVYbFYuO+++5g8eXKPfnYRHSCEEEKET0R3MQkhhAgfCRBCCCE6JAFCCCFEhyRACCGE6JAECCGEEB2K6GyuQpzIwoUL8fl8+P1+SktLyc/PB2D06NE89thjYS5d1xQXF1NWVhZTK5VF7JBpriLqHTx4kAULFvDpp5+GuyjtqKqKxdL5+7AVK1bw8ccf87vf/a7X7y3EqZLfLhGTVq5cyT/+8Q80TSMpKYmHHnqIwYMHs2LFCtatW4fT6WTnzp3079+f//iP/+Dxxx+nrKyM8ePH8/jjj6MoCnfffTcOh4MDBw5QXl7Oueeey69+9SusViuNjY08+uij7Nq1C6/Xy/nnn88999yDyWRi0aJFTJo0ia+++or4+HiefPLJ4CJBr9fL+PHjeeihh2hoaOBPf/oTLpeLefPmce6557JkyRIWL17MRx99BMD+/fuDx/v372fRokVcc801bN68mauuuop58+bxxBNP8Pnnn+Pz+Rg1ahQPPvggDocjzD8BERN0IaJcWVmZPmnSpODx5s2b9VtvvVX3er26ruv6+vXr9SVLlui6ruuvvPKKPmnSJL28vFzXdV2/6aab9Pnz5+uNjY26z+fTZ82apW/evFnXdV3/xS9+oc+bN093uVy6z+fTr7/+ev3vf/+7ruu6fs899+hr1qzRdV3XNU3Tf/rTn+orV67UdV3Xr732Wv3HP/6xrqpq8PG6urrg13fddZf+yiuvBMvzs5/9LFj20tJS/fzzz+/wuLS0VB8+fLi+bt264ONPPvmk/tRTTwWPH3vsMf33v//9qf2HCtFCWhAi5mzYsIFt27axcOFCAHRdx+VyBR+fMGFCMJHg6NGj8Xg8JCQkADBixAgOHDjAueeeC8CsWbOIj48HjBz677//PosWLeK9996juLiYp59+GjByhQ0aNCj4PebMmRPMoBkIBFi2bBkffvghgUCAurq6Hu9UFh8fz8yZM9vU1e12U1hYCBjZV8eMGdOjewtxPAkQIubous73v/997rjjjg4ft9vtwa9NJlO7Y1VVO72voiiA8aL/1FNPMWDAgA6vbQ0qAKtWraKoqIi///3vOJ1O/vjHP3LkyJEOn2c2mwkEAsFjr9fb6X1by/TrX/+ac845p8P7CXEqZJqriDmtWSsrKioAI1ng1q1be3Svt956C7fbjd/vZ82aNcGWxbRp01i2bBmapgFG5uGysrIO79HY2EhqaipOp5P6+vrgu30Ap9NJY2Nj8DgzMxOPxxO819q1a09a12effTYYSJqamtizZ0+P6irE8SRAiJhz3nnncccdd3Drrbcyd+5c5syZw/vvv9+je02YMIHbb7+dgoICcnNzg1uM/upXvyIQCDBv3jzmzJnDLbfcQlVVVYf3uPLKK6mrq6OgoIC77rqrzbv9Cy64gMbGRubOncujjz6KzWbj3nvv5YYbbuC6667DarWesHy33XYbw4YN4+qrr2bOnDksWbKEffv29aiuQhxPprkK0Ym7776bCRMmsGjRonAXRYiwkBaEEEKIDkkLQgghRIekBSGEEKJDEiCEEEJ0SAKEEEKIDkmAEEII0SEJEEIIITr0/wPFoYrgLw4DRwAAAABJRU5ErkJggg==\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
}