O objetivo deste repositório é iniciar uma força tarefa conjunta da comunidade científica e tecnológica a fim de organizar dados e criar modelos de previsão de infectados (e talvez outras métricas, entre elas demanda por leitos de internação) pelo COVID-19, focando no Brasil. O projeto é público e pode ser usado por todxs.
Toda e qualquer comunicação deve ser feita publicamente via GitHub Issues (fique a vontade para criar uma issue nova). Veja como contribuir com sua área de conhecimento (seja você profissional da saúde, computação, dados ou qualquer outra área) na seção Como contribuir?
No momento, as principais contribuições são o modelo SEIR-Bayes que pode ser visualizado interativamente com o Simulador; e os Dados disponíveis neste respositório
É importante entender que as análises estão em fase preliminar. Use a seu próprio risco.
- COVID-19
- Índice
- Informações rápidas
- Setup para rodar os modelos
- Modelos
- Dados disponíveis neste respositório
- Simulador
- Como contribuir?
- Recursos didáticos
- Referências
https://covid-simulator.3778.care/
- Instale python 3.6 ou superior;
- (Opcional) Crie um ambiente virtual;
- Instale as dependências com
pip install -r requirements.txt
Estes modelos são testes iniciais e não são bons exemplos de como se deve programar em Python.
https://en.wikipedia.org/wiki/Compartmental_models_in_epidemiology#The_SEIR_model
Buscamos na literatura e temos as seguintes estimativas para os parâmetros desses modelos. Temos alguns artigos a serem estudados para melhorar essas estimativas.
Parâmetro | Limite inferior | Valor típico | Limite superior | Referências |
---|---|---|---|---|
Tempo de incubação (1/α) | 4.1 | 5.2 dias | 7.0 | 1, 2, 4 |
Número básico de reprodução (R0) | 1.4 | 2.2 | 3.9 | 2, 3, 4 |
Período infeccioso médio (1/γ) | ? | 14 dias | ? | 1 |
Este modelo deterministico separa a população em 4 compartimentos: Suscetíveis, Expostos, Infectados e Removidos; cujo equacionamento é dado por uma equação differencial ordinária.
Para rodar: python models/seir_ode.py
(a forma de rodar provavelmente vai mudar no futuro)
Modelo similar ao SEIR-ODE, porem com dinâmica de transição de estados estabelecida por uma binomial.
Para rodar: python models/seir_sde.py
(a forma de rodar provavelmente vai mudar no futuro)
Modelo similar ao SEIR-SDE, porém com os parâmetros alpha, gamma e beta amostrados de uma distribuição à priori para cada rodada de simulação.
Para rodar: python models/seir_bayes.py
(a forma de rodar provavelmente vai mudar no futuro), ou use https://covid-simulator.3778.care/
Este resultado é preliminar, favor ver issue 13. O objetivo era simular a cidade de São Paulo.
É importante entender que as análises estão em fase preliminar. Use a seu próprio risco.
Função pra utilizar de forma fácil os dados.
seir_bayes_df_pop(
R0__params: 'repr. rate upper and lower limits' = (1.96, 2.55),
gamma_inv_params: 'removal rate upper and lower limits' = (10, 16),
alpha_inv_params: 'incubation rate upper and lower limits' = (4.1, 7),
t_max: 'numer of days to run' = 30,
runs: 'number of runs' = 1000,
date: 'load SEIR(0) for this date' = 'latest',
)
Exemplo de uso:
from models.seir_bayes import seir_bayes_df_pop
sim = seir_bayes_df_pop() # voce pode mudar os parametros da simulacao
print(sim[0].keys()) # dict_keys(['uf', 'city', 'estimated_population', 'exposed_est',
# 'cases', 'removed_est', 'results', 'error'])
S, E, I, R, t = sim[0]['results']
Cada matriz S, E, I ou R tem tamanho (t_max, runs)
- CSVs diários e por unidades da federação (disponívels em
data/csv
) (Fonte: Plataforma IVIS)
Este simulador usa o Streamlit. No momento, ele permite simular o SEIR-Bayes variando os parâmetros. Estamos trabalhando para melhorar este simulador (veja as issues).
Apenas clique aqui: https://covid-simulator.3778.care/
- Faça o Setup para rodar os modelos
- Execute
make launch
- Instale docker;
- Na raiz do projeto execute
make image
para construir a imagem; - Em seguida, execute
make covid-19
e aponte seu navegador para http://localhost:8501.
Nas seção de issues profissionais de diversas áreas podem ajudar. Veja a lista de exemplos abaixo sobre sugestões de como você pode ajudar com sua àrea de conhecimento, seja ela da saúde, ciências biológicas, exatas, computação, ou outras:
Clique aqui para ver uma lista de exemplos
- Profissionais da saúde/ciências biológicas podem levantar evidências de hipóteses não contempladas no algoritmo (ex: transmissão entre assintomáticos, ou no período assintomático
- Matemáticos podem sugerir novos métodos ou refinamentos ao algoritmo
- Economistas podem contribuir com refinamentos em impactos econômicos da disseminação do coronavirus
- Administradores hospitalares e profissionais da sáude podem sugerir calculos para provisionamento de recursos (material para UTIs, respiradores, máscaras, etc)
- Programadores com código
- Cientistas de dados com estimativas de parâmetros, e códigos etc
Fique a vontade para abrir uma issue nova, ou trabalhar em uma já existente. Discussões e sugestões, além de código e modelagem, são bem vindas.
Toda contribuição é bem vinda. Estamos gerenciando via GitHub Issues. Existem algumas categorias de contribuições:
- modelagem - relacionados a modelagem matemática (discussões e implementações) dos modelos;
- bug - problemas encontrados no código;
- documentação;
- dev - tudo que é relacionado a código (sem ser a modelagem ou bugs);
- paper - artigo a ser analisado;
modelo: $NOME_DO_MODELO
- para modelos específicos (por exemplo, modelo: SEIR-Bayes).
- Modelling the coronavirus epidemic spreading in a city with Python
- Social Distancing to Slow the Coronavirus
- The SIR epidemic model (SciPy)
- Epidemic Calculator
- Report of the WHO-China Joint Mission on Coronavirus Disease 2019 (COVID-19)
- Early Transmission Dynamics in Wuhan, China, of Novel Coronavirus–Infected Pneumonia
- Estimation of the reproductive number of novel coronavirus (COVID-19) and the probable outbreak size on the Diamond Princess cruise ship: A data-driven analysis
- MIDAS Online Portal for COVID-19 Modeling Research