"
+ ]
+ },
+ "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": [
+ {
+ "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:
Thu, 04 Mar 2021
Deviance:
3.0144
\n",
+ "
\n",
+ "
\n",
+ "
Time:
09:34:11
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: Thu, 04 Mar 2021 Deviance: 3.0144\n",
+ "Time: 09:34:11 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:
Thu, 04 Mar 2021
Deviance:
18.086
\n",
+ "
\n",
+ "
\n",
+ "
Time:
09:34:11
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: Thu, 04 Mar 2021 Deviance: 18.086\n",
+ "Time: 09:34:11 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": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEKCAYAAADpfBXhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xl4VOXd//H3dyb7QmLYISA7yA5hEXEBrYK2KiriinVBpHWp7SNVn199tE+16oNt1VZxQ3GpgisupYJa44JbQBBkX8UEkJ0kkD33748ZMGAgQzLJLPm8rivXzDlzn3O+dwY+c3LmnPuYcw4REYkunlAXICIiwadwFxGJQgp3EZEopHAXEYlCCncRkSikcBcRiUI1hruZPW1mW83s28O8bmb2sJmtMbPFZjYw+GWKiMjRCGTPfTow+givnwl09f9MBKbWvSwREamLGsPdOfcxsPMITc4FnnM+XwDpZtY6WAWKiMjRiwnCOtoC31eZzvXP23xoQzObiG/vnsTExKx27drVaoOVlZV4PNHxdYH6Ep6ipS/R0g9QX/ZbtWrVdudc85raBSPcrZp51Y5p4Jx7AngCYNCgQW7+/Pm12mB2djYjRoyo1bLhRn0JT9HSl2jpB6gv+5nZd4G0C8bHYC5QdRc8E9gUhPWKiEgtBSPc3wKu8J81czywxzn3k0MyIiLScGo8LGNmLwEjgGZmlgvcCcQCOOceA2YDZwFrgH3AVfVVrIiIBKbGcHfOXVLD6w64PmgViUhEKCsrIzc3l+Li4gbZXlpaGsuXL2+QbdW3QPqSkJBAZmYmsbGxtdpGML5QFZFGKDc3l9TUVDp06IBZdedVBFdBQQGpqan1vp2GUFNfnHPs2LGD3NxcOnbsWKttRMd5RSLS4IqLi2natGmDBHtjY2Y0bdq0Tn8VKdxFpNYU7PWnrr9bhbuISBTSMXcRiVher5c+ffocmJ41axYdOnQIXUFhROEuIhErMTGRRYsWHfb18vJyYmIaZ8zpsIyIRJXp06dz4YUXcvbZZ3PGGWcAMGXKFAYPHkzfvn258847D7S955576N69Oz/72c+45JJLeOCBBwAYMWIE+4dH2b59+4G/BioqKpg8efKBdT3++OPAj8MJjB07lh49enDZZZfhO0sccnJyOOGEE+jXrx9DhgyhoKCAUaNGHfShNHz4cBYvXhzU30Pj/EgTkaD649tLWbYpP6jr7NmmCXee3euIbYqKiujfvz8AHTt25I033gDg888/Z/HixWRkZDB37lxWr17NV199hXOOc845h48//pjk5GRmzJjBwoULKS8vZ+DAgWRlZR1xe9OmTSMtLY2cnBxKSkoYPnz4gQ+QhQsXsnTpUtq0acPw4cOZN28eQ4YM4aKLLmLmzJkMHjyY/Px8EhMTueKKK5g+fToPPvggq1atoqSkhL59+wbht/YjhbuIRKzDHZY5/fTTycjIAGDu3LnMnTuXAQMGAFBYWMjq1aspKCjgvPPOIykpCYBzzjmnxu3NnTuXxYsX8+qrrwKwZ88eVq9eTVxcHEOGDCEzMxOA/v37s2HDBtLS0mjdujWDBw8GoEmTJgCcd955DB8+nClTpvD0009z5ZVX1u0XUQ2Fu4jUWU172A0tOTn5wHPnHLfffjvXXXfdQW0efPDBw55uGBMTQ2VlJcBB55o75/j73//OqFGjDmqfnZ1NfHz8gWmv10t5eTnOuWq3kZSUxOmnn86bb77Jyy+/TG1HyD0SHXMXkag2atQonn76aQoLCwHIy8tj69atnHzyybzxxhsUFRVRUFDA22+/fWCZDh06sGDBAoADe+n71zV16lTKysoAWLVqFXv37j3stnv06MGmTZvIyckBfFemlpeXAzBhwgRuuukmBg8efOCvjGDSnruIRLUzzjiD5cuXM2zYMABSUlJ44YUXGDhwIBdddBH9+/fn2GOP5aSTTjqwzC233MK4ceN4/vnnOfXUUw/MnzBhAhs2bGDgwIE452jevDmzZs067Lbj4uKYOXMmN954I0VFRSQmJvL+++8DkJWVRZMmTbjqqnoaa9E5F5KfrKwsV1sffvhhrZcNN+pLeIqWvtRnP5YtW1Zv665Ofn5+va7/zjvvdFOmTKnXbeyXn5/v8vLyXNeuXV1FRcVh21X3OwbmuwAyVodlREQa2IsvvsjQoUO555576u3WgTosIyIC3HXXXQ22rUsvvfQnX/AGm/bcRaTWnKv2dskSBHX93SrcRaRWEhIS2LFjhwK+Hjj/eO4JCQm1XocOy4hIrWRmZpKbm8u2bdsaZHvFxcV1CrtwEkhf9t+JqbYU7iJSK7GxsbW+S1BtZGdnH7jKNNI1RF90WEZEJAop3EVEopDCXUQkCincRUSikMJdRCQKKdxFRKKQwl1EJAop3EVEopDCXUQkCincRUSiUMSF+77Sct7bUEZ5RWWoSxERCVsRF+7vLN7MP1eUMu7xz/lux+HvXSgi0phFXLiPG9SOSX3jWbO1kDMf+oSZORs15KiIyCEiLtwBjm8Tw7s3n0z/dunc+toSbnhxIXuKykJdlohI2IjIcAdok57IC9cM5dbRPZizdAtnPfQJX2/cFeqyRETCQsSGO4DHY/xqRGde/dUJeDww7rHPefLjdTpMIyKNXkDhbmajzWylma0xs9uqeT3NzN42s2/MbKmZXRX8Ug+vf7t03rnxJE47rgX3zF7OxOcX6DCNiDRqNYa7mXmBR4AzgZ7AJWbW85Bm1wPLnHP9gBHAX8wsLsi1HlFaYiyPXZ7F//yiJx+u2Mq5//iUFVvyG7IEEZGwEcie+xBgjXNunXOuFJgBnHtIGwekmpkBKcBOoDyolQbAzLj6xI7MmHg8+0orGPPIPN76ZlNDlyEiEnJW0/FpMxsLjHbOTfBPjweGOuduqNImFXgL6AGkAhc55/5VzbomAhMBWrZsmTVjxoxaFV1YWEhKSsoR2+wuqeTRRSWs2lXJWR1jGdstFo9ZrbZXnwLpS6RQX8JPtPQD1Jf9Ro4cucA5N6jGhs65I/4AFwJPVZkeD/z9kDZjgb8BBnQB1gNNjrTerKwsV1sffvhhQO1Kyirc/3tjsTv21nfcFdO+dHuKSmu9zfoSaF8igfoSfqKlH86pL/sB810Nue2cC+iwTC7Qrsp0JnDosY6rgNf9217jD/ceAay7XsXFeLh7TB/uPb8P89Zs5/xHP9NVrSLSKAQS7jlAVzPr6P+S9GJ8h2Cq2gicBmBmLYHuwLpgFloXlwxpz/PXDGV7YQnnPjKPL9btCHVJIiL1qsZwd86VAzcAc4DlwMvOuaVmNsnMJvmb/Qk4wcyWAB8AtzrnttdX0bUxrHNT3rx+OE2T4xg/7UveWJgb6pJEROpNTCCNnHOzgdmHzHusyvNNwBnBLS34jm2azOu/Gs6kFxbw25nfsHFHETed1gULwy9aRUTqIqKvUK2NtKRYnr16COcPbMvf3l/Fba8t0fDBIhJ1AtpzjzZxMR7+cmE/MtMTefg/a9hWWMI/Lh1AUlyj/HWISBRqdHvu+5kZvzujO/ec15vslVu59Mkv2bW3NNRliYgERaMN9/0uG3osUy/PYtnmfC58/HM27S4KdUkiInXW6MMdYFSvVjx71RC27Clm7NTPWLetMNQliYjUicLdb1jnpsyYeDzF5ZWMe/xzlm/WoGMiErkU7lX0bpvGy9cNI8bj4aLHP2ehbv4hIhFK4X6ILi1SeGXSMNKT4hg/7StyNuwMdUkiIkdN4V6NdhlJvHzdMFo0ieeKaV/x2ZqwuthWRKRGCvfDaJWWwMyJw2ifkcRV03P4eNW2UJckIhIwhfsRNE+N56WJx9OxWTITnpuvgBeRiKFwr0FGchwvXns8nZunMOG5+XykgBeRCKBwD0BGchwvThhK5+YpTHxuPvN0DF5EwpzCPUDHJMfxzwlD6dA0mWuezdGY8CIS1hTuRyEjOY5/XjuUzGOSuHp6Dgu+02mSIhKeFO5HqVlKPC9eO5SWTRK48ukcvs3bE+qSRER+QuFeCy1SE/jnhKE0SYxl/LQvWbmlINQliYgcROFeS23SE3nx2qHExXi4fNqXuvG2iIQVhXsdHNs0mReuGUp5RSWXPfUlW/YUh7okERFA4V5nXVum8uzVQ9i9r4zLp+mGHyISHhTuQdA3M50nrxjExp37uHJ6DntLykNdkog0cgr3IBnWuSn/uGQAS3J3M+mFBZSW66bbIhI6CvcgOqNXK+47vy+frN7Of73yDZWVLtQliUgjFRPqAqLNuMHt2LG3lPvfXUHzlHju+MVxmFmoyxKRRkbhXg8mndKJrQXFPD1vPS2bxHPdKZ1DXZKINDIK93pgZtzx855sKyjh3n+voEWTeM4bkBnqskSkEVG41xOPx/jLuH7sKCzl968upkVqAsO7NAt1WSLSSOgL1XoUH+PlsfFZdGqWwqTnF7B8c36oSxKRRkLhXs/SEmN55qrBJMfHcNUzOWzeUxTqkkSkEVC4N4A26Yk8c9VgCkvKueqZHAqKy0JdkohEOYV7AzmudRMevWwgq7cWcv2LCymr0EVOIlJ/FO4N6ORuzfnzeb35eNU2/ufNpTini5xEpH7obJkGdtHg9ny3Yx+PZq+lY7MkuoW6IBGJStpzD4FbzujOz/u05t5/r2D+Fg0yJiLBF1C4m9loM1tpZmvM7LbDtBlhZovMbKmZfRTcMqPL/nPg+7dL54nFJSzO3R3qkkQkytQY7mbmBR4BzgR6ApeYWc9D2qQDjwLnOOd6ARfWQ61RJSHWyxPjB5EaZ0x4dr5OkRSRoApkz30IsMY5t845VwrMAM49pM2lwOvOuY0AzrmtwS0zOjVPjee3WQnsK63gmunzNQ68iASN1XTGhpmNBUY75yb4p8cDQ51zN1Rp8yAQC/QCUoGHnHPPVbOuicBEgJYtW2bNmDGjVkUXFhaSkpJSq2XDTWFhIeuKEvjbghL6t/By44B4PBE6imS0vS/R0Jdo6QeoL/uNHDlygXNuUE3tAjlbprqkOfQTIQbIAk4DEoHPzewL59yqgxZy7gngCYBBgwa5ESNGBLD5n8rOzqa2y4ab7OxsbvrFCJq0Wc9dby8jp6Q1t47uEeqyaiXa3pdo6Eu09APUl6MVSLjnAu2qTGcCm6pps905txfYa2YfA/2AVUhAfnlCB1ZvLWRq9lq6NE/hgiyNIikitRfIMfccoKuZdTSzOOBi4K1D2rwJnGRmMWaWBAwFlge31OhmZtx1Ti9O6NyU219fwoLvdoa6JBGJYDWGu3OuHLgBmIMvsF92zi01s0lmNsnfZjnwLrAY+Ap4yjn3bf2VHZ1ivR4evWwgrdMTuO75BeTt1hk0IlI7AZ3n7pyb7Zzr5pzr7Jy7xz/vMefcY1XaTHHO9XTO9XbOPVhfBUe79KQ4pv1yECVllUx4VmfQiEjt6ArVMNSlRSoPXzqAlVvy+a+XdaNtETl6CvcwNbJ7C/77rON4d+kWHv7P6lCXIyIRRgOHhbFrTuzIii0FPPj+arq3TOXMPq1DXZKIRAjtuYcxM+Oe83ozsH06v3v5G5Zt0m36RCQwCvcwt/8+rGmJsVz73Hx2FJaEuiQRiQAK9wjQIjWBJ67IYnthCb/+59e6i5OI1EjhHiH6ZqZz/wV9+XL9Tv749tJQlyMiYU5fqEaQMQPasnxzPo9/vI6erdO4dGj7UJckImFKe+4R5veje3BKt+bc+da3zN+gIQpEpHoK9wjj9RgPXzyAzGOSmPTCAjZpiAIRqYbCPQKlJcXy5BVZFJdVct3zCyguqwh1SSISZhTuEapLi1T+dlF/luTt4fbXl1DTTVdEpHFRuEew03u25Hend+ONhXlM+3R9qMsRkTCicI9wN4zswuherfjz7OV8snpbqMsRkTChcI9wHo/xwLh+dGmRwg0vLmTjjn2hLklEwoDCPQqkxMfw5BW+++Ve+5zGgBcRhXvUOLZpMv+4dACrtxZwyyvf6AtWkUZO4R5FTuranNvO7MG/v93CIx+uCXU5IhJCCvcoc+1JnRjTvw1/eW8V7y/7IdTliEiIKNyjjJlx3wV96dWmCTfPXMSarYWhLklEQkDhHoUSYr08Pn4Q8TEeJj43nz1FZaEuSUQamMI9SrVNT2Tq5Vls3LmP38xYSIVusi3SqCjco9iQjhnceU4vsldu44G5K0Ndjog0II3nHuUuH9qeZZvymZq9lp6tm3B2vzahLklEGoD23KOcmfHHc3ox6NhjmPzqN3ybtyfUJYlIA1C4NwJxMR6mXp7FMUlxTHxuPtt1k22RqKdwbySap8bz5BWD2LG3lF+9sIDSct1kWySaKdwbkd5t0/i/sX3J2bCLO99aqiEKRKKYvlBtZM7t35blmwt47KO19GydyvhhHUJdkojUA+25N0KTR3Xn1B4t+OPby/hs7fZQlyMi9UDh3gh5PcZDF/enQ7Nkrv/n1xoDXiQKKdwbqdSEWJ66YhCVDiY8l0NBsYYoEIkmCvdGrEOzZB69bCBrt+3l5hmLNESBSBRRuDdyw7s0486ze/LBiq1MmaMhCkSihc6WEcYffywrt/jOoOnWMoXzB2aGuiQRqaOA9tzNbLSZrTSzNWZ22xHaDTazCjMbG7wSpb6ZGXed04thnZpy22tLWPDdzlCXJCJ1VGO4m5kXeAQ4E+gJXGJmPQ/T7n5gTrCLlPoX6/Uw9fKBtElPYOJzC8jdpTNoRCJZIHvuQ4A1zrl1zrlSYAZwbjXtbgReA7YGsT5pQOlJcUy7cjClFZVMeHa+zqARiWBW0yXo/kMso51zE/zT44GhzrkbqrRpC7wInApMA95xzr1azbomAhMBWrZsmTVjxoxaFV1YWEhKSkqtlg034diXpdsr+MuCYno383LzwHg8ZgEtF459qa1o6Uu09APUl/1Gjhy5wDk3qKZ2gXyhWt3/7EM/ER4EbnXOVdgRgsA59wTwBMCgQYPciBEjAtj8T2VnZ1PbZcNNOPZlBJCW+R1/mPUtnxS24M6zewW0XDj2pbaipS/R0g9QX45WIOGeC7SrMp0JbDqkzSBghj/YmwFnmVm5c25WUKqUBnf58ceybttenp63nk7NkjUGjUiECSTcc4CuZtYRyAMuBi6t2sA513H/czObju+wjII9wv2/nx/Hdzv2cudbS8nMSGJk9xahLklEAlTjF6rOuXLgBnxnwSwHXnbOLTWzSWY2qb4LlNDxeoyHLxnAca2bcMM/v2bZpvxQlyQiAQroPHfn3GznXDfnXGfn3D3+eY855x6rpu2V1X2ZKpEpOT6Gab8cTGpCLNc8m8OWPcWhLklEAqDhB6RGrdISmHblIPKLyrh6eg6FJeWhLklEaqBwl4D0apPGI5cNZOUPBdzw4teUV+g2fSLhTOEuARvRvQV/Orc32Su3cceb3+o2fSJhTAOHyVG5dGh7cnft49HstbRNT+SGU7uGuiQRqYbCXY7a5FHd2bKnmAfmrqJVWiJjszSKpEi4UbjLUTMz7rugL1sLSrjttcU0T43nlG7Na7WuWQvzmDJnJZt2F9EmPZHJo7ozZkDbIFcs9UXvX/jSMXeplbgY3yiS3Vqm8qsXFvDN97uPeh2zFuZx++tLyNtdhAPydhdx++tLmLUwL/gFS9Dp/QtvCneptdSEWKZfPZimKXFcPT2HLXuP7gyaKXNWUlRWcdC8orIK3REqQuj9C28Kd6mTFqkJPHvVEBzwwPxifsgP/CKnTbuLjmq+hBe9f+FN4S511ql5CtOvGkxhqeOKaV+xZ19g48C3SU88qvkSXvT+hTeFuwRF38x0bhqYwPrte7n62Rz2ldZ8FevkUd1JjPUeNC8x1svkUd3rq0wJIr1/4U3hLkHTs6mXBy/uz8KNu5j0wteUlh/5GPyYAW259/w+tE1PxIC26Ynce34fnW0RIfT+hTedCilBdVaf1tx3fl9+/9pifjtzEQ9fMgCv5/A3cBkzoK3CIILp/QtfCncJunGD25FfXMbd/1pOcryX+87vi+cIAS8iwadwl3ox4aROFBSX89AHq0mM9XLXOb040i0YRSS4FO5Sb27+WVf2lZbz5CfrSYjzctvoHgp4kQaicJd6Y2b891nHsa+0gsc/Wkd8jJffnd4t1GWJNAoKd6lXZsafzu1NaXklD3+wmliPceNpGklSpL4p3KXeeTy+gcYqKh1/eW8VMV4PvxrROdRliUQ1hbs0CK/HmHJhP8orHfe/uwKH49cjuoS6LJGopXCXBuP1GH8d1w8z+L93V+IcXD9SAS9SHxTu0qBivB7+Oq4/hm9UwfIKx02nddFZNCJBpnCXBuf1GH8Z1x+vx8Pf3l9FSXkFk0d1V8CLBJHCXULC6zGmjO1LXIyHR7PXUlxWyR2/OE4BLxIkCncJGY/H+PN5vYmP8fD0vPXsKy3nnvP6HHEsGhEJjMJdQsrMuPPsnqQmxPD3/6yhsKScv47rT1yMBiwVqQuFu4ScmfFfZ3QnJT6Ge/+9goLicqZePpCkOP3zFKkt7R5J2LjulM7cd34fPlm9jUuf/JJde0tDXZJIxFK4S1i5eEh7Hr0si2Wb87nw8c/J0/04RWpF4S5hZ3TvVjx71RB+yC/mvEfmsWxTfqhLEok4CncJS8M6N+WVScPwmDHu8c/5ZPW2UJckElEU7hK2erRqwhvXn0DmMYlc9UwOM3M2hrokkYihcJew1jotkVcmDWNY56bc+toS7n93BZWVLtRliYQ9hbuEvdSEWJ6+cjCXDGnP1Oy1/OqfC9hXWh7qskTCWkDhbmajzWylma0xs9uqef0yM1vs//nMzPoFv1RpzGK9Hv58Xm/u+EVP3lv2A2Onfs4mnUkjclg1hruZeYFHgDOBnsAlZtbzkGbrgVOcc32BPwFPBLtQETPjmhM7Mu3KwXy/cx9n//1Tvlq/M9RliYSlQPbchwBrnHPrnHOlwAzg3KoNnHOfOed2+Se/ADKDW6bIj0Z2b8Eb1w8nLTGWS5/8guc/34BzOg4vUpXV9J/CzMYCo51zE/zT44GhzrkbDtP+FqDH/vaHvDYRmAjQsmXLrBkzZtSq6MLCQlJSUmq1bLhRX2pvX5nj8cUlfLOtguFtYriiVxzx3uAMOhYt70u09APUl/1Gjhy5wDk3qMaGzrkj/gAXAk9VmR4P/P0wbUcCy4GmNa03KyvL1daHH35Y62XDjfpSNxUVle5v7610HW57x43620du/bbCoKw3Wt6XaOmHc+rLfsB8V0O+OucCOiyTC7SrMp0JbDq0kZn1BZ4CznXO7QhgvSJ15vEYN/+sG89cOZjNe4o5+++f8q/Fm0NdlkjIBRLuOUBXM+toZnHAxcBbVRuYWXvgdWC8c25V8MsUObIR3Vvwr5tOpHOLFK5/8WvumPUtxWUVoS5LJGRqDHfnXDlwAzAH3yGXl51zS81skplN8jf7H6Ap8KiZLTKz+fVWschhZB6TxMvXDePakzry/BffMeaReaz+oSDUZYmEREADZjvnZgOzD5n3WJXnE4CffIEq0tBmL9nM7CVbAFj1QwFnPfwJY/q3Zd6a7WzeU0yb9EQmj+rOmAFtg77tWQvzmDJnJZt2F9XrdgLxh1lLeOnL77m5dxnX3D6bS4a24+4xfUJSi4SG7oYgUWPWwjxuf30JRf7DMZUOXIXjlQW5B9rk7S7i9teXAAQ1eA/ddn1tJxB/mLWEF774cRyeCucOTCvgGw8NPyBRY8qclQfCdb/qTvQtKqtgypyV9b7t+thOIF768vujmi/RSeEuUeNohiMI9k1ADrftUAyRUHGYa1cON1+ik8Jdokab9MSA23oM3lyUF7QrWw+37aOpKVi8Vv2FXIebL9FJ4S5RY/Ko7iTGeg+aF+sxYg+5ajU+xkPmMUn8ZsYiJjw7n9xd++pl24mxXiaP6l7ndR+tS4a2O6r5Ep0U7hI1xgxoy73n96FteiIGtE1PZMqF/Zgytt9B8+6/oC8f3jKCP/z8OD5bu4PT//oxT3y8lrKKyqBu+97z+4TkbJm7x/Th8uPbH9hT95px+fHt9WVqI6OzZSSqjBnQttpArW7ehJM6Mbp3K+56ayl/nr2C1xbk8cdze3F8p6ZB3XYo3D2mD3eP6UN2djZrLxsR6nIkBLTnLo1a5jFJPPXLwTwxPovCknIufuILbnppITuLa78XLxIOtOcuApzRqxUndW3O1I/W8thHa3m3spLvvKu47pROJMXpv4lEHu25i/glxnn53end+OB3p9C/hZeHPljNyAeymZmzkQrdt1UijMJd5BDtMpL4df8EXpk0jNZpidz62hLOfOhj3lv2g24KIhFD4S5yGIM7ZPDGr0/g0csGUlbhuPa5+Yx59DM+Xb1dIS9hT+EucgRmxll9WvPeb0/m/gv6sC2/mMunfcm4xz9n3hqFvIQvhbtIAGK8Hi4a3J7/3DKC/z23F9/vLOKyp77kgqmf8Z8VOlwj4UfhLnIUEmK9XDGsA9mTR/Cnc3vxQ34JV0+fz1kPf8obC3PrdCGUSDAp3EVqISHWy3h/yD9wYT/KKir57cxvOPn/PuTxj9ayZ19ZqEuURk4n8IrUQazXw9isTM4f0JbsVVt54uN13PvvFTz4/mouyGrLFcM60K1laqjLlEZI4S4SBB6PcWqPlpzaoyVLN+1h+rwNvDw/lxe+2MjQjhlcfvyxnNGrJfEx3ppXJhIECneRIOvVJo0pF/bj9rOO4+X53/PCF99x40sLyUiO44KBbRk3qB1dtTcv9UzhLlJPMpLjmHRKZyae1IlP12znpa828sy8DTz5yXr6ZaYxNiuTn/dtQ0ZyXKhLlSikcBepZx6PcXK35pzcrTnbC0uYtTCPVxfkcsebS/nj28sY0b05Z/drw8+Oa0lyvP5LSnDoX5JIA2qWEs+Ekzox4aROLN+cz6yFeby5aBPvL99KQqyHU3u04MzerRnZowUpCnqpA/3rEQmR41o34bjWTbh1dA/mf7eLt7/ZxL+/3cLsJVuIi/FwUpdmnN6zJacd15LmqfGhLlcijMJdJMQ8HmNIxwyGdMzgrnN6seC7Xcxespn3lv3AByu2YraEvpnpnNajBSO6N6d3mzQ8Ht0PVY5M4S4SRrxVgv7Os3uyfHMBHyz3hfzf3l/FX99bRUZyHCd2acaJXZtxYpc9/m12AAANA0lEQVRmIbkJt4Q/hbtImDIzerZpQs82TbjxtK5sLyzh09XbyV65lU/XbOetbzYB0LFZMsd3yuD4Tk0Z0jGD1mkKe1G4i0SMZinxB+7T6pxj5Q8FfLp6O5+v3cE732zmpa++B6BdRiKDj81g4LHH4Aoqqah0eHUYp9FRuItEIDOjR6sm9GjVhAkndaK8opLlmwv4asNOvlq/g49Xb+P1hXkA3Jczh76Z6fRrl06/zDT6tkunTVoCZgr8aKZwF4kCMV4PfTLT6JOZxjUndsQ5x8ad+3jh3c8oSWnNwo27mfbpOsoqfEMTH5MUS++2afRs7Tvsc1zrJnRslkysV2MJRguFu0gUMjOObZrM8LaxjBjRG4CS8gpWbC5gce5ulm7K59tNe3hm3gZK/cMUx3k9dGqeTPdWqXRtkULXlql0aZFC+4wkhX4EUriLNBLxMV7foZl26QfmlVVUsm7bXpZvzmfFlgJWbMln/oZdvLlo04E2sV6jfUYSHZul0Kl5Msc2TaJj02TaN02idVqijueHKYW7SCMW6/XQvVUq3VsdPJBZYUk5a7YWsnZrIWu2FbJ+217Wb9/Lx6u3UVpeWWV5o216Iu0yksg8JonMYxJpm55I22MSaZOeSMvUeGK01x8SCncR+YmU+Bj6t0unf5W9fIDKSseW/GI2bN/Lhh37+H7XPjbu2Efurn3M3bSFHXtLD2rvMWiRmkCrtARaNfE9tmgST4vUBFqkxtOiSTzNUuLJSIrThVlBpnAXkYB5PEabdN9e+Qldfvr6vtJyNu0uIndXEZv3FLN5dxGb9hTzQ34xa7YVMm/tdgqKy3+ynNdjZCTH0TQ5jmYp8TRNiSMjOY6MpDgyUuI4JimO73ZU0HJzPsckxZGWGEtCrEdn/ByBwl1EgiYpLoYuLVLp0uLw49XvKy1na34JWwtK2FpQzPaCErYXlrKtoIQde0vZXljCxp372LW3lIKSgz8I7s/55MDzOK+HtKRYmiTEkJYYS5PEWJokxJKaEEPqgccYUuJ//En2//iee0mKi4na7wwCCnczGw08BHiBp5xz9x3yuvlfPwvYB1zpnPs6yLWKRK1ZC/OYMmclm3YX0SY9kcmjuvPK/I3MW7vzQJvhnTO4cFD7n7QDfjJv/nc7eenL77m5dxnX3D6bS4a24+4xfQLa7pgBbQ87P5Dl92+7wjm8Zj/ZdlJcDB2axbDo+9019uXOs3tycrfm7NxXyofzcujQrSe79pXx2drtZK/cxraCEgqKy/B6jLIKx4bte8kvLqeguOzAaZ81iY/xkBTnC/qkOC+JcV4SY70kxXlJiPU9T4jzkhDjJSHWQ0Lsj4/xMR7iY/yPsT8+j9v/4/3xebzXS2yMEev14FxgtdVFjeFuZl7gEeB0IBfIMbO3nHPLqjQ7E+jq/xkKTPU/ikgNZi3M4/bXl1BUVgFA3u4ibp656Cft5q3deVDY5+0uYvKr34CDskp3YN7vZi6isspyFc7xwhcbAQ4K2eq2e/vrS5j/3U5eW5D3k/nAQQFf3fJ12fbkV74B40Ao5+0u4o43l3Lv+X0YM6AtW5p6GdGnNbMW5vHB8q0Hli0uq+T7nUUH2u1XXFZBYUk5hcXlFBSXU1hSzt6ScvaWlrO3pIK9JeXsK61gb2k5+0p9z4tKKw487thbemC6pLyC4rJKisoqqKisezCf2TGWkSPrvJojCmTPfQiwxjm3DsDMZgDnAlXD/VzgOef7OPrCzNLNrLVzbnPQKxaJMlPmrDwQVEerur3TymraAbz05fcHBWx12y0qqziw133o/ClzVh4UntUtX5dtl1UTmoFut7p2vj1sL81SgjtccllFJcVlFZSUV1JS7nte6n/ue6ygpKyS0grf9IHH8krKKnw/nl0bg1pTdaymPw/MbCww2jk3wT89HhjqnLuhSpt3gPucc5/6pz8AbnXOzT9kXROBif7J7sDKWtbdDNhey2XDjfoSnhqsL3GtumTV17or9u3Bm5R2YLp0y5oFddluXZYPwrLNgO1HWrbqNsJcXf59Heuca15To0D23Kv7tuHQT4RA2uCcewJ4IoBtHrkgs/nOuUF1XU84UF/CU7T0xczml+/ZGvH9gOh5T6Bh+hLI1QW5QLsq05nAplq0ERGRBhJIuOcAXc2so5nFARcDbx3S5i3gCvM5Htij4+0iIqFT42EZ51y5md0AzMF3KuTTzrmlZjbJ//pjwGx8p0GuwXcq5FX1VzIQhEM7YUR9CU/R0pdo6QeoL0elxi9URUQk8mhEHxGRKKRwFxGJQmEf7maWYGZfmdk3ZrbUzP7on59hZu+Z2Wr/4zGhrjUQZuY1s4X+awMiuR8bzGyJmS0ys/n+eZHal3Qze9XMVpjZcjMbFol9MbPu/vdj/0++md0coX35rf//+7dm9pI/ByKuHwBm9ht/P5aa2c3+efXel7APd6AEONU51w/oD4z2n5FzG/CBc64r8IF/OhL8BlheZTpS+wEw0jnXv8r5upHal4eAd51zPYB++N6fiOuLc26l//3oD2ThO7nhDSKsL2bWFrgJGOSc643vRI6LibB+AJhZb+BafFf69wN+YWZdaYi+OOci5gdIAr7GN27NSqC1f35rYGWo6wug/kz/G3kq8I5/XsT1w1/rBqDZIfMiri9AE2A9/pMLIrkvh9R/BjAvEvsCtAW+BzLwndH3jr8/EdUPf50X4htscf/0HcDvG6IvkbDnvv9QxiJgK/Cec+5LoKXzn0vvf2wRyhoD9CC+N7bqEByR2A/wXYE818wW+IeVgMjsSydgG/CM/3DZU2aWTGT2paqLgZf8zyOqL865POABYCOwGd91M3OJsH74fQucbGZNzSwJ3ynj7WiAvkREuDvnKpzvT81MYIj/T52IYma/ALY65yJl7IuaDHfODcQ3Iuj1ZnZyqAuqpRhgIDDVOTcA2EsE/Ll/JP6LDc8BXgl1LbXhP/58LtARaAMkm9nloa2qdpxzy4H7gfeAd4FvgJ/eraQeRES47+ec2w1kA6OBH8ysNYD/cWsISwvEcOAcM9sAzABONbMXiLx+AOCc2+R/3IrvuO4QIrMvuUCu/69BgFfxhX0k9mW/M4GvnXM/+KcjrS8/A9Y757Y558qA14ETiLx+AOCcm+acG+icOxnYCaymAfoS9uFuZs3NLN3/PBHfG78C35AHv/Q3+yXwZmgqDIxz7nbnXKZzrgO+P5n/45y7nAjrB4CZJZtZ6v7n+I6HfksE9sU5twX43sy6+2edhm8464jrSxWX8OMhGYi8vmwEjjezJDMzfO/JciKvHwCYWQv/Y3vgfHzvTb33JeyvUDWzvsCz+L4x9wAvO+f+18yaAi8D7fH9Y7jQObfz8GsKH2Y2ArjFOfeLSOyHmXXCt7cOvsMaLzrn7onEvgCYWX/gKSAOWIdv+AwPkdmXJHxfRnZyzu3xz4u498V/yvNF+A5hLAQmAClEWD8AzOwToClQBvzOOfdBQ7wnYR/uIiJy9ML+sIyIiBw9hbuISBRSuIuIRCGFu4hIFFK4i4hEoUBukC3SoPyniX3gn2wFVOAbIgBgiHOuNCSFHYGZXQ3M9p83LxJyOhVSwpqZ3QUUOuceCINavM65isO89ilwg3Nu0VGsL8Y51yCXokvjo8MyElHM7JfmG99/kZk9amYeM4sxs91mNsXMvjazOWY21Mw+MrN1ZnaWf9kJZvaG//WVZvaHANd7t5l9hW9coz+aWY5/fO7HzOcifMNRz/QvH2dmuVWurD7ezN73P7/bzB43s/fwDVYWY2Z/9W97sZlNaPjfqkQjhbtEDP+AcecBJ/gHkovBN5QDQBow1z+YWSlwF77L1i8E/rfKaob4lxkIXGpm/QNY79fOuSHOuc+Bh5xzg4E+/tdGO+dmAouAi5xvPPWaDhsNAM52zo0HJuIbUG4IMBjfIGzta/P7EalKx9wlkvwMXwDO9w05QiK+S+0Bipxz7/mfL8E3TGy5mS0BOlRZxxzn3C4AM5sFnIjv/8Hh1lvKj0MtAJxmZpOBBKAZsAD491H2403nXLH/+RnAcWZW9cOkK75L0kVqTeEukcSAp51zdxw00ywGXwjvV4nvDl77n1f9d37ol0yuhvUWOf8XU/5xW/4BDHTO5ZnZ3fhCvjrl/PiX8aFt9h7Sp1875z5AJIh0WEYiyfvAODNrBr6zampxCOMM890zNQnfmOHzjmK9ifg+LLb7R8W8oMprBUBqlekN+G51xyHtDjUH+LX/g2T/fVATj7JPIj+hPXeJGM65Jf7RAt83Mw++UfYmAZuOYjWfAi8CnYHn95/dEsh6nXM7zOxZfMMbfwd8WeXlZ4CnzKwI33H9u4AnzWwL8NUR6nkc38iAi/yHhLbi+9ARqROdCimNhv9MlN7OuZtDXYtIfdNhGRGRKKQ9dxGRKKQ9dxGRKKRwFxGJQgp3EZEopHAXEYlCCncRkSj0/wHRUJwHFwSFegAAAABJRU5ErkJggg==\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": [
+ {
+ "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/XmS2ZTPaQBUgIi2FHtCCKiijKIrsiVaBqVazaar+t9V711nrVXrXeX6+9te1tRWtdSyu4sETRCgpuKK6RQNgDYcm+T2Y95/z+OMlASCALmcyS9/PxwMw5c+bk8zHJvOezvT+Krus6QgghxElMoS6AEEKI8CQBQgghRLskQAghhGiXBAghhBDtkgAhhBCiXRIghBBCtCtoAeL+++9n8uTJzJ07t93ndV3nv/7rv5g+fTrz5s2jsLAwWEURQgjRDUELEFdffTXPPvvsKZ/fsmULxcXFvPvuu/z617/moYceClZRhBBCdEPQAsR5551HUlLSKZ/fuHEjCxcuRFEUzjnnHOrr6ykvLw9WcYQQQnSRJVTfuKysjKysrMBxVlYWZWVlZGRknPZ1bo8PTQdFUVBaTjY/aDmnKMZJRaH5uPmxorR3SyGEEO0IWYBoL8NHZ97A650+yioauv19AwFEUTDROniYlJOPFUwmmr8qga/BlJ6eQMUZ1C/cSf0iVzTXDfpG/boqZAEiKyuL0tLSwHFpaWmHrYeeoAN683+0wJnOUwDFpGBuDhZm0/GvFrOC2WQKehARQojeELIAMW3aNF5++WXmzJnDt99+S0JCQq8EiDOlA7qmo6GD2v41JgUsZhNmswmLWcFiNmE1S+AQQkSWoAWIu+++m88//5yamhouueQS7rrrLvx+PwBLlixh6tSpbN68menTp2O323nssceCVZRep+ng9Wvg11qdN5sUrBYTNosJq8WM1SLLUIQQ4UuJtHTf5dVNZzQGEU5MCtisZmwWMzE2E2aTqU/0g0r9IlM01w36Rv26KmRdTMJoabi9Km6vCk1gMSvY7Da8PhWb1Rzq4gkh+jgJEGHEr+o0unxUN3gwKRBjNWOzmomxmTHJFF0hRC+TABGmNB1cXhWXV0VxQozNTKzNTIzVLOs5hBC9QgJEBNA53hVlUiDWZiEu1oLFLIPcQojgkQARYTQdmjx+mjx+bBYT9hgL9hj5MQohep68s0Qwr1/D6/fS6PLhiDUChXQ/CSF6ivRRRAFV06lv8lFR56bJ7Ws3jYkQQnSVBIgoojUHiso6Ny6PP9TFEUJEOAkQUUjVdOqcXqrr3fhVreMXCCFEOyRARDGvX6Oqzk2jS7qdhBBdJwEiyulAo8tHTYMHTZMgIYToPAkQfYTXr1FV78bnly4nIUTnSIDoQ1RNp7rejdsrA9hCiI5JgOhjdKCu0YvXd4rNLIQQopkEiD5IB2oaPdLdJIQ4LQkQfZSuG0FCpsEKIU5FAkQfpmk6tQ0eNJkCK4RohwSIPs6v6dQ1ekNdDCFEGJIAIfD4VJxuX6iLIYQIMxIgBACNTT6Z2SSEaEUChACMmU21Tq+sthZCBEiAEAFGNlgZjxBCGCRAiFbcXlVShQshAAkQoh0NTdLVJISQACHaoelIV5MQQgKEaJ90NQkhJECIU6pv8kq+JiH6MAkQ4pRa8jWpmgQJIfoiCRDitDRNN3ajk3xNQvQ5ERcgHn52K9/sqZQ9lnuRXzWS+sn/cyH6FkuoC9BVh8oaOFTWwNd7Klg4ZQgpCbGhLlKf4PVr1Df5SHLYQl0UIUQvibgWhMWsALDncB3/u6qAj787Jt0fvcTl8dPokqR+QvQVERcgHlo+mcFZCQD4/Br5nx7kmXU7qKxzhbhkfUOjyyfTX4XoIyIuQPTv52D5vNEsnDKEGKsZgIOlDfxh9XfSmugl9U6Z/ipEXxBxAQLApChMGpXJ/1t8NnnZSQD4VKM18Vz+TmobPSEuYXTTQbqahOgDghogtmzZwsyZM5k+fTorVqxo83xDQwO333478+fPZ86cObz22mtdun9yfAw/vHIkV18yNNCa2H+0nqdWF/DNXpnpFEwenyr7WQsR5YIWIFRV5ZFHHuHZZ58lPz+f9evXs3fv3lbXvPLKKwwbNoy1a9fy0ksv8cQTT+D1di0HkKIoTByZwU+vOZvB/Y2xCbdX5dVNe3n1/b24vdJfHixOt/y/FSKaBS1AFBQUkJubS05ODjabjTlz5rBx48ZW1yiKgtPpRNd1nE4nSUlJWCzdm3mbkhDD8jmjufL8QZhNxkynb/dW8cfXvqOkvPGM6yPacnv8kvVViCgWtHUQZWVlZGVlBY4zMzMpKChodc2yZcu44447mDJlCk6nk9/97neYTB3HrNRUxymfW3BZHhNGZ/Hs2u2UVjVR3eDh6bWFLJw6jCsmDcKkKN2vVC85Xf3CTazdSlJ8TJdek56eEKTShIdorl801w2iv35dFbQA0V7/v3LSm/NHH33EqFGjePHFFzl06BA33XQTEydOJD4+/rT3rq52nvb5OKuJ2+ePIf/Tg2wrKkfTdF5/fy879lVyzaVnERcbvusDU1MdHdYvnNQq4E62dzrwpqcnUFHREORShU401y+a6wZ9o35dFbQupqysLEpLSwPHZWVlZGRktLrm9ddfZ8aMGSiKQm5uLtnZ2ezfv79Hvr/NauaqS4ay5Iq8wAB20aFa/vh6ASXl0ftL0Ns0HVkXIUSUClqAGDduHMXFxZSUlOD1esnPz2fatGmtrunfvz+ffvopAJWVlRw4cIDs7OyeLcfQNO5cNI4BaXEA1DZ6WbF2B1sLS2WWUw9xuv3y/1KIKBS0vhaLxcKDDz7I8uXLUVWVRYsWkZeXx8qVKwFYsmQJP/7xj7n//vuZN28euq5zzz33kJqa2uNlSUuM5bYFY3lr60E+21GGqums/biYkvJGFk4ZitUSkctBwoam6bg8fuJiraEuihCiByl6hH30K69uouwM+gm/2VPJG1v242uewz8gLY5lM4aHTdK/SBuDaGEyKaQnxbYZZzpZX+jnjdb6RXPdoG/Ur6v63Efnc/L6cfvCMaQmGDNvjlY18afXt7P/aF2ISxbZNE2nScYihIgqfS5AAPRPc/CTq8cxPCcZgCaPn+fyi9i6o7SDV4rTcbp8kgtLiCjSJwMEgD3Gwg0zR3DJ+AEAaLrO2o+KefPD/bLFZjdpOjTJ6mohokafDRBg9JvPOn8Q3592VmCfic93lvP820UydbObmtzSihAiWvTpANHinLP68aP5Y0iMM2bh7DtSz5/f3E5VvTvEJYs8si5CiOghAaJZdno8d1x1fL1EZZ2bP7+xneLS+hCXLPLIugghooMEiBMkOWz8aP4YRg9OAVoGr3fy3f6qEJcssmiajturhroYQogzJAHiJDarmaXThzPl7P4A+FWdf7y3h48Kjsmn4i5wumVDISEinQSIdpgUhSsvyGXeRYNRFGMHtbe2HiT/04MyANtJflXHI60IISKaBIjTmDwmi2XTh2M1G/+bPtleyqub9spOap0krQghIpsEiA6MHpzK8nmjiIsx0lYV7KvixQ275NNxJ3j9Gj6/BFMhIpUEiE7IyUjgtgVjSI63AbD3SB3PrN9Bo0s+IXdE0m8IEbkkQHRSerKd2xaMJTPFDsDRSicr1hZS2+gJccnCm8crU16FiFQSILqgZRpsbpaRFbGyzs3TawqprHWFuGThS9PB65NuJiEikQSILrLHWLhp9shAor86p5en1xZytDLyUnT3FrdXupmEiEQSILrBZjHzgxnDGTc0DTBWDj+7fodsZXoKbp8q3UxCRCAJEN1kMZu4dtpZnDfS2Gfb7VX5a/5O9h+V1Bwn03VkZbUQEUgCxBkwmRQWThnCRWOzAKOv/YW3i9hdUhvikoUfCRBCRB4JEGdIURRmT87l0nMHAuBTNV56ZxdFh2pCXLLw4vWpaJp0MwkRSSRA9ABFUZhxXg4zzssBQNV0Xnl3NzuLq0NcsvChI60IISKNBIgedOm5A7ny/EFAc5D41x4KD0iQaCGzmYSILBIgetiU8QOYMzkXMLYxXfneHrZLunDASL2hSjeTEBFDAkQQXDSuP/MuHAwYQeIfG/dKS6KZW1JvCBExJEAEyeSxWcy/aDBwvCWxQ8YkpJtJiAgiASKILhiT1aolsfK9PX1+4NrjVWVPDSEihASIIJs8Nou5FxpjEqqm8/f39vTpdRI6SKp0ISKEBIhecOHY/oGBa1XTefndXew9UhfiUoWOTHcVIjJIgOglF43rz8xJxjoJv6rz0ju7OHCsb6bl8Pqkm0mISCABohdNPWcgl0/IBsDn13hhQ1GfTPAn3UxCRAYJEL1s2vcGMvWcAYCRu+lvbxVxrKrvpQr3+CRACBHuJED0spa0HC0J/txelefyd1LexzYd8kgKcCHCngSIEGhJ8DexOVW40+3nufydVNe7Q1yy3iMpwIUIfxIgQkRRFBZePISzhxmbDtU7vTyXv5O6PrTHtdPtC3URhBCnIQEihEwmhcWXDWNUbgoA1Q0efv/Pr2ly943Vxn5Vl8FqIcJYpwLELbfcwvvvv9/lPuMtW7Ywc+ZMpk+fzooVK9q95rPPPmPBggXMmTOHH/zgB126fzQwm0xcd3keQwckAnC0wsnzb+/sM2+c0ooQInx1KkBce+21vPDCC1xxxRWsWLGCmpqON8NRVZVHHnmEZ599lvz8fNavX8/evXtbXVNfX8/DDz/Mn//8Z/Lz8/n973/fvVpEOKvFxPUzRpCTEQ/A4QonL727C59fC3HJgs/r1/D5+0YwFCLSdCpAzJgxg+eff55nnnmG8vJy5s6dy7//+7+zffv2U76moKCA3NxccnJysNlszJkzh40bN7a6Zt26dUyfPp0BA4xpn2lpaWdQlcgWYzNz46yRDEh3ALD/aD2vbtrbJ3Zhc/aRLjUhIo2lOy+yWq3ExMRw7733MmXKFO67774215SVlZGVlRU4zszMpKCgoNU1xcXF+P1+rr/+epxOJzfccAMLFy7s8Punpjq6U+ywlwr8v2vP5f97+Usqa10UFlfz9rYSfjBrJIqihLp4Paa9n19KahwWc3QMiaWnJ4S6CEETzXWD6K9fV3UqQLz77ru8/PLLVFVVsXTpUvLz83E4HPj9fmbMmNFugGhvvOLkNzlVVSksLOT555/H7XZz3XXXMX78eIYMGXLa8lRXR+/CstRUBzfOGsHTawppdPn4+NujmIFZzTvVRbrUVEe7Pz+300OiwxaCEvWs9PQEKiqic3V8NNcN+kb9uqpTAWL16tXceuutTJkypfWLLRYeeOCBdl+TlZVFaWlp4LisrIyMjIw216SkpBAXF0dcXBwTJ06kqKiowwAR7dISY7lp9kieWbcDt1dly7dHcdgtTDl7QKiLFjRur5+EOGtUtZSEiHSdatM//fTTbYJDi2nTprV7fty4cRQXF1NSUoLX6yU/P7/NtZdffjlffPEFfr8fl8tFQUEBw4YN62IVolP/NAc3zBqBxWy8Yb699RBf7a4IcamCR9ON1CNCiPDRqQCxdOlS6uqOp6eura1l2bJlp32NxWLhwQcfZPny5cyePZsrr7ySvLw8Vq5cycqVKwEYNmwYU6ZMYf78+SxevJhrrrmG4cOHn0F1osvgrESWXDEcU/OH6tc372PXoY5nkEUq2W1OiPCi6J1Y3LBgwQLWrFnT4bneUF7dRFkU9xO210f/5a5yXtu8HwCr2cQtc0cxKDMyB9NONQYBoCiQkWyP6G6maO7Hjua6Qd+oX1d1qgWhaRpNTU2BY6fTiarK3PXeMmFEBrMmGYPUPlXjhQ27KK+JvuR+kp9JiPDSqQAxd+5cbr75ZtasWcOaNWu45ZZbmD9/frDLJk4wZXx/Lh7XHwCXx8/f3orOvE0SIIQIH52axXTbbbeRkZHBpk2b0HWd6667rlPrFUTPURSFWRcMotHl45u9ldQ5vfzt7SJumz8Ge0y3lrOEpZbd5kwR3M0kRLTo9DvLVVddxVVXXRXMsogOmBSFq6cOxen2sedwHeU1Ll58Zxc3zx6F1RIdi8x0wO1RiYuNnqAnRKTq1F9hVVUVL730EiUlJfj9x2ea9NXcSaFkMZtYesVwnl2/gyOVTg6WNvDPTXtYesVwTKbo+NTt9volQAgRBjr1V3jXXXcxbNgwJk+ejNlsDnaZRAdibGZuvHIkf1mznep6DzuKa1j3STHzLxoc0TOAWnj9GqqmYTZFR6tIiEjVqQBRX1/Pr3/962CXRXRBvN3KTbNH8Zc3t+N0+/lsRxlJDhuXnjsw1EXrES6PSrxdAoQQodSpv8C8vDzKysqCXRbRRWmJsdx45UhszeMP724r4ctd5SEuVc9weWTRnBCh1ukWxPz58zn33HOJiYkJnJcxiNDLTo9n6fThvLhhF5qu88aW/cTbrYwYlBLqop0RVTN2m4uxSZemEKHSqQAxd+5c5s6dG+yyiG4anpPM1VOHsvqDfWg6rHxvD8vnjSY7PT7URTsjLq9fAoQQIdSpACHTW8Pf94anU+/08u62Erx+Y7X17QvGkJYYG+qidZvHq6JpetTMzhIi0nRqDKK4uJglS5YEsrEWFhbyhz/8IagFE1039ZwBXDA6EwCny8fzbxXR6IrcPZ91jFaEECI0OhUgHnroIe644w4SEoxkT6NGjWLDhg1BLZjoOkVRmHvhYEYPNsYfqurdvLihCK8vctNXuGQ7UiFCplMBoqGhgUsuuSQwx95kMmG1WoNaMNE9JpPCtdPyyG3O9nq4wsnKjXtQI3Rva7+mR3SAEyKSdSpAmM1mfD5fIECUlZVhkkVMYctqMXH9zOH0SzLGH3YdqmXtRwfa3QY2EjilFSFESHR6w6A777yTmpoa/vCHP7B06VJuvvnmYJdNnIG4WCs3zR5Jgt1o6W0rKmfTV0dCXKru8fhUfH5pRQjR2zo1i2nhwoVkZ2fz/vvv43K5eOKJJ5g4cWKwyybOUEqCsZBuxbpCvD6NjV8eJslhY+LIjI5fHGYaXX5SEmTKqxC9qdMZ0SZOnChBIQIN6Odg2fThvPC2sZDuzQ/3kxAXeQvpWloRVosECSF6S6cCxKJFi9pNArd69eoeL5DoeXnZySyaOpRVEb6QTloRQvSuTgWIe++9N/DY4/GQn59PRkbkdVP0ZecOT6cuwhfSSStCiN7VqQAxadKkVscXX3yxDFJHoKnnDKDO6eWzHWWBhXS3LRhDvD1ypiw3NPlITZQAIURv6NZc1cbGRkpKSnq6LCLIFEVhXoQvpPP6tYgqrxCRrMtjEJqmcfjwYW666aagFkwER8tCur/m7+BQWWNgId0PZozAHCE5jxpdPlKt0ooQIti6PAZhNpvJzs4mMzMzaIUSwWW1mLhh5gieXltIRa2bXYdqWfPhfq66ZGhE7EjX0oqwSZAQIqi6NQYhIl9crJUfXjmKv6zZTkOTjy92VZDosHHFxJxQF61TpBUhRPB1KkBccMEF7X6y1HUdRVH49NNPe7xgIvhSEmL44ZUjWbF2Bx6fyqavjpAQZ+P80eHfOpRWhBDB16kAsWTJEmpra7n22mvRdZ3XXnuNzMxMZs+eHezyiSDrn+bgBzOG8/zbRaiaztqPD5AQZ2X04NRQF61D0ooQIrg6NYtp27Zt/Od//icjR45k1KhRPPDAA2zevJmBAwcycODAYJdRBNmwgUlcc+kwAHQd/rFxDwdLG0Jcqo7JjCYhgqtTAaK8vJzq6urAcXV1NRUVFUErlOh948/qx5zJuQD4VZ0XNhRRVt0U4lJ1rMkjmV6FCJZOdTHdeOONLFiwgMsuuwyAzZs3c9tttwW1YKL3XTSuP/VOLx8WHMPtVXn+bWMhXXJ8TKiLdkoer4qqaZgl/bwQPa5TAWLZsmVMmDCBbdu2oes6y5YtY8SIEcEumwiBmecPotHl4+s9ldQ5vTz/dhE/mjeGuNhO53XsVTrg8qjE2yVACNHTOv1Xn52djaqqjBkzJpjlESFmUhSunjqURpePPYfrKK9x8eI7Rdw8ZxS2MM2B1OT24Yi1RMQaDiEiSac+dm3evJk5c+Zw1113AfDdd99x++23B7VgInTMJhNLpw8nO90BwKGyRla+twdV00JcsvZpOri9MlgtRE/rVIB46qmnWL16NYmJiQCMGzeOQ4cOBbVgIrRirGZuvHJkq21L39iyP2y3LW2SbUmF6HGd7rhNT09vdWyz2Xq8MCK8OGKt3DR7FIkO42f91e5K3v7sUFgGCZ+qybakQvSwTgUIh8NBZWVloI/3s88+IyEhocPXbdmyhZkzZzJ9+nRWrFhxyusKCgoYNWoUGzZs6GSxRW9pWW1tjzHGHz4qOMaWb4+GuFTta/JIgBCiJ3UqQPziF7/g1ltv5fDhw1x//fXcc889rRL4tUdVVR555BGeffZZ8vPzWb9+PXv37m33ut/+9rdcfPHF3auBCLqs1DhumDkSq9n4dXnn8xK2FZWHuFRtub3+sGzdCBGpOjWLafz48bz44ot89dVXAJx77rmB8YhTKSgoIDc3l5wcI/nbnDlz2LhxI2eddVar61566SVmzpzJd999153yi16Sm5XA0ul5vPTO7sDe1nabmbFD00JdtAC9ebDaHhOeU3KFiDQd/iWpqsr3v/99XnvtNaZOndrpG5eVlZGVlRU4zszMpKCgoM017733Hi+88EKXAkRqqqPT10aicK3f5FQHFpuF59YWouvw6vt76ZfmYPSQrgWJYNYv1mYmLcketPt3Rnp6x92vkSqa6wbRX7+u6jBAmM1mUlJS8Hg8xMR0fkVte039k+epP/roo9xzzz2YzV2bX19d7ezS9ZEkNdUR1vUblpXA3IsGs+7jYvyqzp9fK+CWOaMYlNm5P6xg108B/G4fphBtfpSenkBFRfjnseqOaK4b9I36dVWn2uKDBw9m2bJlzJw5k7i4uMD5ZcuWnfI1WVlZlJaWBo7LysrIyMhodc327du5++67AaipqWHz5s1YLBauuOKKLlVC9K7JY7Jwefy898VhfH6N598u4tZ5o+mfFvqWjw64vH4csZGzz7YQ4apTAcLpdJKXl8f+/fs7feNx48ZRXFxMSUkJmZmZ5Ofn8z//8z+trtm0aVPg8X333cell14qwSFCXHbuQNwelY++M/I2/e2tIn40bzT9kkPbvQPg9qgSIIToAacNEL/5zW+47777ePzxx/n444+56KKLOn9ji4UHH3yQ5cuXo6oqixYtIi8vj5UrVwLGHhMicimKwpUXDMLl9fPlrgoaXT7+mr+TH80fQ0pCaJP7+VQNv6phMUt+JiHOhKKfZl7gVVddxRtvvNHmcSiVVzdRFsX9hOE+BnEyTdP556Y9fLffSAeflhjLrfNHkxjX/kLK3qqfI9ZCwinKEEzR3I8dzXWDvlG/rjrtR6wTY4fMLxftMZkUFl92FiMGJQNQVe/mufydON2+kJbLJbmZhDhjpw0QXq+Xffv2sXfv3laPW/4JAWAxm1h6xXCGDjDWxpTXuPhb/k5cIdzMR9N0PBIkhDgjp+1imjZt2qlfqChs3LgxKIU6HeliCl8en8rf3trJobJGAHIy4rl59ihibMenMfdm/WJt5l7f7CiauymiuW7QN+rXVacdpD5xlpEQHYmxmvnhlSP56/qdHKl0UlLeyAsbivjhlSOxWXt/LwmPV0XT9JCtiRAi0sk0D9GjYm0Wbpo9kqxUY71McWkDL76zC28IMq3qGPmZhBDdI0lrRI+Li7Vy85xRPLNuBxW1LvYfrefld3Zz/cwz26Z2z+Favigqp6bBQ0pCDBNHZpCXnXza1zR5/MTJmoiIsv1AFR8VHKOi1kV6sp2Lz+7P2C6mcxE9Q1oQIiji7VZumTsqsOHQ3iN1vPzurm7v2bDncC3vfF5CVb0HTYeqeg/vfF7CnsO1p32dX9Xx+cNzJzzR1vYDVby2eT9lNS40HcpqXLy2eT/bD1SFumh9kgQIETSJcTaWzx1NWnOQ2HO4jr+8/l233rC/OEV68VOdP1EoZ1OJrvmo4FiXzovgkgAhgirRYQSJ1ERjNlHh/qrmlkTXgkRNg6dL508k+0REjopa1ynOu3u5JAIkQIhekHRSkNhzuI6Xujhwfar0HZ1J66Hp0oqIFOmnyOWVnhzbyyURIAFC9JLk+BhunTuajBTjDWDvkTpe3LALr69zQWLiyIwunT9Zo8uHpkkrItxdfHb/Lp0XwSUBQvSapPgY7l46ITBwvf9oPc+/XdSpFc952cnMnJRDWmIMJgXSEmOYOSmnw1lMLTQdGlyhTf8hOjZ2SBqLpg4lM8WOSVHITLGzaOpQmcUUIqddSR2OZCV1ZEtNdVB8uIa/rt8R6FfOyYjnh1eO7JWtQtMSY7BagrdoL5pX40Zz3aBv1K+rpAUhel1inI1b540JLKYrKW/k2fU7aOyFT/j1TmlFCNFZEiBESMTbrSyfO5qB6cYudMeqmnhm3Q7qnN6gfl+fqtHklgFrITpDAoQImbhYS/N+1vGAMcVxxdpCquqDO6Wx0e2Taa9CdIIECBFSRu6mUZw1MAkw1jWsWFNIaXVT0L6npum4JRW4EB2SACFCLsZq5oZZIxg9OAUwZhs9s66QQ2XBGzB0yowmITokAUKEBYvZxJIrhvO94f0AcHlU/rp+J7sO1QTl+/k1XTK9CtEBCRAibJhNCldPHcZF47IAY0D5pXd28fXuiqB8P6dLAoQQpyMBQoQVk6Iw+4JcZk7KAYwFbqs+2MeWb472+MCyT9U6vZJbiL5IAoQIO4qiMPWcgSyaOpSWzeA2fH6IdR8X93i6DKdMeRXilCRAiLA1YUQGP5gxAqvF+DXduqOMV/61u0d3p/P4VGlFCHEKEiBEWBuZm8LyuaNxxBppOHYerOGv63fS0NRzC+rqnV5ZFyFEOyRAiLCXkxHP7QvHBjYeKilv5C9rCinrobUSfk2XriYh2iEBQkSEtMRYbl8whtxMI+FYTYOHv6wp7HDL0c5yunz4VdmaVIgTSYAQEcMRa+xzfc5ZxloJj0/lhbeL+LSw9Iy7iHSMriYhxHESIEREsZhNLL5sGJdPyAaMabDrPi5mzUcHzrgF4PVrON2ywlqIFhIgRMRRFIXLJ2Rz3eW0dWmPAAAefElEQVRnYTEb82A/31nOc2/tPOOU4Q1NPupk0FoIQAKEiGBnD+vHbfPHkOiwAVB8rIH/e+M7jlQ0ntF9XR4/NQ0e2aJU9HkSIEREG5gez0+uGktOhpEyvLbRy9NrC/nqDNNzeP0alfVuVE0GrkXfJQFCRLyEOBu3zhvNeSMzAPCrOqs/2HfG4xKaplNTLy0J0XdJgBBRwWI2cdUlQ7lqyhDMzfk5PttRxoq1hdQ0eLp9X7+mU9PgkTEJ0SdJgBBR5bxRmfxo/miSmsclDlc4+ePrBRSdQdpwn6pR2ygD16LvCWqA2LJlCzNnzmT69OmsWLGizfNr165l3rx5zJs3j+uuu46ioqJgFkf0ETkZCdy5aBx52cYudS6PyosbdvH21oPd7nLy+FRqGjyymE70KUELEKqq8sgjj/Dss8+Sn5/P+vXr2bt3b6trsrOzefnll1m3bh133HEHv/rVr4JVHNHHOGKt3DhrJJdPyKY5ISwfFhxjxdpCqru557XXr1FV76ZJ0nKIPiJoAaKgoIDc3FxycnKw2WzMmTOHjRs3trrme9/7HklJxqe8c845h9LS0mAVR/RBJpOxXuKmOaNIsFsBo8vpD699xzd7K7t1T12H+iavTIMVfYIlWDcuKysjKysrcJyZmUlBQcEpr1+9ejWXXHJJp+6dmuo44/KFM6lfz5qU6mDk0H68kL+Dwv1VeHwqr27ay4HSBpbMGEFcrLVb99VNCkmJsdis5lbn09MTeqLYYSma6wbRX7+uClqAaG9AT1GUdq6ErVu3snr1av7+97936t7V1c4zKls4S011SP2CZMnlZ/FJRjzvfH4IVdPZtqOM3QdrWHzZMIYOSOrWPSsrG0mIswaCTHp6AhUVDT1Z7LARzXWDvlG/rgpaF1NWVlarLqOysjIyMjLaXFdUVMQDDzzA//3f/5GSkhKs4giBSVG4+Oz+/PiqsWSk2AGoc3r56/qdrP+kuFsbEelAfZOPmgaPLKoTUSdoAWLcuHEUFxdTUlKC1+slPz+fadOmtbrm6NGj3HXXXfz3f/83Q4YMCVZRhGilf5qDn1w1jgvHGl2gOvDJ9lL+sPo7DpZ27xOkx6dSWefGeYa5oIQIJ0HrYrJYLDz44IMsX74cVVVZtGgReXl5rFy5EoAlS5bwpz/9idraWh5++GEAzGYzr7/+erCKJESA1WJi7oWDGZmbwuub91Hb6KWq3s2KtYVMHpvF9PNyiDlpbKEjug61jR4a6tzE263E2Lr2eiHCjaJH2Oqf8uomyqK4n1DGIHpf4YEq3t56iOoTVlzH2y30S4rFr+qkJMQwcWQGednJHd7rxPpZzaZOB4rtB6r4qOAYFbUu0pPtXHx2f8YOSet+pXrQ+k+L+eDrIzjdfhyxFi49dyBzJw8OdbF6nIxBtBW0FoQQkWDP4Vre//oosTEWUhWoa/SiajqNLj+NrkbsMWZ8qs47n5cAdCpItPCpGjWNHmJtZhLjbJhM7U/S2H6gitc27w8cl9W4AsehDhLrPy1m/cfFgDHJpLHJFziOxiAhWpNUG6JP+6KoPPA41mYhPcUeyOUExirs8pomnC4f23aWdet7uL0qlfVuPN72B8E/KjjWpfO96YOvj3TpvIguEiBEn3ZyIj+TomAygdlsJAAEY2yhzullV0kdJeXd64LQNJ2aRg+1jW3TdVTUutp9TUVt91Z896RTbcAkg/F9gwQI0aelJMS0OWc2mbCazaQnx5LosNGyfMfn1/jzm4Ws/mAfDU3d27/a7VWpqnNT5/QGpsWmJ9vbvTY9ObZb36MnxdvbX0ToOMV5EV0kQIg+beLItmtz4mItOGItKIpCvN1KRrKd2BMGmr/aXcGT//yWzd8cwefv+toHHWPXuspaN3WNHiaPyWz3uovP7t/le/e0S88d2KXzIrqYH3rooYdCXYiucLp8OLv56S0S2O02XFHcfA+3+qUlxpKSEENtgwePVyU1MYZp38tmxKCUwLl+SbHMnDSICSPSOVrhxOn2o2o6+47U882eChx2KxkpdhRF6XL9/KpOvN1GWmIsdU4vbq9KRoqdWecPCvkANcDwnGRQ4GiVE7+q4bBbmTFpUFQOUDscMTRF8XuLw9G2tdwRmeYaZsJxGmhPivT6qZrO5zvKeO/Lw7g8x7O6Dkx3MPO8QUw6e8AZ1c9iVoiLsWKPMZ8yNU2o9IVpoNFev66SABFmIv0NtCPRUj+Xx88HXx/hk+2lqCdkdR2Rm8K0cwcG9sjuLkWBWKuZ2BhLlxfsBUtfeAON9vp1layDEKIb7DEWrrwgl/NHZ/KvL0r4dm8VALsO1rDrYA0jB6Vw+YSBDEzvXqDQdXB5VVxeFZNJIcZqJsZqwmY1YwqzloWIXhIghDgDqYmxXDstj0vGD+DdbSXsOlQLQNGhGooO1TAqN4XLvjeQ7G4GCjCmyLo8flweUDDShMTazNis5sBUXCGCQQKEED2gf5qDG2eNpLrJx+ub9rD/aD0AOw/WsPNgDXnZSUw9ZyBD+iec0diCjrGzndevAT4sZqN1EWszY7WER1eUiB4SIIToQWdlJ7N87mgOHKtn45eHA4Fiz+E69hyuY1BmPFPOHsCo3JRTpt7oCr+q41f9ON1+TArYrGZsFpO0LkSPkAAhRBAM6Z8YCBSbvznK7hKj6+lQWSOv/Gs3aYmxXDQui+8NT2+zI113abqxEM/tVQEfJgWsFjNWiwmbxYTFYpLxC9ElEiCECKIh/RMZ0j+Ro5VONn9zhO0HqtF1qKp3s/bjYt7dVsLEkRlcMDqT1MSeXTmt6cY+FR7f8RxQZpOCxWzCZjURI60M0QEJEEL0ggH9HCy5YjjV9W4+3l7Kl0XleP0abq/KRwXH+LjgGCMGpTBpdAbDs5N7pPupPaqmo2pG0GjAZ8yQspgCLQ2rRQKGOE4ChBC9KDUxlnkXDuaKCdl8UVTOp4Wl1DZ60Tk+8yk53sbEkRlMGJ5OUnzXV792habpgem0YKy/sJ3QLWW1mMJuwZ7oPbJQLsxEy0KyU5H6taZpOkWHathaWMbeI3WtnlOAs7KTmDAig1G5KSH5dK8AZrOC1WKmf2Yi9XVNUdstJQvl2pIWhBAhZDIpjB6cyujBqVTVufl8Zxlf7q6gye1H5/jsp1ibmbFD0zg3rx+5WQm9Ntisc3ymVG2jh+o6d2Dw22xWMJsUTIqCxaxgMimYTdEZPPqqiGtB+Pwa5eX16AA6aM3F13UdHWMF6omPOek8NL9GB43Wz4cD+YQd2Xqifn5VY+fBGr7cVcGew7VtfjeTHDbGDUvj7GFpDOzn6LUuoM7UTcEIehazCbNZwWJSMJtNWMzhHzykBdFWxLUgrM1zvIPheGDRA3+ULY9bApJO6+e0EwJP8yWA8Ydy8rmWB8a99FbPtdwi1mbMY+ek8zp64OJAYNNPuLeIGhaziXFD0xg3NI06p5dv9lTw9Z5KymuMjYXqnF4+KjjGRwXHSE2IYcyQVMYOTWVgenzIp7HqHB8I56SktopizKIym0yYFCOQKIrRAlGaj80moyUS6noIQ8S1IICoj/JdqZ8RpHQ0jeavOrquo2pG8Go51k4IZqH8iUsLont0XedYVRPf7Knku/1V1DnbpqVOdNgYlZvCqNwUhg5I7PGxgt782SmAYlKMQKIYgcNsNgUCSEvXVk/O9pIWRFsR14IQrSmKgllR6Op7wfGWUfPXE4KHqmlGgNH0419DHFj6OkVRGNDPwYB+DmZdMIiSskYK9lWx/UAVDU3GR/V6p5fPdpTx2Y4ybBYTZ2UnMSInmeE5yUGfDdXTdEDXdKO1HGgnt93Tu6VLK9DyMBndWi3jISYTzS0UaZF0hwSIPkppbta37gxr0X4XXqBlop0QLJTmT3vN92r5OwwEoOZxIqNFo2OPsWCzmAKtHU2CTpeZFIXcrARysxKYc2Euh8sbKTxQTeGBaqqb99j2+jV2FNewo7gGgMwUO3nZyZyVncTgrISgddP2tuNdWqf/RQq0SDB+900mJTDI3tIa8fk1NE0P2hqUSCRdTGGmLzRzT65foKVyQhdZS/fY8UCiB4JNq7GcMBPKLjRd1ymvdVHUnCCwpLyx3Vaf2aSQkxnP0P6JDB2QSE5GQqem0PaV7sGWYGI5YTyk5WvLWIlJoVWrRFHCv6UiXUwiIrV0DXRXy2ectpMBWma4Hb/25L/frn48OnFigjH9U8Pv1/CHQVNIURQyU+LITIlj6jkDaXL72Xuklt0ltewpqaOheStUVdMpPtZA8bEGNn11BItZITs9ntysBAZnJTAoMwF7TN99a2jp3vJ242dqCgy2m04aK6HVAHw4B5IT9d3fAhE1Wv7YAn9ybR8Enabr+Hwa8XYrDWYTPlXrte99KnGxFs4e1o+zh/VD13XKalzsO1LH3sN1FJc2BHI0+VWd4tIGiksb2Nz82vRkO4My4xmUEU92RjwZKXGhq0gE0XTQVB2/2na85ESBWVwndMu2aPnQojS3UlpaK8dbL8oJz7U+39OkiynM9MUupmjSUj+/qtHk8eP2+MNynEXVdI5WOtl/tI7iYw0cLGtozgLbPqvZxKD+CWQk2xnYPFienmzHHEX99dHQhdYqmLTqAlMYPrRfl+8nLQghgsBiNpEYZyMxztY8fmJMRVY1DZ+/+Z+qhWxmmNmkkJMRT05GPFPPMVpAZdVNHCxt4FBZI4fKG6iu9wSu96ka+w7Xse/w8XQgFrNCRkoc/VPjyEqLIzM1jswUO/F2a8R0oUQbrdWq3zP/5ZIAIUSQmYz+AMwmsGIi1mac13Udj8/Yv8HjVUM66G5SFPqnOeif5uCCMca5RpePIxWNlJQ3cqTCydEqZ2BKLRhdU0crnRytbP2pOy7WQkaKnYxkO+mBf7EkxcfIArgIIwFCiBBRFIVYm4VYmwVN1/F4VbzN+zeEQ7dUvN3KiEEpjBiUAkBKShzFJTUcrXRypNJJaXUTx6qaqGnwtHpdk9sfGAQ/kcWs0C/JTlpiLGlJMaQlxpKaGEtqYgyJjpio6q6KFhIghAgDJkXBHmMJzB46sRvK51fxq6GPGIqikBQfQ1J8DKMGpwbOu71+yqpdlFY3UVbTRFm1i4paF42u1rk2/KpOaXUTpdVNbe5tUhSSE2wkx8eQkhAT+JoUb5xLctiiNotsOJMAIUQYOnnznpZZUl6/iten4Ve1sFkHEmuzBBbunajJ7aei1ggWlXUuKmrdVNa5qa53t1nYpuk61fWeVuMeJ3PEWkhy2Eh02EiIM74mxllJiLMR3/LVbgn7pICRRAKEEBHApCjE2MzE2IwV0CcGDL+q41ONVcDhJC62/cChaTr1TV4q69zUNHiorjeCRm2jl5oGT5uWRwun24/T7edoVdsWyInsMRbi7Vbi7VYcdguOWONxXKwFR6yFuFgrcTEW4mKNf1azbIp0KhIghIhAJwcMMN54fX4jaLR0UYVXyDCYTArJ8UY3Unu8fpXaRi91jR7qGr3UNnqoc3qpd3qpc3qpa/S22mf7ZC6PH5fHaL10hsVsdO/Fx9mwWUzYbRbsMWZjfCjGTKyt+bHNHPgXY7UQYzURYzNjs5ijNj2HBAghooTJ1DZo+NXjYxmqqhuJGFU9LANHC5vFTEayMQvqVLw+lYYmH3VOL40uLw1NPhqafDS6Wv9zunwd5mnyq3rg9d1ltZiIsZqxWVu+Gmn7T/5qbOV6fP/vE/9ZzM2Pm79amh+37K0RihlgQQ0QW7Zs4dFHH0XTNBYvXsyPfvSjVs/rus6jjz7K5s2biY2N5Te/+Q1jxowJZpGEiFrbD1TxUcExKmpdpCfbufjs/owdksYLG4rYtrMcn6phNZs4b1QG543MCFybmhjLpNEZDM9OYefBaj7fWU51vZuUhBgmjszgcEUjn+8oo8mrEmczM2l0Jpedm33Kcuw5XMsXReXUNHgC9wDanMvLTu706/Oyk3n/68NGOTx+4mIspy1Hyz2q693GoHpuCunJdvYeqaPoYA0NTT5sVhOpCbFYLSZcXj8+v05DkxeXx9/lacctLTY612jpFnPzRkwW8wkbMplNgU2ZjA2aTCckIWzZqMl4ftyIzC5/z6CtpFZVlZkzZ/K3v/2NzMxMrrnmGp588knOOuuswDWbN2/mpZde4plnnuHbb7/l0UcfZdWqVR3euy+sxI1WUr/g2H6gitc2729z3hFrYWdzRtcWOsb4QPpJn9AnjEjny10Vx6/TdWobPThdvkD+oJa3i+mTBjF9QnYgL1VLEsWikho2fFbS6r5urx8FiLG1/jw6c1JOmyCx53At73ze+vUAWal2vttX1eb8pd8b2CZInOoeY4akUHigps35lnKcuJJ6d3M9AoscdSM/09ihqSTHxxhrV5qnJHuaH/v8WuDY69eMf83nw8G6/1nQ5dcErQVRUFBAbm4uOTk5AMyZM4eNGze2ChAbN25k4cKFKIrCOeecQ319PeXl5WRkZASrWEJEpY8KjrV7vuhg2zdEAJfb3+bcB18fISHOFjhWFAWny4+uG9lNTxzI3VpYyjVTh7W5x/bN+wKzr1qCictjfC+H3doqoWLB3komjshoXvhrdHt9u7fyhP78459d2wsOANt2ljP7/NxWV3+9u6JNfqOWax12a5vzX++uYMzgVKNrqLns3+ypND6Jn5TPq87pZf5FQ9oty6k+amu6jr85WHibWxpe//HHbf6pRlBpSQZ5Yhdhy7FfNRJEqqpxndp87D+hK9GvdpwGvSNBCxBlZWVkZWUFjjMzMykoKDjtNVlZWZSVlXUYILqTtjaSSP0iWyjqV9PobTdlt6a3zWDbsnvtydc73X5SE2NPer3xBhNIiNj8tcntb7ee7ZVD0wCFNntQNLj9DMpOaX3O5SfW1navCr+mY7O0Pe/2qpw1pHWOIadHbTcbbWWdm37tjGs0eVVGDEsHCDzv9Oxo9x6uE67tC4IWINrruTp5KllnrhFCdOzJn00NdRGAMy9HT9QjXO4RDYK2oiQrK4vS0tLAcXstg5OvKS0tle4lIYQIE0ELEOPGjaO4uJiSkhK8Xi/5+flMmzat1TXTpk3jzTffRNd1vvnmGxISEiRACCFEmAhaF5PFYuHBBx9k+fLlqKrKokWLyMvLY+XKlQAsWbKEqVOnsnnzZqZPn47dbuexxx4LVnGEEEJ0UURuGCSEECL4JKuVEEKIdkmAEEII0a6wzsXk8XhYtmwZXq83sDL7pz/9KbW1tfz85z/nyJEjDBw4kP/93/8lKSkp1MXtlpbxmczMTJ5++umoqtu0adNwOByYTCbMZjOvv/56VNWvvr6eBx54gN27d6MoCo899hhDhgyJivrt37+fn//854HjkpISfvrTn7Jw4cKoqN/zzz/PqlWrjL2ahw/n8ccfx+VyRUXdAF544QVWrVqFrussXryYH/7wh9362wvrFoTNZuOFF15g7dq1vPnmm3z44Yd88803rFixgsmTJ/Puu+8yefJkVqxYEeqidtuLL77IsGHHV6RGU93A+EVds2YNr7/+OhBd9Xv00UeZMmUKGzZsYM2aNQwbNixq6jd06FDWrFkT+NnZ7XamT58eFfUrKyvjxRdf5LXXXmP9+vWoqkp+fn5U1A1g9+7drFq1ilWrVrFmzRo++OADiouLu1W/sA4QiqLgcDgA8Pv9+P1+FEUJpOgAWLhwIe+9914oi9ltpaWlfPDBB1xzzTWBc9FSt1OJlvo1Njaybdu2wM/OZrORmJgYNfU70aeffkpOTg4DBw6Mmvqpqorb7cbv9+N2u8nIyIiauu3bt4/x48djt9uxWCycd955/Otf/+pW/cI6QIDxg1ywYAEXXnghF154IePHj6eqqiqwXiIjI4Pq6uoQl7J7HnvsMf7t3/4N0wk7YEVL3VrccsstXH311fzzn/8Eoqd+JSUlpKamcv/997Nw4UJ++ctf0tTUFDX1O1F+fj5z584FouPnl5mZyc0338xll13GxRdfTHx8PBdffHFU1A1g+PDhfPHFF9TU1OByudiyZQulpaXdql/YBwiz2cyaNWvYvHkzBQUF7N69O9RF6hHvv/8+qampjB07NtRFCZqVK1fyxhtv8Mwzz/DKK6+wbdu2UBepx/j9fnbs2MGSJUt48803sdvtEdslcTper5dNmzYxa9asUBelx9TV1bFx40Y2btzIhx9+iMvlYs2aNaEuVo8ZNmwYy5cv5+abb2b58uWMGDECs7ltHqvOCPsA0SIxMZHzzz+fDz/8kLS0NMrLywEoLy8nNTW1g1eHn6+++opNmzYxbdo07r77brZu3co999wTFXVrkZlp5J9PS0tj+vTpFBQURE39srKyyMrKYvz48QDMmjWLHTt2RE39WmzZsoUxY8bQr5+REC8a6vfJJ5+QnZ1NamoqVquVGTNm8PXXX0dF3VosXryYN954g1deeYXk5GRyc3O7Vb+wDhDV1dXU19cD4Ha7+eSTTxg6dGggRQfAm2++yeWXXx7KYnbLL37xC7Zs2cKmTZt48sknueCCC/jtb38bFXUDaGpqorGxMfD4448/Ji8vL2rql56eTlZWFvv3G3swfPrppwwbNixq6tciPz+fOXPmBI6joX4DBgzg22+/xeVyoet6VP7sqqqM9OhHjx7l3XffZe7cud2qX1ivpC4qKuK+++5DVVV0XWfWrFnceeed1NTU8LOf/Yxjx47Rv39/fv/735Oc3P7uVJHgs88+47nnnuPpp5+OmrqVlJTwk5/8BDDGkebOncsdd9wRNfUD2LlzJ7/85S/x+Xzk5OTw+OOPo2la1NTP5XJx6aWX8t5775GQYKT2jpaf31NPPcVbb72FxWJh1KhRPProozidzqioG8DSpUupra3FYrFw//33M3ny5G797MI6QAghhAidsO5iEkIIEToSIIQQQrRLAoQQQoh2SYAQQgjRLgkQQggh2hXW2VyFOJ3Fixfj9Xrx+XwUFxeTl5cHwOjRo3n88cdDXLrOKSwspKSkJKpWKovoIdNcRcQ7fPgwixYt4rPPPgt1Udrw+/1YLKf+HLZq1So++eQTfve73/X4vYU4U/LbJaLS6tWr+cc//oGqqiQmJvLwww8zePBgVq1axYYNG3A4HOzevZv+/fvzH//xHzzxxBOUlJQwfvx4nnjiCRRF4Z577sFut3Po0CFKS0s5//zz+dWvfoXVaqWhoYHHHnuMPXv24PF4uPDCC7n33nsxmUwsWbKESZMm8fXXXxMXF8dTTz0VWCTo8XgYP348Dz/8MPX19fzpT3/C6XSyYMECzj//fJYtW8bSpUv5+OOPATh48GDg+ODBgyxZsoRrr72WrVu3cvXVV7NgwQKefPJJvvjiC7xeL6NGjeKhhx7CbreH+CcgooIuRIQrKSnRJ02aFDjeunWrftttt+kej0fXdV3fuHGjvmzZMl3Xdf3VV1/VJ02apJeWluq6rus333yzvnDhQr2hoUH3er367Nmz9a1bt+q6ruu/+MUv9AULFuhOp1P3er36DTfcoP/973/XdV3X7733Xn3dunW6ruu6qqr6T3/6U3316tW6ruv6ddddp//4xz/W/X5/4Pna2trA47vvvlt/9dVXA+X52c9+Fih7cXGxfuGFF7Z7XFxcrA8fPlzfsGFD4PmnnnpKf/rppwPHjz/+uP773//+zP6HCtFMWhAi6mzatIkdO3awePFiAHRdx+l0Bp6fMGFCIJHg6NGjcbvdxMfHAzBixAgOHTrE+eefD8Ds2bOJi4sDjBz6H3zwAUuWLOH999+nsLCQZ555BjByhQ0aNCjwPebNmxfIoKlpGitWrOCjjz5C0zRqa2u7vVNZXFwcM2fObFVXl8tFfn4+YGRfHTNmTLfuLcTJJECIqKPrOt///ve58847230+JiYm8NhkMrU59vv9p7yvoiiA8ab/9NNPM2DAgHavbQkqAGvWrKGgoIC///3vOBwO/vjHP3Ls2LF2X2c2m9E0LXDs8XhOed+WMv3617/mvPPOa/d+QpwJmeYqok5L1sqysjLASBa4ffv2bt3r7bffxuVy4fP5WLduXaBlMW3aNFasWIGqqoCRebikpKTdezQ0NJCSkoLD4aCuri7waR/A4XDQ0NAQOM7IyMDtdgfutX79+g7r+txzzwUCSWNjI/v27etWXYU4mQQIEXUuuOAC7rzzTm677Tbmz5/PvHnz+OCDD7p1rwkTJnDHHXcwd+5ccnJyAluM/upXv0LTNBYsWMC8efO49dZbqaioaPceV111FbW1tcydO5e777671af9iy66iIaGBubPn89jjz2GzWbjvvvu48Ybb+T666/HarWetny33347w4YN45prrmHevHksW7aMAwcOdKuuQpxMprkKcQr33HMPEyZMYMmSJaEuihAhIS0IIYQQ7ZIWhBBCiHZJC0IIIUS7JEAIIYRolwQIIYQQ7ZIAIYQQol0SIIQQQrTr/wewRbufBLzw6wAAAABJRU5ErkJggg==\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
+}