{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Autour du Paradoxe de Simpson" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import pandas as pd" ] }, { "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": [ "Les données de ces études sont disponibles sur le gitlab de l'inria dans un [document csv](https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/blob/master/module3/Practical_session/Subject6_smoking.csv). Dans ce document, chaque ligne indique si la personne fume ou non, si elle est vivante ou décédée au moment de la seconde étude, et son âge lors du premier sondage. Nous téléchargeons toujours l'ensemble complet des données du document.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data_url = \"https://gitlab.inria.fr/learninglab/mooc-rr/mooc-rr-ressources/-/raw/master/module3/Practical_session/Subject6_smoking.csv\" " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour nous protéger contre une éventuelle disparition ou modification du serveur du gitlab, nous faisons une copie locale de ce jeux de données que nous préservons avec notre analyse. Il est inutile et même risquée de télécharger les données à chaque exécution, car dans le cas d'une panne nous pourrions remplacer nos données par un fichier défectueux. Pour cette raison, nous téléchargeons les données seulement si la copie locale n'existe pas." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "data_file = \"survey-data-subject6.csv\"\n", "\n", "import os\n", "import urllib.request\n", "if not os.path.exists(data_file):\n", " urllib.request.urlretrieve(data_url, data_file)" ] }, { "cell_type": "code", "execution_count": 4, "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", "
YesAlive21
0YesAlive19.3
1NoDead57.5
2NoAlive47.1
3YesAlive81.4
4NoAlive36.8
5NoAlive23.8
6YesDead57.5
7YesAlive24.8
8YesAlive49.5
9YesAlive30.0
10NoDead66.0
11YesAlive49.2
12NoAlive58.4
13NoDead60.6
14NoAlive25.1
15NoAlive43.5
16NoAlive27.1
17NoAlive58.3
18YesAlive65.7
19NoDead73.2
20YesAlive38.3
21NoAlive33.4
22YesDead62.3
23NoAlive18.0
24NoAlive56.2
25YesAlive59.2
26NoAlive25.8
27NoDead36.9
28NoAlive20.2
29YesAlive34.6
............
1283YesDead36.0
1284YesAlive48.3
1285NoAlive63.1
1286NoAlive60.8
1287YesDead39.3
1288NoAlive36.7
1289NoAlive63.8
1290NoDead71.3
1291NoAlive57.7
1292NoAlive63.2
1293NoAlive46.6
1294YesDead82.4
1295YesAlive38.3
1296YesAlive32.7
1297NoAlive39.7
1298YesDead60.0
1299NoDead71.0
1300NoAlive20.5
1301NoAlive44.4
1302YesAlive31.2
1303YesAlive47.8
1304YesAlive60.9
1305NoDead61.4
1306YesAlive43.0
1307NoAlive42.1
1308YesAlive35.9
1309NoAlive22.3
1310YesDead62.1
1311NoDead88.6
1312NoAlive39.1
\n", "

1313 rows × 3 columns

\n", "
" ], "text/plain": [ " Yes Alive 21\n", "0 Yes Alive 19.3\n", "1 No Dead 57.5\n", "2 No Alive 47.1\n", "3 Yes Alive 81.4\n", "4 No Alive 36.8\n", "5 No Alive 23.8\n", "6 Yes Dead 57.5\n", "7 Yes Alive 24.8\n", "8 Yes Alive 49.5\n", "9 Yes Alive 30.0\n", "10 No Dead 66.0\n", "11 Yes Alive 49.2\n", "12 No Alive 58.4\n", "13 No Dead 60.6\n", "14 No Alive 25.1\n", "15 No Alive 43.5\n", "16 No Alive 27.1\n", "17 No Alive 58.3\n", "18 Yes Alive 65.7\n", "19 No Dead 73.2\n", "20 Yes Alive 38.3\n", "21 No Alive 33.4\n", "22 Yes Dead 62.3\n", "23 No Alive 18.0\n", "24 No Alive 56.2\n", "25 Yes Alive 59.2\n", "26 No Alive 25.8\n", "27 No Dead 36.9\n", "28 No Alive 20.2\n", "29 Yes Alive 34.6\n", "... ... ... ...\n", "1283 Yes Dead 36.0\n", "1284 Yes Alive 48.3\n", "1285 No Alive 63.1\n", "1286 No Alive 60.8\n", "1287 Yes Dead 39.3\n", "1288 No Alive 36.7\n", "1289 No Alive 63.8\n", "1290 No Dead 71.3\n", "1291 No Alive 57.7\n", "1292 No Alive 63.2\n", "1293 No Alive 46.6\n", "1294 Yes Dead 82.4\n", "1295 Yes Alive 38.3\n", "1296 Yes Alive 32.7\n", "1297 No Alive 39.7\n", "1298 Yes Dead 60.0\n", "1299 No Dead 71.0\n", "1300 No Alive 20.5\n", "1301 No Alive 44.4\n", "1302 Yes Alive 31.2\n", "1303 Yes Alive 47.8\n", "1304 Yes Alive 60.9\n", "1305 No Dead 61.4\n", "1306 Yes Alive 43.0\n", "1307 No Alive 42.1\n", "1308 Yes Alive 35.9\n", "1309 No Alive 22.3\n", "1310 Yes Dead 62.1\n", "1311 No Dead 88.6\n", "1312 No Alive 39.1\n", "\n", "[1313 rows x 3 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = pd.read_csv(data_file, skiprows=1)\n", "raw_data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le document comporte trois colonnes : la première colonne indique leur habitude de tabagisme, la deuxième renseigne si la personne est vivante ou décédée au moment de la seconde étude et enfin, la troisième colonne indique leur âge lors de la première étude" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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 }