Última atualização

  • 24 de junho, 2020

Objetivo e introdução

O objetivo é estimar quando teremos o pico de infectados em um mesmo dia na cidade de Campinas, usando os dados por cidades da iniciativa Brasil.io, via pacote no R datacovidbr de Victor Freguglia.

A predição é realizada ajustando um modelo simultâneo para os casos acumulados, confirmados e a diferença de casos confirmados. Matematicamente, se considerarmos os casos acumulados como nossa função principal, os casos confirmados e a diferença de casos são sua primeira e segunda derivadas, respectivamente. Para mais detalhes, veja aqui.

Casos confirmados

Situação atualizada

A situação atual da cidade de Campinas é a seguinte:

dd_ori = brasilio(silent=TRUE) 
dd = dd_ori %>% 
  arrange(date) %>% 
  filter(city=="Campinas") %>% 
  mutate(casosAcumulados = confirmed,
         d1 = c(0, diff(confirmed)),
         d2 = c(0, diff(d1))
  ) %>% 
#  filter(date != "2020-05-07") %>% 
  select(data = date, casosAcumulados, d1, d2)
visu(prep_data(
  data = dd,
  num_cases = "d1",
  date_var = "data"
), TRUE)

Predição

Usando o modelo de predição mencionado vamos estimar o dia e o número de máximo infectados em Campinas.

Número de casos previsto

O gráfico a seguir mostra a situação atual em vermelho e os previstos em azul. Em seguida, uma tabela indicando a data prevista de pico e o número estimado.

chute_campinas = c(3000, # 10% da pop
                   65,
                   3)
optCampinas = covid19peakfit(
  data = dd,
  n_cases = "d1",
  date_var = "data",
  init_pars = chute_campinas,
  lim_inf = c(dd$casosAcumulados[nrow(dd)], 45, 0),
  weights = c(.5, 2, 5)
)
# optCampinas = opt(dd,
#                   chute = chute_campinas,
#                   pesos = c(.01,1,.01),
#                   lim_inf = c(0,26,0))

future(optCampinas, n_fut = 40)           

Resumo

  • Número de casos totais esperado: 51292.0547129
  • Pico esperado: 25/julho, 2020
  • Número estimado de máximo de casos em um dia: 392

Ajuste nos dados

Este gráfico mostra o ajuste do modelo nos dados atuais. É importante que todas as curvas estejam bem ajustadas em cada painel.

optCampinas$plot

Óbitos

Situação atualizada

O número de óbitos é estudado da mesma maneira que o número de casos e temos o cenário atual a seguir:

dd = dd_ori %>% 
  arrange(date) %>% 
  filter(city=="Campinas") %>% 
  mutate(casosAcumulados = deaths,
         d1 = c(0,diff(deaths)),
         d2 = c(0, diff(d1))
  ) %>% 
  filter(date != "2020-05-07") %>% 
  select(data = date, casosAcumulados, d1, d2)
visu(prep_data(
  data = dd,
  num_cases = "d1",
  date_var = "data"
), FALSE)

Número de óbitos previsto

O gráfico a seguir mostra a situação atual em vermelho e os previstos em azul. Em seguida, uma tabela indicando a data prevista de pico e o número estimado.

chute_campinas = c(100,
                   55,
                   5)
optCampinas = covid19peakfit(
  data = dd,
  n_cases = "d1",
  date_var = "data",
  init_pars = chute_campinas,
  lim_inf = c(40, 45, 0)
)
# optCampinas = opt(dd,
#                   chute = chute_campinas,
#                   pesos = c(.01,1,.01),
#                   lim_inf = c(0,26,0))

future(optCampinas, n_fut = 40)           

Resumo

  • Número de óbitos esperado: 1974.0888301
  • Pico esperado: 24/julho, 2020
  • Número estimado de máximo de óbitos em um dia: 15

Ajuste nos dados

Este gráfico mostra o ajuste do modelo nos dados atuais. É importante que todas as curvas estejam bem ajustadas em cada painel.

optCampinas$plot