O lockdown é eficaz? Coletando evidências para o Brasil

Nesse post extra, iremos mostrar outra visualização dos dados de COVID-19 apresentados no Dicas de R de quarta-feira, e também fazer um breve estudo sobre o impacto do isolamento social (lockdown) sobre os casos de gripe que apresentam SRAG, dado que essa doença possui meios de transmissão semelhantes aos do coronavírus. Inicialmente, vamos mostrar como a análise de números de casos feita no post pode ser separada em estados:

dados_covid <- vroom::vroom("https://data.brasil.io/dataset/covid19/caso_full.csv.gz")

library(tidyverse)
library(RcppRoll)
library(ggplot2)
library(ggthemes)
escalas <- function(x) {
if (max(x) > 10000) {
seq(0, 12500, 2500)
} else if (max(x) > 8000) {
seq(0, 10000, 2000)
} else if (max(x) > 6000) {
seq(0, 8000, 1600)
} else if (max(x) > 4000){
seq(0, 5000, 1000)
} else if (max(x) > 3000){
seq(0, 3000, 600)
}
}

por_estado %>%
filter(state %in% ranking[1:9]) %>%
ggplot(aes(x=date, y=value)) + geom_line(size=1.05) +
scale_y_continuous("Número de casos novos", breaks = escalas) +
scale_x_date("", breaks = "3 month", minor_breaks = "1 month", date_labels = "%b %y") +
labs(title=('Evolução da COVID-19: estados com maior número de casos')) +
theme_bw() + facet_wrap(~state, scales = "free_y")

Devemos notar que os dados desagregados possuem algumas observações que parecem ser errôneas, porém decidimos mantê-las aqui. Abaixo, um dos gráficos gerados:

Agora, vamos analisar os dados de números de casos de SRAG causados por gripe comum, conforme disponível no repositório do InfoGripe. Devido ao impacto das medidas de isolamento sobre a economia, e também sobre as fontes de renda de pessoas sob insegurança econômica, o trade-off implícito do distanciamento tem sido muito debatido, surgindo argumentos de parte da população de que o distanciamento nem mesmo seria efetivo. Como não temos dados sobre o COVID-19 sem a existência de lockdown - que seja total, parcial ou mal-aplicado -, não temos dados de controle para testar o efeito do lockdown sobre a trajetória do número de casos da doença.

Por outro lado, existem doenças que, apesar de possuírem taxas de contaminação e mortalidade menores do que o COVID-19, compartilham de seus métodos de transmissão, logo podemos inferir que, em um regime de distanciamento cujo objetivo é diminuir a transmissão do COVID-19, a redução na transmissão de outras doenças que dependem do mesmo tipo de contato evidencia a efetividade do método.

No código abaixo, vamos visualizar o número de casos ano-a-ano de gripe que apresentam SRAG:

library(ggplot2)
library(tidyverse)

infogripe <- read.csv("https://gitlab.procc.fiocruz.br/mave/repo/-/raw/master/Dados/InfoGripe/serie_temporal_com_estimativas_recentes.csv", sep = ';')

gripe_limpo <- infogripe %>% filter(Tipo == "País" & escala == "casos") %>%
select(`Ano.epidemiológico`, `Semana.epidemiológica`, `dado`,
`Casos.semanais.reportados.atÃ..a.última.atualizaÃ.Ã.o`)

srag <- gripe_limpo %>% filter(dado=="sragflu") %>%
rename(casos = Casos.semanais.reportados.atÃ..a.última.atualizaÃ.Ã.o,
ano = Ano.epidemiológico,
semana = Semana.epidemiológica) %>%
mutate(date = ano + semana/52,
date = ifelse(ano == 2014 | ano == 2020, ano+semana/53, date),
casos = as.numeric(gsub(",", ".", casos)))

srag_podado <- srag %>% filter(semana &amp;lt;53) %>%
mutate(semana = ifelse(semana&amp;lt;10, paste(0, semana, sep = ""), semana),
semana = gsub(" ", "", paste(semana, "01")),
date = paste(ano, semana, sep = ""),
date = as.Date(date, "%Y%W%w"))

srag_usual <- srag_podado %>% filter(ano > 2009)

