From 8ddadacf6ccfe4c9a0da7e3c49bfbb2c19ac5f93 Mon Sep 17 00:00:00 2001 From: Konrad Hinsen Date: Tue, 26 Mar 2019 11:52:51 +0100 Subject: [PATCH] =?UTF-8?q?Version=20orgmode=20de=20l'analyse=20du=20syndr?= =?UTF-8?q?=C3=B4me=20grippal=20avec=20r=C3=A9sultats?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analyse-syndrome-grippal-orgmode.org | 89 ++++++++++++++++++ module3/ressources/annual-inc-hist.png | Bin 0 -> 16382 bytes module3/ressources/annual-inc-plot.png | Bin 0 -> 21555 bytes module3/ressources/inc-plot-zoom.png | Bin 0 -> 27357 bytes module3/ressources/inc-plot.png | Bin 0 -> 45646 bytes ...nfluenza-like-illness-analysis-orgmode.org | 89 ++++++++++++++++++ 6 files changed, 178 insertions(+) create mode 100644 module3/ressources/annual-inc-hist.png create mode 100644 module3/ressources/annual-inc-plot.png create mode 100644 module3/ressources/inc-plot-zoom.png create mode 100644 module3/ressources/inc-plot.png diff --git a/module3/ressources/analyse-syndrome-grippal-orgmode.org b/module3/ressources/analyse-syndrome-grippal-orgmode.org index 1720b70..c782a54 100644 --- a/module3/ressources/analyse-syndrome-grippal-orgmode.org +++ b/module3/ressources/analyse-syndrome-grippal-orgmode.org @@ -27,11 +27,15 @@ if sys.version_info.major < 3 or sys.version_info.minor < 6: print("Veuillez utiliser Python 3.6 (ou plus) !") #+END_SRC +#+RESULTS: + #+BEGIN_SRC emacs-lisp :results output (unless (featurep 'ob-python) (print "Veuillez activer python dans org-babel (org-babel-do-languages) !")) #+END_SRC +#+RESULTS: + ** R 3.4 Nous n'utilisons que des fonctionnalités de base du langage R, une version antérieure devrait suffire. @@ -40,6 +44,8 @@ Nous n'utilisons que des fonctionnalités de base du langage R, une version ant (print "Veuillez activer R dans org-babel (org-babel-do-languages) !")) #+END_SRC +#+RESULTS: + * Préparation des données Les données de l'incidence du syndrome grippal sont disponibles du site Web du [[http://www.sentiweb.fr/][Réseau Sentinelles]]. Nous les récupérons sous forme d'un fichier en format CSV dont chaque ligne correspond à une semaine de la période d'observation. Nous téléchargeons toujours le jeu de données complet (rien d'autre n'est proposé), qui commence en 1984 et se termine avec une semaine récente. L'URL est: @@ -80,6 +86,13 @@ Regardons ce que nous avons obtenu: table[:5] #+END_SRC +#+RESULTS: +| week | indicator | inc | inc_low | inc_up | inc100 | inc100_low | inc100_up | geo_insee | geo_name | +| 201911 | 3 | 31787 | 26747 | 36827 | 48 | 40 | 56 | FR | France | +| 201910 | 3 | 49871 | 43378 | 56364 | 76 | 66 | 86 | FR | France | +| 201909 | 3 | 88354 | 79564 | 97144 | 134 | 121 | 147 | FR | France | +| 201908 | 3 | 172604 | 160024 | 185184 | 262 | 243 | 281 | FR | France | + ** Recherche de données manquantes Il y a malheureusement beaucoup de façon d'indiquer l'absence d'un point de données. Nous testons ici seulement pour la présence de champs vides. Il faudrait aussi rechercher des valeurs non-numériques dans les colonnes à priori numériques. Nous ne le faisons pas ici, mais une vérification ultérieure capterait des telles anomalies. @@ -94,6 +107,9 @@ for row in table: valid_table.append(row) #+END_SRC +#+RESULTS: +: ['198919', '3', '0', '', '', '0', '', '', 'FR', 'France'] + ** Extraction des colonnes utilisées Il y a deux colonnes qui nous intéressent: la première (~"week"~) et la troisième (~"inc"~). Nous vérifions leurs noms dans l'en-tête, que nous effaçons par la suite. Enfin, nous créons un tableau avec les deux colonnes pour le traitement suivant. #+BEGIN_SRC python :results silent @@ -111,6 +127,21 @@ Regardons les premières et les dernières lignes. Nous insérons ~None~ pour in [('week', 'inc'), None] + data[:5] + [None] + data[-5:] #+END_SRC +#+RESULTS: +| week | inc | +|--------+--------| +| 201911 | 31787 | +| 201910 | 49871 | +| 201909 | 88354 | +| 201908 | 172604 | +| 201907 | 307338 | +|--------+--------| +| 198448 | 78620 | +| 198447 | 72029 | +| 198446 | 87330 | +| 198445 | 135223 | +| 198444 | 68422 | + ** Vérification Il est toujours prudent de vérifier si les données semblent crédibles. Nous savons que les semaines sont données par six chiffres (quatre pour l'année et deux pour la semaine), et que les incidences sont des nombres entiers positifs. #+BEGIN_SRC python :results output @@ -121,6 +152,8 @@ for week, inc in data: print("Valeur suspecte dans la colonne 'inc': ", (week, inc)) #+END_SRC +#+RESULTS: + Pas de problème ! ** Conversions @@ -140,6 +173,21 @@ str_data = [(str(date), str(inc)) for date, inc in converted_data] [('date', 'inc'), None] + str_data[:5] + [None] + str_data[-5:] #+END_SRC +#+RESULTS: +| date | inc | +|------------+--------| +| 1984-10-29 | 68422 | +| 1984-11-05 | 135223 | +| 1984-11-12 | 87330 | +| 1984-11-19 | 72029 | +| 1984-11-26 | 78620 | +|------------+--------| +| 2019-02-11 | 307338 | +| 2019-02-18 | 172604 | +| 2019-02-25 | 88354 | +| 2019-03-04 | 49871 | +| 2019-03-11 | 31787 | + ** Vérification des dates Nous faisons encore une vérification: nos dates doivent être séparées d'exactement une semaine, sauf autour du point manquant. #+BEGIN_SRC python :results output @@ -149,6 +197,9 @@ for date1, date2 in zip(dates[:-1], dates[1:]): print(f"Il y a {date2-date1} entre {date1} et {date2}") #+END_SRC +#+RESULTS: +: Il y a 14 days, 0:00:00 entre 1989-05-01 et 1989-05-15 + ** Passage Python -> R Nous passons au langage R pour inspecter nos données, parce que l'analyse et la préparation de graphiques sont plus concises en R, sans nécessiter aucune bibliothèque supplémentaire. @@ -164,17 +215,32 @@ data$date <- as.Date(data$date) summary(data) #+END_SRC +#+RESULTS: +: date inc +: Min. :1984-10-29 Min. : 0 +: 1st Qu.:1993-06-07 1st Qu.: 5137 +: Median :2002-01-07 Median : 16182 +: Mean :2002-01-06 Mean : 62939 +: 3rd Qu.:2010-08-09 3rd Qu.: 51746 +: Max. :2019-03-11 Max. :1001824 + ** Inspection Regardons enfin à quoi ressemblent nos données ! #+BEGIN_SRC R :results output graphics :file inc-plot.png plot(data, type="l", xlab="Date", ylab="Incidence hebdomadaire") #+END_SRC +#+RESULTS: +[[file:inc-plot.png]] + Un zoom sur les dernières années montre mieux la situation des pics en hiver. Le creux des incidences se trouve en été. #+BEGIN_SRC R :results output graphics :file inc-plot-zoom.png plot(tail(data, 200), type="l", xlab="Date", ylab="Incidence hebdomadaire") #+END_SRC +#+RESULTS: +[[file:inc-plot-zoom.png]] + * Étude de l'incidence annuelle ** Calcul de l'incidence annuelle @@ -201,19 +267,42 @@ inc_annuelle = data.frame(annee = annees, head(inc_annuelle) #+END_SRC +#+RESULTS: +| 1986 | 5100540 | +| 1987 | 2861556 | +| 1988 | 2766142 | +| 1989 | 5460155 | +| 1990 | 5233987 | +| 1991 | 1660832 | + ** Inspection Voici les incidences annuelles en graphique. #+BEGIN_SRC R :results output graphics :file annual-inc-plot.png plot(inc_annuelle, type="p", xlab="Année", ylab="Incidence annuelle") #+END_SRC +#+RESULTS: +[[file:annual-inc-plot.png]] + ** Identification des épidémies les plus fortes Une liste triée par ordre décroissant d'incidence annuelle permet de plus facilement repérer les valeurs les plus élevées: #+BEGIN_SRC R :results output head(inc_annuelle[order(-inc_annuelle$incidence),]) #+END_SRC +#+RESULTS: +: annee incidence +: 4 1989 5460155 +: 5 1990 5233987 +: 1 1986 5100540 +: 28 2013 4182265 +: 25 2010 4085126 +: 14 1999 3897443 + Enfin, un histogramme montre bien que les épidémies fortes, qui touchent environ 10% de la population française, sont assez rares: il y en eu trois au cours des 35 dernières années. #+BEGIN_SRC R :results output graphics :file annual-inc-hist.png hist(inc_annuelle$incidence, breaks=10, xlab="Incidence annuelle", ylab="Nb d'observations", main="") #+END_SRC + +#+RESULTS: +[[file:annual-inc-hist.png]] diff --git a/module3/ressources/annual-inc-hist.png b/module3/ressources/annual-inc-hist.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd5bd5f20a6e95a313ef4aea814b56d1a849126 GIT binary patch literal 16382 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 O$jQ8rE`I##-TwjI`e|?g literal 0 HcmV?d00001 diff --git a/module3/ressources/annual-inc-plot.png b/module3/ressources/annual-inc-plot.png new file mode 100644 index 0000000000000000000000000000000000000000..60d9f9151e48bcb52eb16eec34703fe99b5a533d GIT binary patch literal 21555 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%0AoMnrbXAXd^?+Me12C(ZEK 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 literal 0 HcmV?d00001 diff --git a/module3/ressources/influenza-like-illness-analysis-orgmode.org b/module3/ressources/influenza-like-illness-analysis-orgmode.org index 6c8b47a..9ecafaf 100644 --- a/module3/ressources/influenza-like-illness-analysis-orgmode.org +++ b/module3/ressources/influenza-like-illness-analysis-orgmode.org @@ -26,11 +26,15 @@ if sys.version_info.major < 3 or sys.version_info.minor < 6: print("Please use Python 3.6 (or higher)!") #+END_SRC +#+RESULTS: + #+BEGIN_SRC emacs-lisp :results output (unless (featurep 'ob-python) (print "Please activate python in org-babel (org-babel-do-languages)!")) #+END_SRC +#+RESULTS: + ** R 3.4 We use only basic R functionality, so a earlier version might be OK, but we did not test this. @@ -39,6 +43,8 @@ We use only basic R functionality, so a earlier version might be OK, but we did (print "Please activate R in org-babel (org-babel-do-languages)!")) #+END_SRC +#+RESULTS: + * Data preprocessing The data on the incidence of influenza-like illness are available from the Web site of the [[http://www.sentiweb.fr/][Réseau Sentinelles]]. We download them as a file in CSV format, in which each line corresponds to a week in the observation period. Only the complete dataset, starting in 1984 and ending with a recent week, is available for download. The URL is: @@ -79,6 +85,13 @@ Let's have a look at what we have so far: table[:5] #+END_SRC +#+RESULTS: +| week | indicator | inc | inc_low | inc_up | inc100 | inc100_low | inc100_up | geo_insee | geo_name | +| 201911 | 3 | 31787 | 26747 | 36827 | 48 | 40 | 56 | FR | France | +| 201910 | 3 | 49871 | 43378 | 56364 | 76 | 66 | 86 | FR | France | +| 201909 | 3 | 88354 | 79564 | 97144 | 134 | 121 | 147 | FR | France | +| 201908 | 3 | 172604 | 160024 | 185184 | 262 | 243 | 281 | FR | France | + ** Checking for missing data Unfortunately there are many ways to indicate the absence of a data value in a dataset. Here we check for a common one: empty fields. For completeness, we should also look for non-numerical data in numerical columns. We don't do this here, but checks in later processing steps would catch such anomalies. @@ -93,6 +106,9 @@ for row in table: valid_table.append(row) #+END_SRC +#+RESULTS: +: ['198919', '3', '0', '', '', '0', '', '', 'FR', 'France'] + ** Extraction of the required columns There are only two columns that we will need for our analysis: the first (~"week"~) and the third (~"inc"~). We check the names in the header to be sure we pick the right data. We make a new table containing just the two columns required, without the header. #+BEGIN_SRC python :results silent @@ -110,6 +126,21 @@ Let's look at the first and last lines. We insert ~None~ to indicate to org-mode [('week', 'inc'), None] + data[:5] + [None] + data[-5:] #+END_SRC +#+RESULTS: +| week | inc | +|--------+--------| +| 201911 | 31787 | +| 201910 | 49871 | +| 201909 | 88354 | +| 201908 | 172604 | +| 201907 | 307338 | +|--------+--------| +| 198448 | 78620 | +| 198447 | 72029 | +| 198446 | 87330 | +| 198445 | 135223 | +| 198444 | 68422 | + ** Verification It is always prudent to verify if the data looks credible. A simple fact we can check for is that weeks are given as six-digit integers (four for the year, two for the week), and that the incidence values are positive integers. #+BEGIN_SRC python :results output @@ -120,6 +151,8 @@ for week, inc in data: print("Suspicious value in column 'inc': ", (week, inc)) #+END_SRC +#+RESULTS: + No problem - fine! ** Date conversion @@ -139,6 +172,21 @@ str_data = [(str(date), str(inc)) for date, inc in converted_data] [('date', 'inc'), None] + str_data[:5] + [None] + str_data[-5:] #+END_SRC +#+RESULTS: +| date | inc | +|------------+--------| +| 1984-10-29 | 68422 | +| 1984-11-05 | 135223 | +| 1984-11-12 | 87330 | +| 1984-11-19 | 72029 | +| 1984-11-26 | 78620 | +|------------+--------| +| 2019-02-11 | 307338 | +| 2019-02-18 | 172604 | +| 2019-02-25 | 88354 | +| 2019-03-04 | 49871 | +| 2019-03-11 | 31787 | + ** Date verification We do one more verification: our dates must be separated by exactly one week, except around the missing data point. #+BEGIN_SRC python :results output @@ -148,6 +196,9 @@ for date1, date2 in zip(dates[:-1], dates[1:]): print(f"The difference between {date1} and {date2} is {date2-date1}") #+END_SRC +#+RESULTS: +: The difference between 1989-05-01 and 1989-05-15 is 14 days, 0:00:00 + ** Transfer Python -> R We switch to R for data inspection and analysis, because the code is more concise in R and requires no additional libraries. @@ -163,17 +214,32 @@ data$date <- as.Date(data$date) summary(data) #+END_SRC +#+RESULTS: +: date inc +: Min. :1984-10-29 Min. : 0 +: 1st Qu.:1993-06-07 1st Qu.: 5137 +: Median :2002-01-07 Median : 16182 +: Mean :2002-01-06 Mean : 62939 +: 3rd Qu.:2010-08-09 3rd Qu.: 51746 +: Max. :2019-03-11 Max. :1001824 + ** Inspection Finally we can look at a plot of our data! #+BEGIN_SRC R :results output graphics :file inc-plot.png plot(data, type="l", xlab="Date", ylab="Weekly incidence") #+END_SRC +#+RESULTS: +[[file:inc-plot.png]] + A zoom on the last few years makes the peaks in winter stand out more clearly. #+BEGIN_SRC R :results output graphics :file inc-plot-zoom.png plot(tail(data, 200), type="l", xlab="Date", ylab="Weekly incidence") #+END_SRC +#+RESULTS: +[[file:inc-plot-zoom.png]] + * Study of the annual incidence ** Computation of the annual incidence @@ -201,19 +267,42 @@ annnual_inc = data.frame(year = years, head(annnual_inc) #+END_SRC +#+RESULTS: +| 1986 | 5100540 | +| 1987 | 2861556 | +| 1988 | 2766142 | +| 1989 | 5460155 | +| 1990 | 5233987 | +| 1991 | 1660832 | + ** Inspection A plot of the annual incidence: #+BEGIN_SRC R :results output graphics :file annual-inc-plot.png plot(annnual_inc, type="p", xlab="Année", ylab="Annual incidence") #+END_SRC +#+RESULTS: +[[file:annual-inc-plot.png]] + ** Identification of the strongest epidemics A list sorted by decreasing annual incidence makes it easy to find the most important ones: #+BEGIN_SRC R :results output head(annnual_inc[order(-annnual_inc$incidence),]) #+END_SRC +#+RESULTS: +: year incidence +: 4 1989 5460155 +: 5 1990 5233987 +: 1 1986 5100540 +: 28 2013 4182265 +: 25 2010 4085126 +: 14 1999 3897443 + Finally, a histogram clearly shows the few very strong epidemics, which affect about 10% of the French population, but are rare: there were three of them in the course of 35 years. The typical epidemic affects only half as many people. #+BEGIN_SRC R :results output graphics :file annual-inc-hist.png hist(annnual_inc$incidence, breaks=10, xlab="Annual incidence", ylab="Number of observations", main="") #+END_SRC + +#+RESULTS: +[[file:annual-inc-hist.png]] -- 2.18.1