{ "cells": [ { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "# Sujet 6 : Autour du Paradoxe de Simpson" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Contexte :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En 1972-1974, à Whickham, une ville du nord-est de l'Angleterre, située à environ 6,5 kilomètres au sud-ouest de Newcastle upon Tyne, un sondage d'un sixième des électeurs a été effectué afin d'éclairer des travaux sur les maladies thyroïdiennes et cardiaques (Tunbridge et al. 1977). Une suite de cette étude a été menée vingt ans plus tard (Vanderpump et al. 1995). Certains des résultats avaient trait au tabagisme et cherchaient à savoir si les individus étaient toujours en vie lors de la seconde étude. Par simplicité, nous nous restreindrons aux femmes et parmi celles-ci aux 1314 qui ont été catégorisées comme \"fumant actuellement\" ou \"n'ayant jamais fumé\". Il y avait relativement peu de femmes dans le sondage initial ayant fumé et ayant arrêté depuis (162) et très peu pour lesquelles l'information n'était pas disponible (18). La survie à 20 ans a été déterminée pour l'ensemble des femmes du premier sondage." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## L'étude de ce sujet se fera en 3 étapes :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "1. Représenter dans un tableau le nombre total de femmes vivantes et décédées sur la période en fonction de leur habitude de tabagisme. Calculer dans chaque groupe (fumeuses / non fumeuses) le taux de mortalité (le rapport entre le nombre de femmes décédées dans un groupe et le nombre total de femmes dans ce groupe). Analyser ce résultat.\n", "\n", "2. Reprendre la question 1 (effectifs et taux de mortalité) en rajoutant une nouvelle catégorie liée à la classe d'âge. On considérera les classes suivantes : 18-34 ans, 35-54 ans, 55-64 ans, plus de 65 ans. Analyser le résultat.\n", "\n", "3. Etablir une régression logistique en introduisant un variable Death valant 1 ou 0 si la personne est morte ou pas au cours des 20 années entre le premier sondage et la suite de l'étude. Conclure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Etape 1 : Calcul du taux de mortalité pour les fumeuses et les non fumeuses" ] }, { "cell_type": "markdown", "metadata": { "hideCode": true, "hidePrompt": true }, "source": [ "Tout d'abord, il faut commencer par inclure les bibliothèques dont nous aurons besoin." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import statsmodels.api as sm\n", "import numpy as np\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Il faut ensuite charger et lire le fichier" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "data_file = \"Subject6_smoking.csv\"\n", "#data_file = \"https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/blob/master/module3/Practical_session/Subject6_smoking.csv\"" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "scrolled": true }, "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", " \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", "
SmokerStatusAge
0YesAlive21.0
1YesAlive19.3
2NoDead57.5
3NoAlive47.1
4YesAlive81.4
5NoAlive36.8
6NoAlive23.8
7YesDead57.5
8YesAlive24.8
9YesAlive49.5
10YesAlive30.0
11NoDead66.0
12YesAlive49.2
13NoAlive58.4
14NoDead60.6
15NoAlive25.1
16NoAlive43.5
17NoAlive27.1
18NoAlive58.3
19YesAlive65.7
20NoDead73.2
21YesAlive38.3
22NoAlive33.4
23YesDead62.3
24NoAlive18.0
25NoAlive56.2
26YesAlive59.2
27NoAlive25.8
28NoDead36.9
29NoAlive20.2
............
1284YesDead36.0
1285YesAlive48.3
1286NoAlive63.1
1287NoAlive60.8
1288YesDead39.3
1289NoAlive36.7
1290NoAlive63.8
1291NoDead71.3
1292NoAlive57.7
1293NoAlive63.2
1294NoAlive46.6
1295YesDead82.4
1296YesAlive38.3
1297YesAlive32.7
1298NoAlive39.7
1299YesDead60.0
1300NoDead71.0
1301NoAlive20.5
1302NoAlive44.4
1303YesAlive31.2
1304YesAlive47.8
1305YesAlive60.9
1306NoDead61.4
1307YesAlive43.0
1308NoAlive42.1
1309YesAlive35.9
1310NoAlive22.3
1311YesDead62.1
1312NoDead88.6
1313NoAlive39.1
\n", "

1314 rows × 3 columns

\n", "
" ], "text/plain": [ " Smoker Status Age\n", "0 Yes Alive 21.0\n", "1 Yes Alive 19.3\n", "2 No Dead 57.5\n", "3 No Alive 47.1\n", "4 Yes Alive 81.4\n", "5 No Alive 36.8\n", "6 No Alive 23.8\n", "7 Yes Dead 57.5\n", "8 Yes Alive 24.8\n", "9 Yes Alive 49.5\n", "10 Yes Alive 30.0\n", "11 No Dead 66.0\n", "12 Yes Alive 49.2\n", "13 No Alive 58.4\n", "14 No Dead 60.6\n", "15 No Alive 25.1\n", "16 No Alive 43.5\n", "17 No Alive 27.1\n", "18 No Alive 58.3\n", "19 Yes Alive 65.7\n", "20 No Dead 73.2\n", "21 Yes Alive 38.3\n", "22 No Alive 33.4\n", "23 Yes Dead 62.3\n", "24 No Alive 18.0\n", "25 No Alive 56.2\n", "26 Yes Alive 59.2\n", "27 No Alive 25.8\n", "28 No Dead 36.9\n", "29 No Alive 20.2\n", "... ... ... ...\n", "1284 Yes Dead 36.0\n", "1285 Yes Alive 48.3\n", "1286 No Alive 63.1\n", "1287 No Alive 60.8\n", "1288 Yes Dead 39.3\n", "1289 No Alive 36.7\n", "1290 No Alive 63.8\n", "1291 No Dead 71.3\n", "1292 No Alive 57.7\n", "1293 No Alive 63.2\n", "1294 No Alive 46.6\n", "1295 Yes Dead 82.4\n", "1296 Yes Alive 38.3\n", "1297 Yes Alive 32.7\n", "1298 No Alive 39.7\n", "1299 Yes Dead 60.0\n", "1300 No Dead 71.0\n", "1301 No Alive 20.5\n", "1302 No Alive 44.4\n", "1303 Yes Alive 31.2\n", "1304 Yes Alive 47.8\n", "1305 Yes Alive 60.9\n", "1306 No Dead 61.4\n", "1307 Yes Alive 43.0\n", "1308 No Alive 42.1\n", "1309 Yes Alive 35.9\n", "1310 No Alive 22.3\n", "1311 Yes Dead 62.1\n", "1312 No Dead 88.6\n", "1313 No Alive 39.1\n", "\n", "[1314 rows x 3 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = pd.read_csv(data_file)\n", "raw_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Création de 2 DataFrames à partir du contenu du fichier csv :\n", " *nonFumeuses* contient les données des personnes qui ne fument pas (qui ont \"No\" dans la colonne \"Smoker\")\n", " et *fumeuses* contient les données des personnes qui fument (qui ont \"Yes\" dans la colonne \"Smoker\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "#trier = raw_data.sort_values(by = [\"Smoker\"])\n", "masq = raw_data[\"Smoker\"] == \"Yes\"\n", "fumeuses = raw_data.loc[masq]\n", "nonFumeuses = raw_data.loc[raw_data[\"Smoker\"]==\"No\"]\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "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", " \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", "
SmokerStatusAge
0YesAlive21.0
1YesAlive19.3
4YesAlive81.4
7YesDead57.5
8YesAlive24.8
9YesAlive49.5
10YesAlive30.0
12YesAlive49.2
19YesAlive65.7
21YesAlive38.3
23YesDead62.3
26YesAlive59.2
30YesAlive34.6
31YesAlive51.9
32YesAlive49.9
35YesAlive46.7
36YesAlive44.4
37YesAlive29.5
38YesDead33.0
39YesAlive35.6
40YesAlive39.1
42YesAlive35.7
46YesDead44.3
48YesAlive37.5
49YesAlive22.1
53YesAlive39.0
56YesAlive40.1
60YesAlive58.1
61YesAlive37.3
63YesDead36.3
............
1240YesAlive29.7
1243YesAlive40.1
1251YesAlive27.8
1252YesAlive52.4
1253YesAlive27.8
1254YesAlive41.0
1259YesAlive40.8
1260YesAlive20.4
1263YesAlive20.9
1264YesAlive45.5
1269YesAlive38.8
1270YesAlive55.5
1271YesAlive24.9
1273YesAlive55.7
1276YesAlive58.5
1278YesAlive43.7
1282YesAlive51.2
1284YesDead36.0
1285YesAlive48.3
1288YesDead39.3
1295YesDead82.4
1296YesAlive38.3
1297YesAlive32.7
1299YesDead60.0
1303YesAlive31.2
1304YesAlive47.8
1305YesAlive60.9
1307YesAlive43.0
1309YesAlive35.9
1311YesDead62.1
\n", "

582 rows × 3 columns

\n", "
" ], "text/plain": [ " Smoker Status Age\n", "0 Yes Alive 21.0\n", "1 Yes Alive 19.3\n", "4 Yes Alive 81.4\n", "7 Yes Dead 57.5\n", "8 Yes Alive 24.8\n", "9 Yes Alive 49.5\n", "10 Yes Alive 30.0\n", "12 Yes Alive 49.2\n", "19 Yes Alive 65.7\n", "21 Yes Alive 38.3\n", "23 Yes Dead 62.3\n", "26 Yes Alive 59.2\n", "30 Yes Alive 34.6\n", "31 Yes Alive 51.9\n", "32 Yes Alive 49.9\n", "35 Yes Alive 46.7\n", "36 Yes Alive 44.4\n", "37 Yes Alive 29.5\n", "38 Yes Dead 33.0\n", "39 Yes Alive 35.6\n", "40 Yes Alive 39.1\n", "42 Yes Alive 35.7\n", "46 Yes Dead 44.3\n", "48 Yes Alive 37.5\n", "49 Yes Alive 22.1\n", "53 Yes Alive 39.0\n", "56 Yes Alive 40.1\n", "60 Yes Alive 58.1\n", "61 Yes Alive 37.3\n", "63 Yes Dead 36.3\n", "... ... ... ...\n", "1240 Yes Alive 29.7\n", "1243 Yes Alive 40.1\n", "1251 Yes Alive 27.8\n", "1252 Yes Alive 52.4\n", "1253 Yes Alive 27.8\n", "1254 Yes Alive 41.0\n", "1259 Yes Alive 40.8\n", "1260 Yes Alive 20.4\n", "1263 Yes Alive 20.9\n", "1264 Yes Alive 45.5\n", "1269 Yes Alive 38.8\n", "1270 Yes Alive 55.5\n", "1271 Yes Alive 24.9\n", "1273 Yes Alive 55.7\n", "1276 Yes Alive 58.5\n", "1278 Yes Alive 43.7\n", "1282 Yes Alive 51.2\n", "1284 Yes Dead 36.0\n", "1285 Yes Alive 48.3\n", "1288 Yes Dead 39.3\n", "1295 Yes Dead 82.4\n", "1296 Yes Alive 38.3\n", "1297 Yes Alive 32.7\n", "1299 Yes Dead 60.0\n", "1303 Yes Alive 31.2\n", "1304 Yes Alive 47.8\n", "1305 Yes Alive 60.9\n", "1307 Yes Alive 43.0\n", "1309 Yes Alive 35.9\n", "1311 Yes Dead 62.1\n", "\n", "[582 rows x 3 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Affichage\n", "fumeuses" ] }, { "cell_type": "code", "execution_count": 6, "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", " \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", "
SmokerStatusAge
2NoDead57.5
3NoAlive47.1
5NoAlive36.8
6NoAlive23.8
11NoDead66.0
13NoAlive58.4
14NoDead60.6
15NoAlive25.1
16NoAlive43.5
17NoAlive27.1
18NoAlive58.3
20NoDead73.2
22NoAlive33.4
24NoAlive18.0
25NoAlive56.2
27NoAlive25.8
28NoDead36.9
29NoAlive20.2
33NoAlive19.4
34NoAlive56.9
41NoDead69.7
43NoDead75.8
44NoAlive25.3
45NoDead83.0
47NoAlive18.5
50NoAlive82.8
51NoAlive45.0
52NoDead73.3
54NoAlive28.4
55NoDead73.7
............
1262NoAlive41.2
1265NoAlive26.7
1266NoAlive41.8
1267NoAlive33.7
1268NoAlive56.5
1272NoAlive33.0
1274NoAlive25.7
1275NoAlive19.5
1277NoAlive23.4
1279NoAlive34.4
1280NoDead83.9
1281NoAlive34.9
1283NoDead86.3
1286NoAlive63.1
1287NoAlive60.8
1289NoAlive36.7
1290NoAlive63.8
1291NoDead71.3
1292NoAlive57.7
1293NoAlive63.2
1294NoAlive46.6
1298NoAlive39.7
1300NoDead71.0
1301NoAlive20.5
1302NoAlive44.4
1306NoDead61.4
1308NoAlive42.1
1310NoAlive22.3
1312NoDead88.6
1313NoAlive39.1
\n", "

732 rows × 3 columns

\n", "
" ], "text/plain": [ " Smoker Status Age\n", "2 No Dead 57.5\n", "3 No Alive 47.1\n", "5 No Alive 36.8\n", "6 No Alive 23.8\n", "11 No Dead 66.0\n", "13 No Alive 58.4\n", "14 No Dead 60.6\n", "15 No Alive 25.1\n", "16 No Alive 43.5\n", "17 No Alive 27.1\n", "18 No Alive 58.3\n", "20 No Dead 73.2\n", "22 No Alive 33.4\n", "24 No Alive 18.0\n", "25 No Alive 56.2\n", "27 No Alive 25.8\n", "28 No Dead 36.9\n", "29 No Alive 20.2\n", "33 No Alive 19.4\n", "34 No Alive 56.9\n", "41 No Dead 69.7\n", "43 No Dead 75.8\n", "44 No Alive 25.3\n", "45 No Dead 83.0\n", "47 No Alive 18.5\n", "50 No Alive 82.8\n", "51 No Alive 45.0\n", "52 No Dead 73.3\n", "54 No Alive 28.4\n", "55 No Dead 73.7\n", "... ... ... ...\n", "1262 No Alive 41.2\n", "1265 No Alive 26.7\n", "1266 No Alive 41.8\n", "1267 No Alive 33.7\n", "1268 No Alive 56.5\n", "1272 No Alive 33.0\n", "1274 No Alive 25.7\n", "1275 No Alive 19.5\n", "1277 No Alive 23.4\n", "1279 No Alive 34.4\n", "1280 No Dead 83.9\n", "1281 No Alive 34.9\n", "1283 No Dead 86.3\n", "1286 No Alive 63.1\n", "1287 No Alive 60.8\n", "1289 No Alive 36.7\n", "1290 No Alive 63.8\n", "1291 No Dead 71.3\n", "1292 No Alive 57.7\n", "1293 No Alive 63.2\n", "1294 No Alive 46.6\n", "1298 No Alive 39.7\n", "1300 No Dead 71.0\n", "1301 No Alive 20.5\n", "1302 No Alive 44.4\n", "1306 No Dead 61.4\n", "1308 No Alive 42.1\n", "1310 No Alive 22.3\n", "1312 No Dead 88.6\n", "1313 No Alive 39.1\n", "\n", "[732 rows x 3 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Affichage\n", "nonFumeuses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul du nombre **total** de fumeuses (*nbTotalF*) et de non fumeuses (*nbTotalNF*)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le nombre total de fumeuses est de : 582\n", "Le nombre total de non fumeuses est de : 732\n" ] } ], "source": [ "nbTotalF = len(fumeuses.axes[0])\n", "nbTotalNF = len(nonFumeuses.axes[0])\n", "print(\"Le nombre total de fumeuses est de :\", nbTotalF)\n", "print(\"Le nombre total de non fumeuses est de :\", nbTotalNF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul du nombre de **fumeuses décédées** (*nbDecedeesF*)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "139" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nbDecedeesF = len(fumeuses.loc[fumeuses[\"Status\"]==\"Dead\"])\n", "nbDecedeesF" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul du nombre de **non fumeuses décédées** (*nbDecedeesNF*)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "230" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nbDecedeesNF = len(nonFumeuses.loc[nonFumeuses[\"Status\"]==\"Dead\"])\n", "nbDecedeesNF" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul du **taux de mortalité** des fumeuses (*tauxMortF*) et des non fumeuses (*tauxMortNF*)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sur la période donnée, il y a pour les fumeuses un taux de mortalité de : 23.883161512027492 %\n", "et il y a pour les non fumeuses un taux de mortalité de : 31.420765027322407 %\n" ] } ], "source": [ "tauxMortF = nbDecedeesF/nbTotalF*100\n", "tauxMortNF = nbDecedeesNF/nbTotalNF*100\n", "print(\"Sur la période donnée, il y a pour les fumeuses un taux de mortalité de : \", tauxMortF, \"%\")\n", "print(\"et il y a pour les non fumeuses un taux de mortalité de : \", tauxMortNF, \"%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création d'une nouvelle DataFrame pandas (*dt*) qui contient les taux de mortalité selon le statut (fumeuse ou non) en vue de la construction d'un graphique utilisant ces données." ] }, { "cell_type": "code", "execution_count": 11, "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", "
StatuttauxMortalite
0Fumeuses23.883162
1nonFumeuses31.420765
\n", "
" ], "text/plain": [ " Statut tauxMortalite\n", "0 Fumeuses 23.883162\n", "1 nonFumeuses 31.420765" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = {\"tauxMortalite\" : [tauxMortF, tauxMortNF], \"Statut\" : [\"Fumeuses\", \"nonFumeuses\"]}\n", "dt = pd.DataFrame(data = d)\n", "dt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création d'un diagramme en barre pour illustrer les calculs précédents." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "plt.figure(figsize=(8, 5))\n", "plt.bar(dt[\"Statut\"], dt[\"tauxMortalite\"], color=['salmon', 'skyblue'])\n", "\n", "plt.title(\"Taux de mortalité par statut de tabagisme\")\n", "plt.xlabel(\"Statut\")\n", "plt.ylabel(\"Taux de mortalité (%)\")\n", "\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On obtient des résultats assez surprenants dans le sens où, étant donné que l'on nous a souvent répété que fumer est mauvais pour la santé, nous nous attendions à retrouver ce fait dans cette étude.\n", "Or, nous pouvons observer que le résultat des calculs effectués nous montre l'inverse de ce à quoi nous nous attendions : le groupe de femmes qui ne fumaient pas a un taux de mortalité supérieur à celui composé de femmes qui fumaient." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Etape 2 : Calcul du taux de mortalité pour les fumeuses et les non fumeuses selon des classes d'âge" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Première tentative pour calculer le nombre total de fumeuses et de non fumeuses ayant entre 18 et 34 ans" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "179 219\n" ] } ], "source": [ "nb18_34F = len(fumeuses.loc[fumeuses[\"Age\"]<34]) - len(fumeuses.loc[fumeuses[\"Age\"]<18])\n", "nb18_34NF = len(nonFumeuses.loc[nonFumeuses[\"Age\"]<34]) - len(nonFumeuses.loc[nonFumeuses[\"Age\"]<18])\n", "print(nb18_34F, nb18_34NF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul avec une autre méthode du nombre de fumeuses entre 18 et 34 ans et calcul du nombre de fumeuses de appartenant à cet intervalle d'âge qui sont mortes." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "179\n", "5 fumeuses ayant entre 18 et 34 ans lors du premier sondage sont décédées durant la période avant la suite de l'étude\n" ] } ], "source": [ "test = fumeuses.loc[fumeuses[\"Age\"]<34]\n", "t2 = test.loc[test[\"Age\"]>=18]\n", "print(len(t2))\n", "nbDecedees18_34F = len(t2.loc[t2[\"Status\"]==\"Dead\"])\n", "print(nbDecedees18_34F, \"fumeuses ayant entre 18 et 34 ans lors du premier sondage sont décédées durant la période avant la suite de l'étude\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul du taux de mortalité pour les fumeuses entre 18 et 34 ans." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.793296089385475" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tauxMort18_34F = nbDecedees18_34F/nb18_34F*100\n", "tauxMort18_34F" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Une fois les calculs trouvés et testés sur le premier intervalle d'âge \\[18, 34[ , il vaut mieux créer une fonction qui calcule le taux de mortalité pour un intervalle et une DataFrame donnés." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def calculTMparClAge(borneInf, borneSup, data): # la borne supérieure de l'intervalle n'est pas comprise :\n", " t1 = data.loc[data[\"Age\"]=borneInf]\n", " nb = len(t2)\n", " #print(nb)\n", " nbMort = len(t2.loc[t2[\"Status\"]==\"Dead\"])\n", " #print(nbMort)\n", " tauxM = nbMort/nb*100\n", " return tauxM\n", " \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Application de la fonction sur tous les intervalles d'âge" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le taux de mortalité des fumeuses pour la classe d'âge 18-34 est de : 2.793296089385475 %\n", "Le taux de mortalité des non fumeuses pour la classe d'âge 18-34 est de : 2.73972602739726\n" ] } ], "source": [ "tauxMort18_34Fv2 = calculTMparClAge(18, 34, fumeuses)\n", "print(\"Le taux de mortalité des fumeuses pour la classe d'âge 18-34 est de :\", tauxMort18_34Fv2, \"%\")\n", "\n", "tauxMort18_34NF = calculTMparClAge(18, 34, nonFumeuses)\n", "print(\"Le taux de mortalité des non fumeuses pour la classe d'âge 18-34 est de :\", tauxMort18_34NF)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le taux de mortalité des fumeuses pour la classe d'âge 34-54 est de : 17.154811715481173 %\n", "Le taux de mortalité des non fumeuses pour la classe d'âge 34-54 est de : 9.547738693467336 %\n" ] } ], "source": [ "tauxMort34_54F = calculTMparClAge(34, 54, fumeuses)\n", "print(\"Le taux de mortalité des fumeuses pour la classe d'âge 34-54 est de :\", tauxMort34_54F, \"%\")\n", "\n", "tauxMort34_54NF = calculTMparClAge(34, 54, nonFumeuses)\n", "print(\"Le taux de mortalité des non fumeuses pour la classe d'âge 34-54 est de :\", tauxMort34_54NF, \"%\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le taux de mortalité des fumeuses pour la classe d'âge 54-64 est de : 44.34782608695652 %\n", "Le taux de mortalité des non fumeuses pour la classe d'âge 54-64 est de : 32.773109243697476 %\n" ] } ], "source": [ "tauxMort54_64F = calculTMparClAge(54, 64, fumeuses)\n", "print(\"Le taux de mortalité des fumeuses pour la classe d'âge 54-64 est de :\", tauxMort54_64F, \"%\")\n", "\n", "tauxMort54_64NF = calculTMparClAge(54, 64, nonFumeuses)\n", "print(\"Le taux de mortalité des non fumeuses pour la classe d'âge 54-64 est de :\", tauxMort54_64NF, \"%\")" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le taux de mortalité des fumeuses de la classe d'âge 64-150 est de : 85.71428571428571\n", "Le taux de mortalité des fumeuses de la classe d'âge 64-150 est de : 85.12820512820512\n" ] } ], "source": [ "tauxMort64_150F = calculTMparClAge(64, 150, fumeuses)\n", "print(\"Le taux de mortalité des fumeuses de la classe d'âge 64-150 est de :\", tauxMort64_150F)\n", "\n", "tauxMort64_150NF = calculTMparClAge(64, 150, nonFumeuses)\n", "print(\"Le taux de mortalité des fumeuses de la classe d'âge 64-150 est de :\", tauxMort64_150NF)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création d'une nouvelle DataFrame *d2* contenant les classes d'âge suivies de *F* pour fumeuses ou de *NF* pour non fumeuses ainsi que les différents taux de mortalité." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "d2 = {\"classeAge\" : [\"18-34F\", \"18-34NF\", \"34-54F\", \"34-54NF\", \"54-64F\", \"54-64NF\", \"64+F\", \"64+NF\"],\n", " \"tauxMortalite\" : [tauxMort18_34Fv2, tauxMort18_34NF, tauxMort34_54F, tauxMort34_54NF, tauxMort54_64F, tauxMort54_64NF, tauxMort64_150F, tauxMort64_150NF]}\n", "dt2 = pd.DataFrame(data = d2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création du diagramme en barre illustrant les taux de mortalité calculés précédemment selon les classes d'âge." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "plt.figure(figsize=(8, 5))\n", "plt.bar(dt2[\"classeAge\"], dt2[\"tauxMortalite\"], color=['salmon', 'skyblue'])\n", "\n", "plt.title(\"Taux de mortalité par classe d'âge\")\n", "plt.xlabel(\"Classe d'âge (F -> fumeuses et NF -> non fumeuses)\")\n", "plt.ylabel(\"Taux de mortalité (%)\")\n", "\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En faisant des classes d'âge, nous obtenons pour les classes centrales comme 34-54 et 54-64 un résultat totalement opposé à celui de l'étape précédente. Il y a, pour ces 2 classes, significativement plus de morts dans le groupe des fumeuses que dans le groupe de non fumeuses durant la période de temps entre le premier sondage et la suite de l'étude. Ce qui se rapproche plus de ce que nous aurions pu supposer avec seulement nos connaissances.\n", "Nous pouvons donc avancer que l'âge des femmes est une variable non négligeable dans cette étude puisqu'en le prenant en compte, nous obtenons des résultats différents.\n", "Ce qui entrerait en accord avec la description du [paradoxe de simpson](https://fr.wikipedia.org/wiki/Paradoxe_de_Simpson)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Etape 3 : Régression logistique" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ajout d'une colonne Death contenant 1 si la personne est morte pendant la période entre le premier sondage et la suite de l'étude et 0 sinon pour toutes les lignes de la DataFrame." ] }, { "cell_type": "code", "execution_count": 23, "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", " \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", " \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", "
SmokerStatusAgeDeath
0YesAlive21.00
1YesAlive19.30
2NoDead57.51
3NoAlive47.10
4YesAlive81.40
5NoAlive36.80
6NoAlive23.80
7YesDead57.51
8YesAlive24.80
9YesAlive49.50
10YesAlive30.00
11NoDead66.01
12YesAlive49.20
13NoAlive58.40
14NoDead60.61
15NoAlive25.10
16NoAlive43.50
17NoAlive27.10
18NoAlive58.30
19YesAlive65.70
20NoDead73.21
21YesAlive38.30
22NoAlive33.40
23YesDead62.31
24NoAlive18.00
25NoAlive56.20
26YesAlive59.20
27NoAlive25.80
28NoDead36.91
29NoAlive20.20
...............
1284YesDead36.01
1285YesAlive48.30
1286NoAlive63.10
1287NoAlive60.80
1288YesDead39.31
1289NoAlive36.70
1290NoAlive63.80
1291NoDead71.31
1292NoAlive57.70
1293NoAlive63.20
1294NoAlive46.60
1295YesDead82.41
1296YesAlive38.30
1297YesAlive32.70
1298NoAlive39.70
1299YesDead60.01
1300NoDead71.01
1301NoAlive20.50
1302NoAlive44.40
1303YesAlive31.20
1304YesAlive47.80
1305YesAlive60.90
1306NoDead61.41
1307YesAlive43.00
1308NoAlive42.10
1309YesAlive35.90
1310NoAlive22.30
1311YesDead62.11
1312NoDead88.61
1313NoAlive39.10
\n", "

1314 rows × 4 columns

\n", "
" ], "text/plain": [ " Smoker Status Age Death\n", "0 Yes Alive 21.0 0\n", "1 Yes Alive 19.3 0\n", "2 No Dead 57.5 1\n", "3 No Alive 47.1 0\n", "4 Yes Alive 81.4 0\n", "5 No Alive 36.8 0\n", "6 No Alive 23.8 0\n", "7 Yes Dead 57.5 1\n", "8 Yes Alive 24.8 0\n", "9 Yes Alive 49.5 0\n", "10 Yes Alive 30.0 0\n", "11 No Dead 66.0 1\n", "12 Yes Alive 49.2 0\n", "13 No Alive 58.4 0\n", "14 No Dead 60.6 1\n", "15 No Alive 25.1 0\n", "16 No Alive 43.5 0\n", "17 No Alive 27.1 0\n", "18 No Alive 58.3 0\n", "19 Yes Alive 65.7 0\n", "20 No Dead 73.2 1\n", "21 Yes Alive 38.3 0\n", "22 No Alive 33.4 0\n", "23 Yes Dead 62.3 1\n", "24 No Alive 18.0 0\n", "25 No Alive 56.2 0\n", "26 Yes Alive 59.2 0\n", "27 No Alive 25.8 0\n", "28 No Dead 36.9 1\n", "29 No Alive 20.2 0\n", "... ... ... ... ...\n", "1284 Yes Dead 36.0 1\n", "1285 Yes Alive 48.3 0\n", "1286 No Alive 63.1 0\n", "1287 No Alive 60.8 0\n", "1288 Yes Dead 39.3 1\n", "1289 No Alive 36.7 0\n", "1290 No Alive 63.8 0\n", "1291 No Dead 71.3 1\n", "1292 No Alive 57.7 0\n", "1293 No Alive 63.2 0\n", "1294 No Alive 46.6 0\n", "1295 Yes Dead 82.4 1\n", "1296 Yes Alive 38.3 0\n", "1297 Yes Alive 32.7 0\n", "1298 No Alive 39.7 0\n", "1299 Yes Dead 60.0 1\n", "1300 No Dead 71.0 1\n", "1301 No Alive 20.5 0\n", "1302 No Alive 44.4 0\n", "1303 Yes Alive 31.2 0\n", "1304 Yes Alive 47.8 0\n", "1305 Yes Alive 60.9 0\n", "1306 No Dead 61.4 1\n", "1307 Yes Alive 43.0 0\n", "1308 No Alive 42.1 0\n", "1309 Yes Alive 35.9 0\n", "1310 No Alive 22.3 0\n", "1311 Yes Dead 62.1 1\n", "1312 No Dead 88.6 1\n", "1313 No Alive 39.1 0\n", "\n", "[1314 rows x 4 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data[\"Death\"] = raw_data[\"Status\"].apply(lambda x: 1 if x == \"Dead\" else 0) #Usage d'apply pour appliquer la fonction\n", "raw_data #anonyme lambda sur chaque ligne de la DataFrame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création de nouvelles DataFrames contenant les mêmes valeurs que *fumeuses* et *nonFumeuses* ainsi que la colonne Death ajoutée juste au-dessus." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "nonFumeusesv2 = raw_data.loc[raw_data[\"Smoker\"]==\"No\"]\n", "fumeusesv2 = raw_data.loc[raw_data[\"Smoker\"]==\"Yes\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Régression logistique sur le groupe des fumeuses" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.412727\n", " Iterations 7\n", "Fumeuses:\n", " Logit Regression Results \n", "==============================================================================\n", "Dep. Variable: Death No. Observations: 582\n", "Model: Logit Df Residuals: 580\n", "Method: MLE Df Model: 1\n", "Date: Thu, 31 Oct 2024 Pseudo R-squ.: 0.2492\n", "Time: 21:26:13 Log-Likelihood: -240.21\n", "converged: True LL-Null: -319.94\n", " LLR p-value: 1.477e-36\n", "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const -5.5081 0.466 -11.814 0.000 -6.422 -4.594\n", "Age 0.0890 0.009 10.203 0.000 0.072 0.106\n", "==============================================================================\n" ] } ], "source": [ "# Modèle pour les fumeuses\n", "X_fumeuses = sm.add_constant(fumeusesv2['Age']) # Ajout de l'intercept\n", "y_fumeuses = fumeusesv2['Death']\n", "model_fumeuses = sm.Logit(y_fumeuses, X_fumeuses).fit()\n", "\n", "# Affichage du résumé des résultats\n", "print(\"Fumeuses:\\n\", model_fumeuses.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Analyse** des résultats obtenus avec la régression logistique pour les fumeuses :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La p-value (P>|z|) de l'âge est inférieure à 0.005, ce qui signifie que l'âge a un effet significatif sur la probabilité du décès chez les fumeuses. Son coefficient est de 0.0890 et son intervalle de confiance est \\[0.072, 0.106]. Le coefficient étant positif, cela signifie que la probabilité de décès augmente en fonction de l'âge.\n", "Le pseudo R-carré établit la qualité du modèle. Dans le cas de la régression logistique pour les fumeuses, il est de 0.2492, ce qui n'est pas très élevé et signifie donc que le modèle actuel n'est pas d'une très grande qualité. Cependant, cela confirme toujours que l'âge a un certain effet sur la probabilité de décès.\n", "La constante représente la probabilité de base de décès pour les fumeuses lorsqu'on ne prend pas en compte l'âge. Elle est ici de -5.5081." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Régression logistique pour le groupe des non fumeuses" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.354560\n", " Iterations 7\n", "Non-fumeuses:\n", " Logit Regression Results \n", "==============================================================================\n", "Dep. Variable: Death No. Observations: 732\n", "Model: Logit Df Residuals: 730\n", "Method: MLE Df Model: 1\n", "Date: Thu, 31 Oct 2024 Pseudo R-squ.: 0.4304\n", "Time: 21:26:13 Log-Likelihood: -259.54\n", "converged: True LL-Null: -455.62\n", " LLR p-value: 2.808e-87\n", "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const -6.7955 0.479 -14.174 0.000 -7.735 -5.856\n", "Age 0.1073 0.008 13.742 0.000 0.092 0.123\n", "==============================================================================\n" ] } ], "source": [ "# Modèle pour les non-fumeuses\n", "X_non_fumeuses = sm.add_constant(nonFumeusesv2['Age']) # Ajout de l'intercept\n", "y_non_fumeuses = nonFumeusesv2['Death']\n", "model_non_fumeuses = sm.Logit(y_non_fumeuses, X_non_fumeuses).fit()\n", "\n", "# Affichage du résumé des résultats\n", "print(\"Non-fumeuses:\\n\", model_non_fumeuses.summary())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Analyse** des résultats obtenus avec la régression logistique pour les non fumeuses :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La p-value (P>|z|) de l'âge est inférieure à 0.005, ce qui signifie que l'âge a un effet significatif sur la probabilité du décès chez les non fumeuses. Son coefficient est de 0.1073 et son intervalle de confiance est \\[0.092, 0.123]. Le coefficient étant positif, cela signifie que la probabilité de décès augmente en fonction de l'âge.\n", "Dans le cas de la régression logistique pour les non fumeuses, le pseudo R-carré est de 0.4304, ce qui est assez élevé et signifie donc que le modèle actuel est d'assez bonne qualité.\n", "La constante est ici de -6.7955.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Comparaison** des résultats obtenus pour les 2 régressions logistiques réalisées précédemment :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le coefficient de l'âge de la régression logistique pour les non fumeuses est plus élevé que celui de la régression logistique pour les fumeuses, ce qui signifie que l'âge a un effet un peu plus fort sur la probabilité de décès des non fumeuses. \n", "Si l'on ne prend pas en compte l'âge et que l'on regarde les chances de décès de base, c'est-à-dire que l'on regarde les constantes, on observe que celle des non fumeuses est inférieure à celle des fumeuses, ce qui veut dire que la chance de base de décès pour les non fumeuses est plus petite que celle des fumeuses. \n", "Ces résultats suggèrent que l'âge a un effet plus important sur la mortalité des non fumeuses que des fumeuses.\n", "Ce qui pourrait nous faire penser que le tabagisme semble diminuer les effets de l'âge, mais cela peut être dû à un biais dans les donnée ou à un autre facteur qui n'a pas été pris en compte dans cette étude et qui influence plus le groupe des fumeuses que celui des non fumeuses." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création d'une série de valeurs d'âge régulièrement espacées allant de la plus petite à la plus grande avec 100 points intermédiaires." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "age_range = np.linspace(raw_data['Age'].min(), raw_data['Age'].max(), 100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création des prédictions pour les fumeuses *pred_fumeuses* et les non fumeuses *pred_non_fumeuses*" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "pred_fumeuses = model_fumeuses.predict(sm.add_constant(age_range))\n", "\n", "pred_non_fumeuses = model_non_fumeuses.predict(sm.add_constant(age_range))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Création du graphique de probabilité de décès en fonction de l'âge" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "plt.plot(age_range, pred_fumeuses, label=\"Fumeuses\", color=\"salmon\")\n", "plt.plot(age_range, pred_non_fumeuses, label=\"Non Fumeuses\", color=\"skyblue\")\n", "\n", "# Ajout d'intervalles de confiance pour chaque groupe\n", "plt.fill_between(age_range, pred_fumeuses - 1.96 * np.std(pred_fumeuses), pred_fumeuses + 1.96 * np.std(pred_fumeuses), color=\"salmon\", alpha=0.2)\n", "plt.fill_between(age_range, pred_non_fumeuses - 1.96 * np.std(pred_non_fumeuses), pred_non_fumeuses + 1.96 * np.std(pred_non_fumeuses), color=\"skyblue\", alpha=0.2)\n", "\n", "# Mise en forme du graphique\n", "plt.xlabel(\"Âge\")\n", "plt.ylabel(\"Probabilité de décès\")\n", "plt.title(\"Probabilité de décès en fonction de l'âge et du statut (fumeuses ou non fumeuses)\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sur ce graphique, on peut observer que les probabilités de décès pour les fumeuses et les non fumeuses entre 18 et 34 ans et entre 64 et 90 ans sont presques égales, ce qui correspond aux résultats des calculs et au diagramme en barre réalisés à l'étape 2.\n", "Entre 34 et 64 ans, la probabilité de décès des fumeuses est supérieure à celle des non fumeuses, ce qui correspond également aux résultats obtenus à l'étape 2. \n", "D'après ce graphique, la probabilité de décès des fumeuses serait plus élevée que celle des non fumeuses pour un âge allant de 18 à 70 ans puis la tendance s'inverserait. \n", "Cela signifierait que le tabagisme augmente les chances de décès des femmes le pratiquant jusqu'à un certain âge." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "hide_code_all_hidden": true, "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": 4 }