ggplot(srag_usual, aes(x=date, y = casos)) + geom_line() + facet_wrap(~ano, scales = "free") +
scale_x_date(date_labels = "%b") + 
labs(title = "Número de casos de SRAG causada por gripe por ano", ylab="Quantidade",
caption = "Fonte: Análise Macro com dados do INFOGIPE")+
theme(axis.title.x = element_blank())

Como podemos ver, a gripe apresenta alguma sazonalidade, e seus picos tendem a decair lentamente após o início da temporada de transmissão. É interessante notar que, no ano de 2020, há uma queda brusca no número de casos, resultado bem diferente dos anos anteriores. Além disso, o número de casos até agora em 2021 é relativamente baixo, que pode indicar uma continuação no efeito anômalo, mas também pode ser resultado de ainda não ter começado a temporada de gripe em 2021. Vamos então visualizar mais claramente os dados de 2020.

library(ggrepel)

srag_usual %>% filter(ano == 2020) %>%
ggplot(aes(x=date, y=casos))+geom_line() + 
geom_vline(xintercept = as.numeric(as.Date("2020-03-15")), linetype = 4)+
scale_x_date(breaks = "2 months", minor_breaks = "1 week", date_labels = "%b %Y")+
labs(title = "Número de casos de SRAG causada por gripe em 2020", ylab="Quantidade",
caption = "Fonte: Análise Macro com dados do INFOGIPE") +
geom_label_repel(data = filter(srag_usual, date == as.Date("2020-03-15")),
label = "Ínicio do isolamento",
box.padding = 2,
aes(x=as.Date("2020-03-15"), y= 250))+
theme(axis.title.x = element_blank())

 

A data referenciada como início do isolamento é metade de março, época onde a maior parte dos governos estaduais decretou lockdown. Como podemos ver, o número de casos de gripe com SRAG cai bruscamente cerca de 10 dias depois, que é próximo do tempo de incubação de sintomas desse tipo para a gripe. Com isso, a análise exploratória parece indicar evidências de que utilizar o distanciamento como variável binária para controlar os casos de SRAG pode ser válido.

Faremos então a modelagem de um modelo ARDL, que tem como variáveis explicativas o lag do número de casos e a existência (ou não) de distanciamento. Os detalhes estarão disponíveis para os membros do Clube AM. A regressão final é:

Dependent variable:
casos
lag(casos, 1) 1.424***
(0.039)
lag(casos, 2) -0.512***
(0.046)
lag(casos, 5) 0.170***
(0.046)
lag(casos, 6) -0.165***
(0.039)
lag(casos, 52) 0.015
(0.011)
lockdown -10.129**
(4.613)
Constant 5.511***
(1.705)
Observations 527
R2 0.941
Adjusted R2 0.940
Residual Std. Error 30.076 (df = 520)
F Statistic 1,370.252*** (df = 6; 520)
Note: *p<0.1; **p<0.05; ***p<0.01

Os resultados encontrados sugerem que a existência do lockdown é estatisticamente significante, com p-valor de 0.028. O sinal do seu parâmetro é -10, logo temos evidência de que o lockdown diminui a média de casos novos semanais em mais de 10. Apesar do lag sazonal ser estatisticamente insignificante, sua exclusão aumenta o AIC e diminui a log-likelihood, logo ele é mantido aqui.

Em suma, os resultados encontrados nesse exercício sugerem que a existência do distanciamento e de medidas restritivas implica em diminuição da transmissão da gripe, que é contagiada de forma semelhante ao COVID-19. Com isso, inferimos que o lockdown é sim uma boa medida para o controle de doenças do tipo.

__________________

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Criando Tabelas com o Python: mostrando o poder da linguagem sobre o Excel

Nos dias atuais, pessoas que trabalham com dados estão constantemente confrontados com um dilema: criar uma tabela não tão genial no Excel ou manter em um formato ainda pior, como um dataframe, mas mantendo a flexibilidade de obtenção dos dados. Podemos resolver esse grande problema, unindo a flexibilidade e beleza ao usar a biblioteca great_tables do Python.

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

Deploy de modelos com Python + Shinylive + GitHub gastando ZERO reais

Colocar modelos em produção pode ser um grande desafio. Lidar com custos monetários, infraestrutura operacional e complexidades de códigos e ferramentas pode acabar matando potenciais projetos. Uma solução que elimina todos estes obstáculos é a recém lançada Shinylive. Neste artigo mostramos um exemplo com um modelo de previsão para o preço do petróleo Brent.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.