-
Notifications
You must be signed in to change notification settings - Fork 0
/
covid19.Rmd
272 lines (185 loc) · 13.8 KB
/
covid19.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
---
title: "Une étude de la réactivité de la France dans la pandémie Covid19"
author: |
| Julien Gossa
| Université de Strasbourg
date: "13/04/2020"
output:
html_document:
keep_md: yes
number_sections: true
pdf_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE, fig.asp = 0.5)
library(kableExtra)
library(ggthemes)
source("covid19.R")
```
_Attention : Ce travail se base sur un [unique jeu de données](https://ocgptweb.azurewebsites.net/CSVDownload), et les résultats n'ont pas été vérifiés par un tiers. Les sources sont disponibles [ici](https://github.com/juliengossa/covid19)._
Le 28 mars 2020, M. Philippe, Premier ministre Français, déclarait « _Je ne laisserai personne dire qu'il y a eu du retard sur les mesures de confinement_ » [ref](https://www.huffingtonpost.fr/entry/direct-coronavirus-lepidemie-setend-la-moitie-du-monde-en-confinement_fr_5e7e3310c5b6cb9dc19f6953). Peu après apparaissait sur les réseaux sociaux une table présentant les délais entre le premier cas de décés dû au Covid19 et différentes mesures pour différents pays.
![](table.jpeg "Table délais réseaux sociaux")
Cette table montre un délais de réponse particulièrement élevé pour la France, comparativement aux autres pays. Ce document a pour objectifs de
1. reproduire cette table pour vérifier la véracité de ses données ;
1. contrôler le biais du choix du point de référence temporel ;
1. contrôler le biais des choix de l'échantillon d'indicateurs et de pays ;
1. contribuer à la réflexion sur les points de référence temporel.
# Source des données
La source des données de cette table semble être une étude mennée par la _Blavatnik School of Government_ de l'Université d'Oxford : « _Variation in government responses to COVID-19_ » [ref](https://www.bsg.ox.ac.uk/research/publications/variation-government-responses-covid-19).
Cette étude propose 13 indicateurs, déclinés en deux dimensions : le niveau de mesure (« pas de mesure », « recommandé », « obligatoire »), et son assiette (« ciblé », « général »). Elle ajoute des informations comme le nombre de cas confirmés et le nombre de décès confirmés.
Ces indicateurs ne correspondent pas exactement à ceux présentés dans la table. Notamment, on n'y retrouve pas les distinctions « magasins » ou « production », et « vitale » ou « non vitales ».
# Reproduction
Pour reproduire cette table, on peut calculer 5 mesures, plus proches de la source des données, en considérant la date des mesures obligatoires et générales :
- Annulations d'évènements
- Fermeture des écoles
- Fermeture des lieux de travail
- Restriction des déplacements
- Restriction des voyages
En calculant le délais entre la date du premier cas de décès confirmé et la date de ces mesures, il est possible de produire la table suivante :
```{r table}
covid.deaths_1$table %>%
kable(col.names = c("Pays", labels[c(2:4,6:7)]),
caption = "Nombre de jours entre la date du premier décès confirmé, et la mise en œuvre de différentes mesures")
```
On retrouve alors des données très similaires, mais pas tout à fait identiques. Notamment :
- toutes les valeurs sont légèrement différentes ;
- on obtient des délais négatifs lorsque la mesure est prise avant le premier décès confirmé ;
- les données sur le nombre de décès n'est pas dispobnibles la République Tchèque.
Un traitement manuel de certaines données peut possiblement mener à ce type de différences, qui ne sont pas significatives. On peut donc, sous angle, valider les données de la table, en conservant certaines réserves.
Pour confirmer ou infirmer les conclusions de cette table, il convient de vérifier deux choses : le changement du point de référence, et l'extension des données à d'autres pays et d'autres indicateurs.
# Changement du point de référence
## Point de référence : 10 premiers cas confirmés
Le point de référence généralement utilisé pour étudier la pandémie n'est pas la date du premier décès confirmé, mais la date où 10 cas ont été confirmés. Utiliser les cas confirmés atténue le biais dû au taux de mortalité, qui ajoute une variation aux taux de contamination ; et utiliser 10 cas est plus solide qu'un seul, qui peut représenter un cas particulier.
```{r table.cas}
covid.cases_10$table %>%
kable(col.names = c("Pays", labels[c(2:4,6:7)]),
caption = "Nombre de jours entre la date des 10 premiers cas confirmés, et différentes mesures")
```
Ce changement de point de référence modifie légèrement les conclusions de la table, puisque la France apparait alors comme plus réactive que l'Allemagne.
## Point de référence : 16 mars 2020
Un autre point de référence peut être tout simplement la date, soit le nombre de jours depuis le 16 mars 2020, début du confinement français. Il permet de mesurer la réaction des pays non pas par rapport à leur situation locale, mais par rapport à la situation globale.
```{r table.date}
covid.calendar$table %>%
kable(col.names = c("Pays", labels[c(2:4,6:7)]),
caption = "Nombre de jours entre le 1er janvier 2020 et différentes mesures")
```
Ce changement de point de référence modifie également les conclusions de la table, puisque la France apparait alors comme globalement plus réactive pour la restriction des déplacements, même si elle reste globalement moins réactives que les autres pays de la table pour les autres mesures, hormis l'Angleterre qui présente une semaine de retard.
## Discussion sur les points de références
On constate donc des différences selon le choix du point de référence : 1er décès confirmé, 10 cas confirmés, ou une date arbitraire. Il est nécessaire de visualiser ces dates pour pousser l'analyse :
```{r dates, fig.asp=0.4}
covid.dates <- bind_rows(list(
covid.deaths_1$delay,
covid.deaths_10$delay,
covid.cases_10$delay,
covid.cases_1000$delay
)) %>%
select(CountryName, Date.ref, Ref) %>%
unique()
ggplot(covid.dates, aes(x=Ref,y=Date.ref)) +
geom_boxplot() +
geom_point( aes(fill=CountryName,
stroke = case_when(CountryName == "France" ~ 1.3, TRUE ~ 0.5)),
data = filter(covid.dates,CountryName %in% countries.sel),
shape=23, size=5) +
scale_x_discrete(
limits = c("ConfirmedCases_01000", "ConfirmedDeaths_00010", "ConfirmedDeaths_00001", "ConfirmedCases_00010"),
labels = c("1000 cas confirmés", "10 décès confirmés", "1er décès confirmé", "10 cas confirmés")) +
#labels = c("10 cas confirmés","1er décès confirmé")) +
coord_flip() +
ggtitle("Dates des points de référence") +
theme_excel_new()
```
Exemple de lecture : « _Le point de référence "10 cas confirmé" se situe entre le 3 et le 19 mars 2020 pour la moitié des pays, avec une médiane au 11 mars. Pour la France, il est le 8 février 2020._ ».
Pour une meilleure lecture, il est possible d'aligner les dates sur la date médiane pour chacun des points de référence :
```{r dates.norm, fig.asp=0.4}
covid.dates.norm <- covid.dates %>%
group_by(Ref) %>%
mutate(Date.ref = Date.ref - median(Date.ref))
ggplot(covid.dates.norm, aes(x=Ref,y=Date.ref)) +
geom_boxplot() +
geom_point( aes(fill=CountryName,
stroke = case_when(CountryName == "France" ~ 1.3, TRUE ~ 0.5)),
data = filter(covid.dates.norm, CountryName %in% countries.sel),
shape=23, size=5) +
scale_x_discrete(
limits = c("ConfirmedCases_01000", "ConfirmedDeaths_00010", "ConfirmedDeaths_00001", "ConfirmedCases_00010"),
labels = c("1000 cas confirmés", "10 décès confirmés", "1er décès confirmé", "10 cas confirmés")) +
#labels = c("10 cas confirmés","1er décès confirmé")) +
coord_flip() +
ggtitle("Dates des points de référence") +
theme_excel_new()
```
Exemple de lecture : « _Pour la France, les point de référence pour "10 cas confirmé", "1er décès confirmés", "10 décès confirmés" et "1000 cas confirmés" sont respectivement 33, 35, 19 et 18 jours avant la médiane mondiale _ ».
ces deux figures permetten de dresser plusieurs constats :
- la France fait partie des pays ayant connu le plus tôt un 1er décès et 10 cas confirmés : ces points de référence sont donc défavorables à la mesure de la réactivité française en comparaison internationale ;
- le point de référence "1er décès confirmé", retenus dans la table étudiée, est celui qui montre le plus grand écart entre la date française et la médiane internationnale ;
- les points de référence de la France et de l'Allemagne sont inversés, avec un écart substantiel entre le 1er décès et les 10 cas confirmés pour l'Allemagne : ceci explique la différence de réactivité comparée entre ces deux pays selon le point de référence.
# Extension à d'autres pays et d'autres indicateurs
Pour étendre les indicateurs, on peut ajouter les mesures suivantes :
- Campagne d'information
- Restriction des transports publics (recommandée et ciblée)
Lire les données en incluant plus de pays sera difficile sous forme de table, et c'est pourquoi il est nécessaire de proposer une représentation graphique.
## Point de référence : premier décès confirmé
```{r ext.death }
covid.plot(covid.deaths_1$delay, "Nombre de jours entre le premier décès confirmé et différentes mesures")
```
Exemple de lecture : « _Parmi les pays ayant mis en œuvre une campagne d'information, le plus réactif l'a fait 92 jours avant le premier décès confirmé, et le moins réactif 16 jours après. La moitié des pays l'ont fait entre 43 et 10 jours avant, et la médiane est à 23 jours avant. La France l'a fait 22 jours avant._ ».
```{r ext.death.table }
covid.deaths_1$sum %>% kable(caption="Statistiques sur le nombre de jours entre le premier décès confirmé et différentes mesures")
```
Ces chiffres permettent de constater que la France est parmi les pays présentant les plus grands délais entre le premier cas de décès confirmé et la prise de mesures, hormis en ce qui concerne la campagne d'information.
## Point de référence : 10 premiers cas confirmés
```{r ext.tencases }
covid.plot(covid.cases_10$delay, "Nombre de jours entre les 10 premiers cas confirmés et différentes mesures")
```
```{r ext.tencases.table }
covid.cases_10$sum %>% kable(caption="Statistiques sur le nombre de jours entre les 10 premiers cas confirmés et différentes mesures")
```
Le changement de point de référence, en prenant la date des 10 premiers cas confirmés, modère le constat fait en prenant pour point de référence le premier décès, sans en changer substantiellement les conclusions.
## Point de référence : 16 mars 2020
```{r ext.date }
covid.plot(covid.calendar$delay, "Nombre de jours entre le 16 mars 2020 et différentes mesures")
```
```{r ext.date.table }
covid.calendar$sum %>% kable(caption="Statistiques sur le nombre de jours entre le 16 mars 2020 et différentes mesures")
```
Le changement de point de référence, en prenant la date du 16 mars 2020, montre que la France est dans la moyenne internationale, hormis pour la campagne d'information et pour l'annulation d'évènement pour lesquels elle est dans le quart des pays les plus réactifs.
# Conclusion
Pour conclure, l'exploitation des données ouvertes collectées par la _Blavatnik School of Government_ de l'Université d'Oxford permet de globalement confirmer les valeurs de la table diffusée sur les réseaux sociaux, même si de plus amples investigations seraient nécessaires pour expliquer des différences non significatives. Cependant, le point de référence choisi dans cette table est celui, parmi ceux étudiés ici, qui montre la plus mauvaise réactivité pour la France.
Concernant la France, on peut en réalité dresser les constats suivants :
- sa réactivité est globalement dans la moyenne lorsqu'on prend le calendrier comme point de référence ;
- mais elle a été touchée plus tôt que la plupart des autres pays par la pandémie Covid-19 ;
- elle se retrouve donc parmi les pays les moins réactifs lorsqu'on considère les points de référence locaux, 1er décès et 10 cas confirmés nationnaux.
Une comparaison avec d'autres jeux de données est nécessaire pour confirmer ou infirmer ces résultats. D'autres façons, plus fines, de mesurer les temps de réponses sont disponibles dans [l'étude initiale](https://www.bsg.ox.ac.uk/research/publications/variation-government-responses-covid-19).
Il convient de conclure en affirmant que cette comparaison des délais ne saurait en aucun cas résumer les politiques sanitaires nationales, et que les comparaisons internationnales sont toujours complexes et se doivent d'être distanciées.
## Encore d'autres points de référence
### 10 décés confirmés
```{r table.10_death}
covid.deaths_10$table %>%
kable(col.names = c("Pays", labels[c(2:4,6:7)]),
caption = "Nombre de jours entre la date des 10 premiers décès confirmés, et différentes mesures")
```
```{r ext.10_death}
covid.plot(covid.deaths_10$delay, "Nombre de jours entre les 10 premiers décès et différentes mesures")
```
```{r ext.10_death.table }
covid.deaths_10$sum %>% kable(caption="Statistiques sur le nombre de jours entre les 10 premiers décès et différentes mesures")
```
### 1000 cas confirmés
```{r table.1000_cases}
covid.cases_1000$table %>%
kable(col.names = c("Pays", labels[c(2:4,6:7)]),
caption = "Nombre de jours entre les 1000 premiers cas confirmés et différentes mesures")
```
```{r ext.1000_cases}
covid.plot(covid.cases_1000$delay, "Nombre de jours entre les 1000 premiers cas confirmés et différentes mesures")
```
```{r ext.1000_cases.table }
covid.cases_1000$sum %>% kable(caption="Statistiques sur le nombre de jours entre les 1000 premiers cas confirmés et différentes mesures")
```
### Animations
![](confirmedcase.gif)
![](confirmeddeaths.gif)