{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Risk Analysis of the Space Shuttle: Pre-Challenger Prediction of Failure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dans ce notebook nous reproduisons une partie des analyses produites dans *Risk Analysis of the Space Shuttle: Pre-Challenger Prediction of Failure* by *Siddhartha R. Dalal, Edward B. Fowlkes, Bruce Hoadley* published in *Journal of the American Statistical Association*, Vol. 84, No. 408 (Dec., 1989), pp. 945-957 et disponible ici [http://www.jstor.org/stable/2290069](http://www.jstor.org/stable/2290069). \n", "\n", "Dans la quatrième page de cet article, ils indiquent notamment que l'estimation du maximum de vraisemblance sur la régression logistique se basant uniquement sur la température est : $\\hat{\\alpha}=5.085$ et $\\hat{\\beta}=-0.1156$.\n", "Leur erreur asymptotique est $s_{\\hat{\\alpha}}=3.052$ et $s_{\\hat{\\beta}}=0.047$. La qualité de l'ajustement pour ce modèle est $G^2=18.086$ avec 21 degrés de liberté. Nous allons essayer de reproduire ces résultats et une partie des figures présentes dans l'article." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Description technique de l'ordinateur sur lequel est réalisé cette expérience" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nous utilisons Python3 sous windows, et essentiellement les librairies pandas, statsmodels, numpy, matplotlib et seaborn." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]\n", "uname_result(system='Windows', node='DESKTOP-LIEPQJ9', release='10', version='10.0.19041', machine='AMD64', processor='Intel64 Family 6 Model 142 Stepping 12, GenuineIntel')\n", "IPython 8.6.0\n", "IPython.core.release 8.6.0\n", "PIL 9.2.0\n", "PIL.Image 9.2.0\n", "PIL._deprecate 9.2.0\n", "PIL._version 9.2.0\n", "_csv 1.0\n", "_ctypes 1.1.0\n", "decimal 1.70\n", "_pydev_bundle.fsnotify 0.1.5\n", "_pydevd_frame_eval.vendored.bytecode 0.13.0.dev\n", "argparse 1.1\n", "backcall 0.2.0\n", "bottleneck 1.3.5\n", "cffi 1.15.1\n", "colorama 0.4.5\n", "csv 1.0\n", "ctypes 1.1.0\n", "cycler 0.10.0\n", "dateutil 2.8.2\n", "debugpy 1.5.1\n", "decimal 1.70\n", "decorator 5.1.1\n", "defusedxml 0.7.1\n", "distutils 3.8.5\n", "executing 0.8.3\n", "executing.version 0.8.3\n", "http.server 0.6\n", "ipykernel 6.15.2\n", "ipykernel._version 6.15.2\n", "ipython_genutils 0.2.0\n", "ipython_genutils._version 0.2.0\n", "ipywidgets 7.6.5\n", "ipywidgets._version 7.6.5\n", "jedi 0.18.1\n", "joblib 1.1.1\n", "joblib.externals.cloudpickle 2.0.0\n", "joblib.externals.loky 3.0.0\n", "json 2.0.9\n", "jupyter_client 6.1.12\n", "jupyter_client._version 6.1.12\n", "jupyter_core 4.11.2\n", "jupyter_core.version 4.11.2\n", "kiwisolver 1.4.2\n", "kiwisolver._cext 1.4.2\n", "logging 0.5.1.2\n", "lz4 3.1.3\n", "matplotlib 3.5.3\n", "matplotlib_inline 0.1.6\n", "numexpr 2.8.4\n", "numpy 1.21.5\n", "numpy.core 1.21.5\n", "numpy.core._multiarray_umath 3.1\n", "numpy.lib 1.21.5\n", "numpy.linalg._umath_linalg 0.1.5\n", "packaging 21.3\n", "packaging.__about__ 21.3\n", "pandas 1.4.1\n", "parso 0.8.3\n", "patsy 0.5.2\n", "patsy.version 0.5.2\n", "pickleshare 0.7.5\n", "pkg_resources._vendor.appdirs 1.4.3\n", "pkg_resources._vendor.more_itertools 8.12.0\n", "pkg_resources._vendor.packaging 21.3\n", "pkg_resources._vendor.packaging.__about__ 21.3\n", "pkg_resources._vendor.pyparsing 3.0.9\n", "pkg_resources._vendor.appdirs 1.4.3\n", "pkg_resources._vendor.more_itertools 8.12.0\n", "pkg_resources._vendor.packaging 21.3\n", "pkg_resources._vendor.pyparsing 3.0.9\n", "platform 1.0.8\n", "prompt_toolkit 3.0.20\n", "psutil 5.9.0\n", "pure_eval 0.2.2\n", "pure_eval.version 0.2.2\n", "pydevd 2.6.0\n", "pygments 2.11.2\n", "pyparsing 3.0.9\n", "pytz 2022.1\n", "re 2.2.1\n", "scipy 1.9.3\n", "scipy._lib._uarray 0.8.8.dev0+aa94c5a4.scipy\n", "scipy._lib.decorator 4.0.5\n", "scipy.integrate._dop b'$Revision: $'\n", "scipy.integrate._lsoda b'$Revision: $'\n", "scipy.integrate._vode b'$Revision: $'\n", "scipy.interpolate.dfitpack b'$Revision: $'\n", "scipy.linalg._fblas b'$Revision: $'\n", "scipy.linalg._flapack b'$Revision: $'\n", "scipy.linalg._flinalg b'$Revision: $'\n", "scipy.linalg._interpolative b'$Revision: $'\n", "scipy.optimize.__nnls b'$Revision: $'\n", "scipy.optimize._cobyla b'$Revision: $'\n", "scipy.optimize._lbfgsb b'$Revision: $'\n", "scipy.optimize._minpack2 b'$Revision: $'\n", "scipy.optimize._slsqp b'$Revision: $'\n", "scipy.sparse.linalg._eigen.arpack._arpack b'$Revision: $'\n", "scipy.sparse.linalg._isolve._iterative b'$Revision: $'\n", "scipy.special._specfun b'$Revision: $'\n", "scipy.stats._mvn b'$Revision: $'\n", "scipy.stats._statlib b'$Revision: $'\n", "seaborn 0.12.1\n", "seaborn.external.appdirs 1.4.4\n", "seaborn.external.husl 2.1.0\n", "setuptools 65.5.0\n", "distutils 3.8.5\n", "setuptools._vendor.more_itertools 8.8.0\n", "setuptools._vendor.ordered_set 3.1\n", "setuptools._vendor.packaging 21.3\n", "setuptools._vendor.packaging.__about__ 21.3\n", "setuptools._vendor.pyparsing 3.0.9\n", "setuptools._vendor.more_itertools 8.8.0\n", "setuptools._vendor.ordered_set 3.1\n", "setuptools._vendor.packaging 21.3\n", "setuptools._vendor.pyparsing 3.0.9\n", "setuptools.version 65.5.0\n", "six 1.16.0\n", "socketserver 0.4\n", "stack_data 0.2.0\n", "stack_data.version 0.2.0\n", "statsmodels 0.13.2\n", "statsmodels.__init__ 0.13.2\n", "statsmodels.api 0.13.2\n", "statsmodels.tools.web 0.13.2\n", "traitlets 5.1.1\n", "traitlets._version 5.1.1\n", "unittest.mock 1.0\n", "urllib.request 3.8\n", "wcwidth 0.2.5\n", "xmlrpc.client 3.8\n", "zlib 1.0\n", "zmq 23.2.0\n", "zmq.sugar 23.2.0\n", "zmq.sugar.version 23.2.0\n" ] } ], "source": [ "def print_imported_modules():\n", " import sys\n", " for name, val in sorted(sys.modules.items()):\n", " if(hasattr(val, '__version__')): \n", " print(val.__name__, val.__version__)\n", "# else:\n", "# print(val.__name__, \"(unknown version)\")\n", "def print_sys_info():\n", " import sys\n", " import platform\n", " print(sys.version)\n", " print(platform.uname())\n", "\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import statsmodels.api as sm\n", "import seaborn as sns\n", "\n", "print_sys_info()\n", "print_imported_modules()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Chargement et inspection des données\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateCountTemperaturePressureMalfunction
04/12/81666500
111/12/81670501
23/22/82669500
311/11/82668500
44/04/83667500
56/18/82672500
68/30/836731000
711/28/836701000
82/03/846572001
94/06/846632001
108/30/846702001
1110/05/846782000
1211/08/846672000
131/24/856532002
144/12/856672000
154/29/856752000
166/17/856702000
177/2903/856812000
188/27/856762000
1910/03/856792000
2010/30/856752002
2111/26/856762000
221/12/866582001
\n", "
" ], "text/plain": [ " Date Count Temperature Pressure Malfunction\n", "0 4/12/81 6 66 50 0\n", "1 11/12/81 6 70 50 1\n", "2 3/22/82 6 69 50 0\n", "3 11/11/82 6 68 50 0\n", "4 4/04/83 6 67 50 0\n", "5 6/18/82 6 72 50 0\n", "6 8/30/83 6 73 100 0\n", "7 11/28/83 6 70 100 0\n", "8 2/03/84 6 57 200 1\n", "9 4/06/84 6 63 200 1\n", "10 8/30/84 6 70 200 1\n", "11 10/05/84 6 78 200 0\n", "12 11/08/84 6 67 200 0\n", "13 1/24/85 6 53 200 2\n", "14 4/12/85 6 67 200 0\n", "15 4/29/85 6 75 200 0\n", "16 6/17/85 6 70 200 0\n", "17 7/2903/85 6 81 200 0\n", "18 8/27/85 6 76 200 0\n", "19 10/03/85 6 79 200 0\n", "20 10/30/85 6 75 200 2\n", "21 11/26/85 6 76 200 0\n", "22 1/12/86 6 58 200 1" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.read_csv(\"data_shuttle.csv\", sep=',', encoding='utf-8')\n", "data" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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APCIR+Fmx44d+uKLL3T69GldccUVkqTvvvtOAQEB6tq1q2uew+HwTpUAAAA15FG4ufXWW9W4cWO9/PLLuvTSSyWd+WC/0aNHq1evXpoyZYpXiwQAAKgpj+65mT9/vubNm+cKNpJ06aWXau7cubxbCgAA+JRH4aaoqEj/+c9/Ko0XFBSouLjYdlEAAACe8ijc3HHHHRo9erTefPNN/fDDD/rhhx/05ptvKjk5WUOGDPF2jQAAADXm0T03ixcv1tSpUzVixAg5nc4zDxQYqOTkZD311FNeLRAAAKA2PAo3YWFhWrhwoZ566int3btXlmWpXbt2atSokbfrAwAAqBVbH+KXl5envLw8dejQQY0aNZJlWd6qCwAAwCMehZvCwkLdfPPN6tChgwYOHKi8vDxJ0tixY3kbOAAA8CmPws3kyZMVFBSk3NxchYWFucaHDh2qDz74wGvFAQAA1JZH99ysX79e69atU6tWrdzG27dvr4MHD3qlMAAAAE94dObm5MmTbmdszjp69KhCQkJsFwUAAOApj8JN7969tWLFCteyw+FQRUWFnnrqKfXt29drxQEAANSWR5elnnrqKfXp00fbtm1TWVmZHnzwQX3zzTc6duyYsrOzvV0jAABAjXl05ubKK6/Ul19+qeuuu079+vXTyZMnNWTIEO3YsUOXX365t2sEAACosVqfuXE6nUpMTNSSJUs0e/bsi1ETAACAx2p95iYoKEhff/21HA7HxagHAADAFo8uSyUlJWnp0qXergUAAMA2j24oLisr00svvaSsrCx169at0ndKpaene6U4AACA2qpVuNm3b5/atGmjr7/+Wl27dpUkfffdd25zuFwFAAB8qVbhpn379srLy9OGDRsknfm6hWeeeUZRUVEXpTgAAIDaqtU9N+d+6/f777+vkydPerUgAAAAOzy6ofisc8OOJxYuXKi4uDiFhoYqPj5emzdvrtF22dnZCgwM1DXXXGO7BgAAYI5ahRuHw1Hpnho799isXr1akyZN0owZM7Rjxw716tVLAwYMUG5u7gW3+/nnn5WUlKSbb77Z4+cGAABmqtU9N5ZladSoUa4vxzx16pRSUlIqvVtqzZo1NXq89PR0JScna+zYsZKkBQsWaN26dVq0aJHmzZt33u3uu+8+DR8+XAEBAXrnnXdqswsAAMBwtQo3I0eOdFseMWKEx09cVlam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hXADAACMQrgBAABGIdwAAACjEG4AXJDD4bjgz6hRo3xdotf16dNHkyZN8nUZADwU6OsCAPi3vLw81/+vXr1aDz/8sNsXZzZs2NAXZXnE6XQqKCjI2OcDcAZnbgBcUIsWLVw/ERERcjgcbmObNm1SfHy8QkND1bZtW82ePVunT592be9wOLRkyRLdcsstCgsLU6dOnbR161Z9//336tOnjxo1aqSEhATt3bvXtc2sWbN0zTXXaMmSJYqJiVFYWJjuvPNO/fTTT261LV++XJ06dVJoaKg6duyohQsXutYdOHBADodDr7/+uvr06aPQ0FCtXLlShYWFGjZsmFq1aqWwsDB16dJFq1atcm03atQobdy4UU8//bTr7NSBAweUkZGhSy65xO3533nnHTkcjkp1L1u2TG3btlVISIgsy9LPP/+sv/zlL2revLnCw8N10003aefOnV76DQE4F+EGgMfWrVunESNGKDU1Vd9++62WLFmijIwMPfroo27zHnnkESUlJSknJ0cdO3bU8OHDdd9992n69Onatm2bJOn+++932+b777/X66+/rnfffVcffPCBcnJyNH78eNf6F198UTNmzNCjjz6qXbt26bHHHtPf//53vfzyy26P89BDDyk1NVW7du1S//79derUKcXHx+u9997T119/rb/85S+655579Nlnn0mSnn76aSUkJOjee+9VXl6e8vLyFBMTU+OenK37rbfeUk5OjiRp0KBBys/PV2ZmprZv366uXbvq5ptv1rFjx2r8uABqwcdf3AmgHlm+fLkVERHhWu7Vq5f12GOPuc155ZVXrOjoaNeyJOtvf/uba3nr1q2WJGvp0qWusVWrVlmhoaGu5ZkzZ1oBAQHWoUOHXGPvv/++1aBBAysvL8+yLMuKiYmxXnvtNbfnfuSRR6yEhATLsixr//79liRrwYIF1e7XwIEDrSlTpriWb7zxRmvixIkX3HfLsqy3337b+uXL6MyZM62goCCroKDANfbRRx9Z4eHh1qlTp9y2vfzyy60lS5ZUWxuA2uOeGwAe2759uz7//HO3MzXl5eU6deqUSkpKFBYWJkn67W9/61ofFRUlSerSpYvb2KlTp1RUVKTw8HBJUuvWrdWqVSvXnISEBFVUVGj37t0KCAjQoUOHlJycrHvvvdc15/Tp04qIiHCrsVu3bm7L5eXlevzxx7V69WodPnxYpaWlKi0tVaNGjey2Q5IUGxurZs2auZa3b9+uEydOKDIy0m3e//3f/7ldigPgPYQbAB6rqKjQ7NmzNWTIkErrQkNDXf//y5tqz96jUtVYRUXFeZ/r7ByHw+Ga9+KLL+r66693mxcQEOC2fG5omT9/vv75z39qwYIF6tKlixo1aqRJkyaprKzs/DsqqUGDBrIsy23M6XRWmnfu81VUVCg6OlqffPJJpbnn3sMDwDsINwA81rVrV+3evVvt2rXz+mPn5ubqyJEjatmypSRp69atatCggTp06KCoqChddtll2rdvn/785z/X6nE3b96s22+/XSNGjJB0Jnzs2bNHnTp1cs0JDg5WeXm523bNmjVTcXGxTp486QowZ++puZCuXbsqPz9fgYGBatOmTa1qBeAZwg0Ajz388MO65ZZbFBMTozvvvFMNGjTQl19+qa+++kpz58619dihoaEaOXKk/vGPf6ioqEipqam666671KJFC0ln3pmUmpqq8PBwDRgwQKWlpdq2bZuOHz+utLS08z5uu3bt9NZbb2nLli269NJLlZ6ervz8fLdw06ZNG3322Wc6cOCAfvOb36hJkya6/vrrFRYWpr/+9a+aMGGC/v3vfysjI6Pa/fj973+vhIQEDR48WE888YSuuOIKHTlyRJmZmRo8eHCly2YA7OPdUgA81r9/f7333nvKysrS7373O91www1KT09XbGys7cdu166dhgwZooEDByoxMVGdO3d2e6v32LFj9dJLLykjI0NdunTRjTfeqIyMDMXFxV3wcf/+97+ra9eu6t+/v/r06aMWLVpo8ODBbnOmTp2qgIAAXXnllWrWrJlyc3PVpEkTrVy5UpmZma63j8+aNava/XA4HMrMzFTv3r01ZswYdejQQXfffbcOHDjguv8IgHc5rHMvIgOAj82aNUvvvPNOjS77AMC5OHMDAACMQrgBAABG4bIUAAAwCmduAACAUQg3AADAKIQbAABgFMINAAAwCuEGAAAYhXADAACMQrgBAABGIdwAAACjEG4AAIBR/h9DigUvvZMUYwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "pd.set_option('mode.chained_assignment',None) # this removes a useless warning from pandas\n", "import matplotlib.pyplot as plt\n", "\n", "data[\"Frequency\"]=data.Malfunction/data.Count\n", "data.plot(x=\"Temperature\",y=\"Frequency\",kind=\"scatter\",ylim=[0,1])\n", "plt.grid(True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Régression logistique\n", "\n", "On assume que les joints toriques défaillent indépendamment avec la même probabilité, qui dépend uniquement de la température. Une régression logistique va nous permettre d'estimer l'influence de cette dernière." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Generalized Linear Model Regression Results
Dep. Variable: Frequency No. Observations: 23
Model: GLM Df Residuals: 21
Model Family: Binomial Df Model: 1
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -3.9210
Date: Thu, 13 Jul 2023 Deviance: 3.0144
Time: 15:31:34 Pearson chi2: 5.00
No. Iterations: 6 Pseudo R-squ. (CS): 0.04355
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [0.025 0.975]
Intercept 5.0850 7.477 0.680 0.496 -9.570 19.740
Temperature -0.1156 0.115 -1.004 0.316 -0.341 0.110
" ], "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, 13 Jul 2023 Deviance: 3.0144\n", "Time: 15:31:34 Pearson chi2: 5.00\n", "No. Iterations: 6 Pseudo R-squ. (CS): 0.04355\n", "Covariance Type: nonrobust \n", "===============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "-------------------------------------------------------------------------------\n", "Intercept 5.0850 7.477 0.680 0.496 -9.570 19.740\n", "Temperature -0.1156 0.115 -1.004 0.316 -0.341 0.110\n", "===============================================================================\n", "\"\"\"" ] }, "execution_count": 16, "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": [ "L'estimation du maximum de vraisemblance de l'intercept et de la température sont donc $\\hat{\\alpha}=5.0850$ et $\\hat{\\beta}=-0.1156$. Cela correspond bien aux valeurs de l'article (à un arrondi près). Les erreurs sont $s_{\\hat{\\alpha}} = 7.477$ et $s_{\\hat{\\beta}} = 0.115$, ce qui est différent des valeurs de l'article ($3.052$ and $0.04702$). \n", "La déviation est de $3.01444$ avec 21 degrés de liberté. C'est encore une fois différent. Il est nécessaire de spécifier que chaque observation correspond en réalisté à 6 observations pour chaque lancer de fusée. Cela peut modifier la variance de l'estimation." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
Generalized Linear Model Regression Results
Dep. Variable: Frequency No. Observations: 23
Model: GLM Df Residuals: 21
Model Family: Binomial Df Model: 1
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -23.526
Date: Thu, 13 Jul 2023 Deviance: 18.086
Time: 15:31:36 Pearson chi2: 30.0
No. Iterations: 6 Pseudo R-squ. (CS): 0.2344
Covariance Type: nonrobust
\n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "\n", " \n", "\n", "
coef std err z P>|z| [0.025 0.975]
Intercept 5.0850 3.052 1.666 0.096 -0.898 11.068
Temperature -0.1156 0.047 -2.458 0.014 -0.208 -0.023
" ], "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, 13 Jul 2023 Deviance: 18.086\n", "Time: 15:31:36 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": 17, "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": [ "On retrouve alors bien les bonnes erreurs asymptotiques $s_{\\hat{\\alpha}}=3.052$ et $s_{\\hat{\\beta}}=0.047$.\n", "La qualité de l'ajustement est alors de $G^2=18.086$ avec 21 degrés de liberté.\n", "\n", "**Nous avons ainsi complètement reproduit les résultats de l'article de Dalal *et al.***." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,\n", " 1., 1.])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_pred = pd.DataFrame({'Temperature': np.linspace(start=30, stop=90, num=121), 'Intercept': 1})\n", "logmodel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prédiction de la probabilité de défaillance\n", "La température au moment du lancement était de 31°F. Essayons d'estimer la probabilité de défaillance pour une telle température en utilisant notre modèle :\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "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[['Intercept', 'Temperature']])\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": [ "Ce graphique est identique à la Figure 4 de of Dalal *et al.* **J'ai réussi à la reproduire**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculer et afficher l'incertitude" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A partir de la documentation [Seaborn](https://seaborn.pydata.org/generated/seaborn.regplot.html), j'utilise regplot." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAG6CAYAAAALTELXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTyUlEQVR4nO3deXwV1f0//tfMXXOzJ5AFwiYIIRACyCogiKL+wKLywVYsSLWirQtFWsF+XaBqxVaQFgFxAbEuFRWXqohFrXUpuwoiBGQLBLKRPXe/M+f3x829JCRAcu8kN2Fez8cDITNzZ859eyGvnHPmjCSEECAiIiLSKTnSDSAiIiKKJIYhIiIi0jWGISIiItI1hiEiIiLSNYYhIiIi0jWGISIiItI1hiEiIiLSNYYhIiIi0jWGISIiItK1NhWGVq5ciRkzZpzzmPLycvz+97/H0KFDMXToUDz88MNwOByt1EIiIiK60LSZMLR27VosW7bsvMfNnj0bx48fDx7/zTff4E9/+lMrtJCIiIguRMZIN6CoqAgPPvggdu7ciR49epzz2O+++w7btm3Dhg0b0LNnTwDAo48+ittvvx1z585FampqazSZiIiILiAR7xn68ccfER8fj3/961/Iyck557E7duxAx44dg0EIAIYNGwZJkrBz586WbioRERFdgCLeMzR+/HiMHz++SccWFRUhPT293jaz2YyEhAQUFBS0RPOIiIjoAhfxnqHmcDqdMJvNDbZbLBa43e6QzyuECKdZRERE1I5FvGeoOaxWKzweT4PtbrcbNpst5PNKkoSqKicURQ2nebpnMMiIi4tiLcPEOmqHtdQOa6kN1lE78fFRkGVt+nTaVRhKS0vDp59+Wm+bx+NBRUVF2JOnFUWFz8cPphZYS22wjtphLbXDWmqDdQyfloM67WqYbOjQoSgsLEReXl5w29atWwEAgwcPjlSziIiIqB1r02FIURSUlJTA5XIBAHJycjB48GDcd9992L17N7Zs2YIFCxbg+uuv5231REREFJI2HYYKCgowevRobNiwAYB/bs/y5cuRkZGBmTNnYs6cObjsssuwcOHCyDaUiIiI2i1J8FYqAEB5uZ3jt2EyGmUkJkazlmFiHbXDWmqHtdQG66idpKRoGAza9Om06Z4hIiIiopbGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6FvEwpKoqli1bhjFjxiAnJwe33XYb8vLyznp8SUkJ5s6di+HDh2P48OH43e9+h8LCwlZsMREREV1IIh6GVq5ciTfeeAOPP/441q1bB0mSMGvWLHg8nkaPv++++1BQUICXXnoJL730EgoLC3HXXXe1cquJiIjoQhHRMOTxeLBmzRrce++9GDt2LDIzM7F06VIUFRVh06ZNDY6vqqrC9u3bMWvWLGRlZSErKwt33HEHfvzxR5SXl0fgHRAREVF7Z4zkxXNzc2G32zFixIjgtri4OGRlZWH79u2YNGlSveMtFgtsNhvee+89DBs2DADw/vvvo3v37oiPjw+rLQZDxDvJ2r1ADVnL8LCO2mEttcNaaoN11I4kaXeuiIahwFyf9PT0ettTUlJQUFDQ4HiLxYI///nPePTRRzFkyBBIkoSOHTvi1VdfhSyH98GKi4sK6/V0GmupDdZRO6yldlhLbbCObUtEw5DT6QQAmM3metstFgsqKysbHC+EwP79+zFo0CDcfvvtUBQFS5cuxd13341//vOfiImJCbktVVVOKIoa8uvJ/5NOXFwUaxkm1lE7rKV2WEttsI7aiY+PCrsjJCCiYchqtQLwzx0K/BkA3G43oqIapuaPPvoIr7/+Ov7zn/8Eg8+qVatw+eWXY/369Zg5c2bIbVEUFT4fP5haYC21wTpqh7XUDmupDdYxfEJod66IDloGhseKi4vrbS8uLkZaWlqD43fu3IkePXrU6wGKj49Hjx49cPTo0RZtKxEREV2YIhqGMjMzERMTg61btwa3VVVVYe/evRgyZEiD49PT05GXlwe32x3c5nQ6kZ+fj27durVKm4mIiOjCEtEwZDabMX36dCxevBifffYZcnNzcd999yEtLQ0TJkyAoigoKSmBy+UCAFx//fUAgDlz5iA3Nzd4vNlsxpQpUyL4ToiIiKi9ivi9fbNnz8bUqVPx0EMPYdq0aTAYDFi9ejXMZjMKCgowevRobNiwAYD/LrPXX38dQgjMnDkTt956K0wmE/75z38iLi4uwu+EiIiI2iNJCC2nILVf5eV2TmYLk9EoIzExmrUME+uoHdZSO6ylNlhH7SQlRWu2XlPEe4aIiIiIIolhiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHSNYYiIiIh0jWGIiIiIdI1hiIiIiHQt4mFIVVUsW7YMY8aMQU5ODm677Tbk5eWd9Xiv14slS5ZgzJgxGDhwIKZPn459+/a1YouJiIjoQhLxMLRy5Uq88cYbePzxx7Fu3TpIkoRZs2bB4/E0evzChQvx9ttv47HHHsP69euRkJCAWbNmobq6upVbTkRERBeCiIYhj8eDNWvW4N5778XYsWORmZmJpUuXoqioCJs2bWpw/PHjx/H2229j0aJFGDduHHr27IknnngCZrMZe/bsicA7ICIiovbOGMmL5+bmwm63Y8SIEcFtcXFxyMrKwvbt2zFp0qR6x3/99deIi4vDZZddVu/4zz//POy2GAwR7yRr9wI1ZC3Dwzpqh7XUDmupDdZRO5Kk3bkiGoYKCwsBAOnp6fW2p6SkoKCgoMHxR48eRZcuXfDvf/8bzz//PIqKipCVlYUHHngAPXv2DKstcXFRYb2eTmMttcE6aoe11A5rqQ3WsW2JaBhyOp0AALPZXG+7xWJBZWVlg+Nrampw7NgxrFy5EvPmzUNcXByeffZZ3HzzzdiwYQOSk5NDbktVlROKoob8evL/pBMXF8Vahol11A5rqR3WUhuso3bi46Mgy9r0sIUUhlasWIEpU6Y06NFpLqvVCsA/dyjwZwBwu92IimqYmk0mE6qrq7F06dJgT9DSpUsxduxYvPvuu7j99ttDbouiqPD5+MHUAmupDdZRO6yldlhLbbCO4RNCu3OFFKlefvllXHHFFbj11lvxwQcfwO12h3TxQJgqLi6ut724uBhpaWkNjk9LS4PRaKw3JGa1WtGlSxfk5+eH1AYiIiLSt5DC0Ndff43FixfDZDLhgQcewKhRo/DII4/gu+++a9Z5MjMzERMTg61btwa3VVVVYe/evRgyZEiD44cMGQKfz4cffvghuM3lcuH48ePo1q1bKG+FiIiIdC6kYTKz2YyJEydi4sSJKC4uxr/+9S98/PHHeOutt9C9e3dMmTIFU6ZMOe8cHrPZjOnTp2Px4sVISkpC586d8dRTTyEtLQ0TJkyAoigoKytDbGwsrFYrhgwZgksvvRTz58/Ho48+ioSEBCxbtgwGgwHXXXddSAUgIiIifQt75lFKSgpuueUW/OY3v8GQIUNw5MgRPP300xg7diwefvhh1NTUnPP1s2fPxtSpU/HQQw9h2rRpMBgMWL16NcxmMwoKCjB69Ghs2LAhePwzzzyDYcOG4Z577sHUqVNRU1ODf/zjH0hKSgr3rRAREZEOSUKEPgVp27ZteP/99/HJJ5/A4XBgxIgRmDp1KsaOHYv//ve/ePTRR5GdnY0XXnhByza3iPJyOyezhclolJGYGM1ahol11A5rqR3WUhuso3aSkqI1W68ppGGypUuX4oMPPkBBQQHS09Pxq1/9ClOmTEGnTp2Cx0ycOBH79+/HP/7xD00aSkRERNQSQgpDL730Eq688ko89thjuPTSSyGdZRnI7OxszJkzJ5z2EREREbWokMLQV199hfj4eJSUlASDUGVlJQoKCpCZmRk87sorr9SmlUREREQtJKTBNlmWceutt2LGjBnBbbt27cL111+Pu+66K7iyNBEREVFbF1IYeuqpp/DTTz9h7ty5wW0jRozAypUrsWfPHixbtkyzBhIRERG1pJDC0Oeff4758+fjqquuCm4zm80YP3485s6di48//lizBhIRERG1pJDCkN1uR1xcXKP7kpOTUV5eHlajiIiIiFpLSGGoX79+WL9+faP73nnnHfTp0yesRhERERG1lpDuJvvtb3+LWbNmYcqUKZgwYQKSk5NRVlaGzz77DD/++CNWrVqldTuJiIiIWkRIYWjUqFF49tlnsWzZMixbtgxCCEiShL59+2LlypW47LLLtG4nERERUYsIKQwBwNixYzF27Fi43W5UVFQgNjYWNptNy7YRERERtbiQwxDgX2jR6XRCVVVUVFSgoqIiuK/uozmIiIiI2qqQwtDRo0fxwAMPYNeuXWc9Zt++fSE3ioiIiKi1hBSGHnvsMRw9ehT33HMP0tLSIMvaPDWWiIiIqLWFFIZ27NiBP//5z7j22mu1bg8RERFRqwqpSycmJgbx8fFat4WIiIio1YUUhq677jq89tprEEJo3R4iIiKiVhXSMFlUVBR27tyJCRMmIDs7G1artd5+SZLwxBNPaNJAIiIiopYUUhh69913ERsbC1VVG72jTJKksBtGRERE1BpCCkOff/651u0gIiIiioiw7olXVRW5ubn48ssvUVNTU2/RRSIiIqL2IOQVqN9//30sWbIExcXFkCQJb7/9Np555hmYTCYsWbIEZrNZy3YSERERtYiQeoY2bNiA+fPnY8SIEVi6dGnwrrKrrroKX375JVauXKlpI4mIiIhaSkg9Q6tWrcJNN92EhQsXQlGU4PYpU6agtLQUb775JubMmaNVG4mIiIhaTEg9Q0eOHMGECRMa3ZeTk4OioqKwGkVERETUWkIKQ8nJyTh06FCj+w4dOoTk5OSwGkVERETUWkIKQxMnTsSyZcuwceNGeDweAP61hfbs2YOVK1fimmuu0bSRRERERC0lpDlDc+bMwYEDBzBnzpzgE+tnzJgBh8OBIUOG4He/+52mjSQi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AQBVVVWoqKgAAEyaNKnR1xYVFQX/HAhgdb300kt47rnnUF5ejg4dOqBfv36IiopqEMhCdeY1KyoqUFJSctbhtpKSEsTHx2tybSI6P4YhIgpbbGwsLr300uDwV11Gozb/zAQCT0BgLlJycjLi4uIAAC+//DKio6MbvLZTp05nPe8HH3yAJ598Er///e8xderUYHj73e9+hx9++OGsr5MkCYB/4nZddru90TbUFRsbi+7du2Px4sWN7s/IyDjn64lIWxwmI6KwDRs2DAcPHkTfvn2RnZ2N7Oxs9O/fH2vXrsWmTZs0ucaZCzpu3LgRnTt3RteuXTF06FAAQHl5efD62dnZqKiowN/+9rcGQaqunTt3IjY2FnfccUcwCNntduzcubNe0Kk7zAWc7uEqKCgIbqusrMShQ4fO+16GDRuGgoICJCcn12vv5s2b8eKLL8JgMJz3HESkHfYMEVHY7rrrLtx000248847MW3aNFgsFqxbtw6ffvopli1bpsk11q5dC6vVioEDB+Lf//43/vOf/2DJkiUAgN69e2Py5Ml4+OGHceLECfTv3x9HjhzB0qVLkZGRge7du5/1vAMGDMA///lPPPnkk7j88stRXFyM1atX49SpU/WGquLi4vDdd99h8+bNyMrKQp8+fZCeno7ly5cjNjYWsizj+eefb9KQ35QpU/Dqq6/i1ltvxW9+8xukp6fjf//7H1544QVMnz4dJpMp7HoRUdMxDBFR2DIzM/Haa69h6dKlmDdvHoQQ6N27N1asWIErrrhCk2v8v//3//Duu+/iueeew0UXXYRly5bh6quvDu5ftGgRnnvuObzxxhsoLCxEcnIyJk6ciDlz5pyzp+WGG25Afn4+1q9fj9dffx2pqakYO3Ysbr75Zjz88MM4ePAgevXqhV/+8pfYs2cPZs2ahUWLFuFnP/sZli1bhieeeAJz585Fhw4dMHPmTBw+fBhHjhw553ux2Wx47bXXsGTJEjz11FOorq5G586d8fvf/x633XabJvUioqbj4ziIqE3bunUrbrnlFvzjH//A8OHDI90cIroAcc4QERER6RrDEBEREekah8mIiIhI19gzRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES6xjBEREREusYwRERERLrGMERERES69v8DZQZ0kR6hSc4AAAAASUVORK5CYII=", "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": [ "**Je pense avoir réussi à calculer et afficher correctement le graphe d'incertitude de ma prédiction.**" ] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }