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

Analisando o sentimento da política monetária com IA usando Python

Análise de sentimentos é uma técnica de Processamento de Linguagem Natural (PLN) que serve para revelar o sentimento contido em um texto. Neste exercício, aplicamos esta técnica para analisar as atas das reuniões do COPOM, revelando o que os diretores de política monetária discutem nas entrelinhas. Utilizando um modelo de Inteligência Artificial através do Python, produzimos ao final um índice de 0 a 100 para sintetizar a análise histórica.

Como a IA pode auxiliar na otimização de Portfólio de Investimentos?

A construção de portfólio ótimo refere-se ao processo de alocar eficientemente capital entre um conjunto predefinido de ativos ou títulos. O campo da construção de portfólio tem sido extensivamente estudado por acadêmicos e profissionais desde a década de 1950, quando Markowitz introduziu sua inovadora abordagem de média-variância para a construção de portfólio. Diante disso, podemos melhorar o processo de alocação de peso de um investimento em um portfólio através do Aprendizado não supervisionado com a aplicação do Hierarchical Risk Parity (HRP). Neste exercício, realizamos uma introdução ao método e mostramos os resultados de um exemplo criado através do Python.

Prevendo múltiplas séries usando IA no Python

Como podemos realizar previsões para várias séries temporais simultaneamente? Para abordar essa questão, empregamos a biblioteca MLForecastdo Python. Esta biblioteca disponibiliza uma variedade de modelos e funcionalidades para realizar previsões em séries temporais utilizando técnicas de aprendizado de máquina. Demonstramos sua aplicação ao prever as curvas de energia horária em quatro regiões distintas do Brasil.

Esse exercício é uma continuação do exercício “Usando IA para prever o consumo de energia no Brasil com Python”.

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.