-
Notifications
You must be signed in to change notification settings - Fork 0
/
projecoes_observatorio_modelo.Rmd
140 lines (111 loc) · 5.91 KB
/
projecoes_observatorio_modelo.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
---
title: "`r paste('Casos de COVID-19 para o', nome_titulos)`"
subtile: "Avaliação preliminar de projeção de casos a curto prazo"
author: "Observatório COVID-19 BR"
date: "`r format(Sys.time(), '%d-%m-%Y_%Hh%Mmin%Ss')`"
output:
pdf_document:
latex_engine: xelatex
keep_tex: true
header-includes:
- \usepackage{float}
- \floatplacement{table}{H}
- \floatplacement{figure}{H}
---
# Sumário executivo
* No dia de hoje acumulamos `r nconf$confirmed.cases[nrow(nconf)]` casos notificados.
* Projeção para dia `r data.final` :
entre `r round(exp.5d[5,2])` e `r round(exp.5d[5,3])` casos notificados.
* Projeção dia a dia na tabela a seguir
## Projeções de número de casos que serão notificados
```{r projecoes_Poisson}
kable(data.frame(exp.5d),
format = "latex",
align = "c",
digits = 0,
col.names = c("Previsto", "Limite Inferior", "Limite Superior"),
caption = paste(nome_titulos, "- Projeção empírica do número de casos notificados para os próximos 5 dias."),
escape = FALSE
)
```
## Gráfico das projeções
* Pontos pretos : número de casos confirmados a cada dia.
* Pontos laranjas: a previsão para os próximos 5 dias
* Cinza : intervalo de confiança dessa previsão.
```{r estimativa_crescimento_exponencial, fig.width = 11, fig.height = 7, fig.cap = paste("Estimativas de crescimento exponencial para os próximos 5 dias para o", nome_titulos)}
################################################################################
## Parametros de formatacao comum aos plots
################################################################################
plot.formatos <- theme_bw()+
theme(axis.text= element_text(size=12, face="bold"),
axis.title.y = element_text(size=14, face="bold"))
################################################################################
## Grafico da serie observada e do previsto pelo modelo exponencial
## para os proximos 5 dias (com intervalo de confiança)
################################################################################
## Serie com observados e previstos
## (gambiarra para ter linha contínua no grafico, verificar help de ggplot.zoo)
ncasos.completa <- merge(casos = nconf.zoo, exp.5d[, c("predito","ic.low","ic.upp")])
ncasos.completa$casos[time(ncasos.completa) >= min(time(exp.5d))] <- exp.5d$predito[time(exp.5d) >= min(time(exp.5d))]
## O plot
p1 <-
ggplot(data = ncasos.completa) +
geom_ribbon(aes(x = Index, y = casos, ymin = ic.low, ymax = ic.upp), fill = "lightgrey") +
geom_line(aes(x = Index, y = casos, ymin = ic.low, ymax = ic.upp)) +
geom_point(data = ncasos.completa[time(ncasos.completa) <= min(time(exp.5d))], aes(x = Index, y = casos), size = 2) +
geom_point(data = ncasos.completa[time(ncasos.completa) >= min(time(exp.5d))], aes(x = Index, y = casos), size=2, col="#e66101") +
scale_x_date(date_labels = "%d/%b", name="") +
scale_y_log10() +
labs(y = "Número de casos", x = "Data", title = paste(nome_titulos, "(Escala logarítimica)")) +
plot.formatos
p1.zoom <-
ggplot(data = ncasos.completa[(nrow(ncasos.completa) - 7):nrow(ncasos.completa)]) +
geom_ribbon(aes(x = Index, y = casos, ymin = ic.low, ymax = ic.upp), fill = "lightgrey") +
geom_line(aes(x = Index, y = casos)) +
geom_point(aes(x = Index, y = casos, colour = c("A", "A", "A", "B", "B", "B", "B", "B")), size = 4) +
scale_x_date(date_labels = "%d/%b", name="") +
scale_y_log10() +
scale_colour_manual(values = c("A" = "black", "B" = "#e66101")) +
labs(y = "Número de casos", x = "Data", title = "Últimos 3 dias + Previsão para 5 dias") +
plot.formatos +
theme(legend.position = "none")
layout <- c(area(t = 1, l = 1, b = 12, r = 12), area(t = 7, l = 7, b = 11, r = 11))
(p1 +
annotate("rect",
xmin = time(ncasos.completa[nrow(ncasos.completa),]) - 8,
xmax = time(ncasos.completa[nrow(ncasos.completa),]) + 1,
ymin = min(ncasos.completa[(nrow(ncasos.completa) - 8):nrow(ncasos.completa), "casos"]) - 300,
ymax = max(ncasos.completa[(nrow(ncasos.completa) - 8):nrow(ncasos.completa), "casos"]) + 2500,
linetype = "dotted", fill = NA, colour = "grey", size = 1.5)) +
p1.zoom +
plot_layout(design = layout)
```
# Detalhes técnicos
Na atual fase da epidemia o número diário de casos confirmados tem
mostrado uma relação linear com o número de dias transcorridos, em
escala logarítimica e para pequenos intervalos de tempo. Usamos essa
relação observada empiricamente para ajustar uma regressão linear para
contagens (glm Poisson) aos 5 últimos pontos da série temporal de
casos notificados. Com este modelo de regressão projetamos os valores
para os próximos 5 dias, e um intervalo de confiança da previsão.
## Limitações
**Os valores projetados serão válidos se a taxa de crescimento de casos
confirmados for a mesma dos últimos 5 dias**
Este documento extrapola dados de número de casos notificados no
estado até o dia de hoje. O número de casos notificados
está atrasado com relação ao número real de casos, por conta dos
tempos até surgimento de sintoma e realização do teste, e refletem
provavelmente uma fração do total de casos, pois muitos casos leves
provavelmente não são notificados. A propriedade das estimativas está
para ser avaliada pelo grupo e métodos.
## Observatório COVID-19 BR
O Observatório Covid-19 BR é uma iniciativa independente, fruto da
colaboração entre pesquisadores com o desejo de contribuir para a
disseminação de informação de qualidade baseada em dados atualizados e
análises cientificamente embasadas.
Criamos um sítio com códigos de fonte aberta que nos permite
acompanhar o estado atual da epidemia de Covid-19 no Brasil, incluindo
análises estatísticas e previsões. Modelos estatísticos e matemáticos
para previsões da epidemia estão em preparação
**Site:** https://covid19br.github.io/index.html
**Contato:** obscovid19br@gmail.com