You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: delays-access.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Accéder aux distributions des retards épidémiologiques
2
+
title: Accéder aux distribution des délais épidémiologiques
3
3
teaching: 20
4
4
exercises: 10
5
5
editor_options:
@@ -15,7 +15,7 @@ editor_options:
15
15
::::::::::::::::::::::::::::::::::::: objectives
16
16
17
17
- Obtenez les délais à partir d'une base de données de recherche documentaire avec `{epiparameter}`.
18
-
- Obtenez les paramètres de distribution et les statistiques sommaires des distributions de retards.
18
+
- Obtenez les paramètres de distribution et les statistiques sommaires des distributions de délais.
19
19
20
20
::::::::::::::::::::::::::::::::::::::::::::::::
21
21
@@ -79,7 +79,7 @@ Cela nous permet de nous souvenir des fonctions du paquet et d'éviter les confl
79
79
80
80
## Le problème
81
81
82
-
Si nous voulons estimer la transmissibilité d'une infection, il est courant d'utiliser un package tel que `{EpiEstim}` ou `{EpiNow2}`. Le paquet `{EpiEstim}` permet d'estimer en temps réel le nombre de reproductions à l'aide des données relatives aux cas dans le temps, reflétant ainsi l'évolution de la transmission en fonction de la date d'apparition des symptômes. Pour estimer la transmission en fonction du moment où les personnes ont été effectivement infectées (plutôt que de l'apparition des symptômes), le logiciel `{EpiNow2}` étend cette idée en la combinant avec un modèle qui tient compte des retards dans les données observées. Les deux logiciels requièrent certaines informations épidémiologiques en entrée. Par exemple, dans `{EpiNow2}` nous utilisons `EpiNow2::Gamma()` pour spécifier un [temps de génération](../learners/reference.md#generationtime) sous la forme d'une distribution de probabilité ajoutant son `mean` l'écart-type (`sd`) et sa valeur maximale (`max`).
82
+
Si nous voulons estimer la transmissibilité d'une infection, il est courant d'utiliser un package tel que `{EpiEstim}` ou `{EpiNow2}`. Le paquet `{EpiEstim}` permet d'estimer en temps réel le nombre de reproductions à l'aide des données relatives aux cas dans le temps, reflétant ainsi l'évolution de la transmission en fonction de la date d'apparition des symptômes. Pour estimer la transmission en fonction du moment où les personnes ont été effectivement infectées (plutôt que de l'apparition des symptômes), le logiciel `{EpiNow2}` étend cette idée en la combinant avec un modèle qui tient compte des délais dans les données observées. Les deux logiciels requièrent certaines informations épidémiologiques en entrée. Par exemple, dans `{EpiNow2}` nous utilisons `EpiNow2::Gamma()` pour spécifier un [temps de génération](../learners/reference.md#generationtime) sous la forme d'une distribution de probabilité ajoutant son `mean` l'écart-type (`sd`) et sa valeur maximale (`max`).
83
83
84
84
Pour spécifier une valeur `generation_time` qui suit un *Gamma* avec une moyenne $\mu = 4$ écart-type $\sigma = 2$ et une valeur maximale de 20, nous écrivons :
85
85
@@ -195,7 +195,7 @@ Si nous mesurons les *intervalle sériel* dans des données réelles, nous const
195
195
196
196
).](fig/serial-interval-pairs.jpg)
197
197
198
-
Pour résumer ces données relatives aux périodes individuelles et aux paires, il est donc utile de quantifier les **distribution statistique** des retards qui correspondent le mieux aux données, plutôt que de se concentrer sur la moyenne ([McFarland et al., 2023](https://www.eurosurveillance.org/content/10.2807/1560-7917.ES.2023.28.27.2200806)).
198
+
Pour résumer ces données relatives aux périodes individuelles et aux paires, il est donc utile de quantifier les **distribution statistique** des délais qui correspondent le mieux aux données, plutôt que de se concentrer sur la moyenne ([McFarland et al., 2023](https://www.eurosurveillance.org/content/10.2807/1560-7917.ES.2023.28.27.2200806)).
199
199
200
200
<!-- ajouter une référence sur les bonnes pratiques pour estimer les distributions -->
Prenez 2 minutes pour explorer les `{epiparameter}` bibliothèque.
375
375
@@ -392,7 +392,7 @@ Posez la question :
392
392
L'analyse `epiparameter_db()` fonction avec `disease` compte à elle seule le nombre d'entrées comme :
393
393
394
394
- études, et
395
-
- les répartitions des retards.
395
+
- les répartitions des délais.
396
396
397
397
Les `epiparameter_db()` avec `disease` et `epi_name` obtient une liste de toutes les entrées avec :
398
398
@@ -409,7 +409,7 @@ La combinaison de `epiparameter_db()` plus `parameter_tbl()` permet d'obtenir un
409
409
410
410
::::::::::::::::: solution
411
411
412
-
Nous avons choisi d'explorer les distributions des retards d'Ebola :
412
+
Nous avons choisi d'explorer les distributions des délais d'Ebola :
413
413
414
414
415
415
```r
@@ -958,9 +958,9 @@ la mettre à jour à partir du dernier test d'épiparamètre
958
958
959
959
::::::::::::::::::::::::::::::::::::: keypoints
960
960
961
-
- Utilisez `{epiparameter}` pour accéder au catalogue des distributions de retards épidémiologiques.
961
+
- Utilisez `{epiparameter}` pour accéder au catalogue des distributions de délais épidémiologiques.
962
962
- Utilisez cette fonction pour accéder au catalogue de la littérature sur les distributions de délais épidémiologiques. `epiparameter_db()` pour sélectionner une seule distribution de délais.
963
-
- Utilisez cette option pour sélectionner les distributions à retard unique. `parameter_tbl()` pour obtenir une vue d'ensemble des distributions de délais multiples.
963
+
- Utilisez cette option pour sélectionner les distributions à délais unique. `parameter_tbl()` pour obtenir une vue d'ensemble des distributions de délais multiples.
964
964
- Réutiliser les estimations connues pour une maladie inconnue au début d'une épidémie lorsqu'il n'y a pas de données sur la recherche des contacts.
Copy file name to clipboardExpand all lines: delays-functions.md
+57-46Lines changed: 57 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,8 @@ editor_options:
24
24
25
25
## Conditions préalables
26
26
27
-
- Compléter le tutoriel [Quantifier la transmission](https://epiverse-trace.github.io/tutorials-middle/quantify-transmissibility.html)
27
+
- Compléter le tutoriel [Accéder aux distribution des délais épidémiologiques](../episodes/delays-functions.md)
28
+
- Compléter le tutoriel [Quantifier la transmission](../episodes/quantify-transmissibility.md)
28
29
29
30
Pour cet épisode, vous devez vous familiariser avec :
30
31
@@ -38,7 +39,16 @@ Pour cet épisode, vous devez vous familiariser avec :
38
39
39
40
## Introduction
40
41
41
-
`{epiparameter}` nous aide à *choisir* un ensemble spécifique de paramètres épidémiologiques issus de la littérature, au lieu de les copier/coller *à la main*:
42
+
Cet épisode intégrera le contenu des deux épisodes précédents. Commençons par charger le package`{epiparameter}` et `{EpiNow2}` . Nous utiliserons le tube `%>%`, quelques verbes de `{dplyr}` et `{ggplot2}` et donc appelons aussi à le package `{tidyverse}` :
43
+
44
+
45
+
```r
46
+
library(epiparameter)
47
+
library(EpiNow2)
48
+
library(tidyverse)
49
+
```
50
+
51
+
Pour résumer, nous avons appris que `{epiparameter}` nous aide à *choisir* un ensemble spécifique de paramètres épidémiologiques issus de la littérature, au lieu de les copier/coller *à la main*:
42
52
43
53
44
54
```r
@@ -51,7 +61,7 @@ covid_serialint <-
51
61
)
52
62
```
53
63
54
-
Nous avons maintenant un paramètre épidémiologique que nous pouvons utiliser dans notre analyse ! Dans le bloc de code ci-dessous, nous avons remplacé un des paramètres **statistiques sommaires** en `EpiNow2::LogNormal()`
64
+
Nous avons maintenant un paramètre épidémiologique que nous pouvons utiliser dans notre analyse ! Par exemple, pour quantifier la transmission, nous pouvons utiliser l'intervalle sériel comme approximation du temps de génération. Dans le bloc de code ci-dessous, nous avons remplacé un des paramètres **statistiques sommaires** en `EpiNow2::LogNormal()`
55
65
56
66
```r
57
67
generation_time<-
@@ -62,18 +72,7 @@ generation_time <-
62
72
)
63
73
```
64
74
65
-
Dans cet épisode, nous utiliserons les **fonctions de distribution** qui `{epiparameter}` fournit pour obtenir une valeur maximale (`max`) pour ce package et tout autre package en aval dans votre pipeline d'analyse !
66
-
67
-
Chargeons le package`{epiparameter}` et `{EpiNow2}` . Pour `{EpiNow2}` nous mettrons 4 cœurs à utiliser pour les calculs parallèles. Nous utiliserons le tube `%>%`, quelques verbes de `{dplyr}` et `{ggplot2}` et donc appelons aussi à le package `{tidyverse}` :
68
-
69
-
70
-
```r
71
-
library(epiparameter)
72
-
library(EpiNow2)
73
-
library(tidyverse)
74
-
75
-
withr::local_options(list(mc.cores=4))
76
-
```
75
+
Dans cet épisode, nous utiliserons les **fonctions de distribution** qui `{epiparameter}` fournit pour obtenir une médiane, valeur maximale (`max`), percentiles ou quantiles pour tout objet de classe `<epiparameter>`. Ils vous seront utiles en aval dans votre pipeline d'analyse !
77
76
78
77
::::::::::::::::::: checklist
79
78
@@ -100,9 +99,9 @@ En R, toutes les distributions statistiques disposent de fonctions qui permettan
100
99
101
100
### Fonctions pour la loi normale
102
101
103
-
Si vous en avez besoin, lisez en détail la rubrique [Fonctions de probabilité R pour la loinormale](https://sakai.unc.edu/access/content/group/3d1eb92e-7848-4f55-90c3-7c72a54e7e43/public/docs/lectures/lecture13.htm#probfunc) Pour en savoir plus sur les fonctions de probabilité de la loi normale, lisez les définitions de chacune d'entre elles et identifiez la partie de la loi dans laquelle elles se situent !
102
+
Si vous en avez besoin, lisez en détail la rubrique [Fonctions de probabilité R pour la loinormale](https://web.archive.org/web/20240210121034/https://sakai.unc.edu/access/content/group/3d1eb92e-7848-4f55-90c3-7c72a54e7e43/public/docs/lectures/lecture13.htm#probfunc) Pour en savoir plus sur les fonctions de probabilité de la loi normale, lisez les définitions de chacune d'entre elles et identifiez la partie de la loi dans laquelle elles se situent !
104
103
105
-
)](fig/fig5a-normaldistribution.png)
104
+
)](fig/fig5a-normaldistribution.png)
106
105
107
106
::::::::::::::::::::
108
107
@@ -111,9 +110,13 @@ Si vous regardez `?stats::Distributions`, chaque type de distribution possède u
Dans la figure 5 du [Fonctions de probabilité R pour la loi normale](https://sakai.unc.edu/access/content/group/3d1eb92e-7848-4f55-90c3-7c72a54e7e43/public/docs/lectures/lecture13.htm#probfunc) la partie ombrée représente une probabilité cumulée de `0.997` pour la valeur du quantile à `x = 2`.
182
+
Dans la figure 5 du [Fonctions de probabilité R pour la loi normale](https://web.archive.org/web/20240210121034/https://sakai.unc.edu/access/content/group/3d1eb92e-7848-4f55-90c3-7c72a54e7e43/public/docs/lectures/lecture13.htm#probfunc) la partie ombrée représente une probabilité cumulée de `0.997` pour la valeur du quantile à `x = 2`.
180
183
181
184
::::::::::::::::::::::
182
185
@@ -189,15 +192,15 @@ plot(covid_serialint)
189
192
190
193
191
194
```r
192
-
cdf(covid_serialint, q=2)
195
+
epiparameter::cdf(covid_serialint, q=2)
193
196
```
194
197
195
198
```output
196
199
[1] 0.1111729
197
200
```
198
201
199
202
```r
200
-
cdf(covid_serialint, q=6)
203
+
epiparameter::cdf(covid_serialint, q=6)
201
204
```
202
205
203
206
```output
@@ -275,13 +278,12 @@ Alors que pour une distribution **continue** nous traçons la courbe de la *Fonc
Pour obtenir enfin une `max`, accédons à la valeur du quantile du 99e percentile ou `0.99` de la distribution à l'aide de la fonction `prob_dist$q` de la même manière que nous accédons à les valeurs `summary_stats`.
286
288
287
289
@@ -309,19 +311,19 @@ Les fonctions de probabilité pour les distributions `<epiparameter>` **discrèt
309
311
310
312
```r
311
313
# plot to have a visual reference
312
-
plot(covid_serialint_discrete, day_range=0:20)
314
+
plot(covid_serialint_discrete, xlim=c(0, 20))
313
315
314
316
# density value at quantile value 10 (day)
315
317
density(covid_serialint_discrete, at=10)
316
318
317
319
# cumulative probability at quantile value 10 (day)
318
-
cdf(covid_serialint_discrete, q=10)
320
+
epiparameter::cdf(covid_serialint_discrete, q=10)
319
321
320
322
# In what quantile value (days) do we have the 60% cumulative probability?
@@ -471,6 +476,12 @@ L'utilisation de l'intervalle sériel au lieu du temps de génération est une a
471
476
472
477
::::::::::::::::::
473
478
479
+
::::::::::::::::::: instructor
480
+
481
+
We can stop the livecoding at this stage and move on with the practical.
482
+
483
+
:::::::::::::::::::
484
+
474
485
## Ajustement pour tenir compte des délais de déclaration
475
486
476
487
L’estimation de $R_t$ nécessite des données sur le nombre quotidien de nouvelles infections. En raison des délais dans le développement de charges virales détectables, l'apparition des symptômes, la recherche de soins et la déclaration, ces chiffres ne sont pas facilement disponibles. Toutes les observations reflètent des événements de transmission survenus dans le passé. En d'autres termes, si $d$ est le délai entre l'infection et l'observation, alors les observations au temps $t$ informent $R_{t−d}$ et non $R_t$. [(Gostic et al., 2020)](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1008409#sec007)
@@ -494,12 +505,12 @@ Utilisez le dernier calcul d’ `epinow()` à l'aide de l’argument `delays` et
494
505
L'argument `delays` et la fonction d’aide`delay_opts()` sont analogues à l’argument `generation_time` et à la fonction d’aide `generation_time_opts()`.
0 commit comments