Skip to content
This repository has been archived by the owner on Mar 29, 2022. It is now read-only.

Revisar modelo SEIR-Bayes #13

Closed
dsevero opened this issue Mar 17, 2020 · 11 comments
Closed

Revisar modelo SEIR-Bayes #13

dsevero opened this issue Mar 17, 2020 · 11 comments

Comments

@dsevero
Copy link
Contributor

dsevero commented Mar 17, 2020

Seria interessante, alguém com conhecimento de modelagem e python, revisar se a implementação do SEIR-Bayes ta correta.

@rgiglio rgiglio self-assigned this Mar 18, 2020
@rgiglio
Copy link
Member

rgiglio commented Mar 18, 2020

tem um typo (___) nas linhas 19 e 20

@dsevero
Copy link
Contributor Author

dsevero commented Mar 18, 2020

Boa, por sorte isso fazia as variaveis nao existirem no escopo da funcao, entao ele pegava no global e deu o mesmo resultado.

Arrumei, thanks.

@albertineweber
Copy link

oi pessoal, acho que vale tentar utilizar um E(0) maior pra rodar o modelo. pessoas Expostas ainda não apresentaram sintomas, então elas provavelmente existem em maior número que as Infectadas (principalmente nesse começo de epidemia), mas vamos levar uns dias pra detectá-las. e os modelos parece estar evoluindo muito lentamente (o pico dele tá bem ocorrendo bem tarde no ano), e aumentar o E(0) ajuda a resolver um pouco isso.

talvez o Período infeccioso médio também esteja meio alto demais e isso também atrasa a evolução, mas ta difícil encontrar referências boas sobre esse parâmetro

@dsevero
Copy link
Contributor Author

dsevero commented Mar 18, 2020

Concordo, @albertineweber. Não achei muita referência pro 1/gamma, tanto que a tabela ta vazia pros limites superiores e inferiores. Estamos discutindo isso em #21

Tens alguma recomendação pra E(0)? Tem algo na literatura relacionando uma proporção entre E e I? De qualquer forma, concordo que provavelmente E(0) > I(0).

@arthurmoldom
Copy link

Estava organizando o modelo, e como geralmente organizo minhas ideias em torno do excel, montei um (linkado) para rodar um algoritmo semelhante ao dos códigos (app.py e o do models.seir_bayes)

Um comentario:

Linha 19: inverse_gamma_loc = float(st.sidebar.text_input('Período infeccioso médio em dias (1/gamma_loc)', '**10**'))
No readme esta 14 ou esse seria outro parametro?

https://1drv.ms/x/s!AgP2ptMW8uEmgP8QwGFQbVqHGm1-vQ?e=Rb3qeZ

Quanto ao modelo em si (agora que ja temos obitos e curas e menos relevante), mas quando for reproduzido para outras regiôes (issue 31) poderiamos tratar as entradas de população, incubação (alpha) e remoção (gama) como parâmetros de entrada e ter um offset em tempo para a remoção?
No SEIR_BAYES a remoção começa em t0, mas isso só e verdade para locais onde já há remoção em t0, para reproduzir para o pais seria necessário incluir um offset? Na europa os primeiros casos são em 20 de fevereiro e as primeiras curas/mortes por volta de 27/28 de fevereiro.

Algo como:
` for t in t_space[1:]:
SE = npr.binomial(
S[t-1, r],
1 - np.exp(-beta*I[t-1, r]/N)
)
EI = npr.binomial(E[t-1, r], 1 - np.exp(-alpha))
IR = npr.binomial(I[t-1, r], 1 - np.exp(-gamma))

        dS =  0 - SE
        dE = SE - EI
        dI = EI - IR
        dR = IR - 0

        S[t, r] = S[t-1, r] + dS
        E[t, r] = E[t-1, r] + dE
        I[t, r] = I[t-1, r] + dI
        if t >= offset:
            R[t, r] = R[t-1, r] + dR
       Else:
           R[t, r] =R0
       
return S, E, I, R, t_space`

Fonte para comentar o offset:
https://datastudio.google.com/u/0/reporting/3f66138e-29aa-4a1f-a525-6305d0ce267e/page/ah9GB

@dsevero
Copy link
Contributor Author

dsevero commented Mar 19, 2020

oi pessoal, acho que vale tentar utilizar um E(0) maior pra rodar o modelo. pessoas Expostas ainda não apresentaram sintomas, então elas provavelmente existem em maior número que as Infectadas (principalmente nesse começo de epidemia), mas vamos levar uns dias pra detectá-las. e os modelos parece estar evoluindo muito lentamente (o pico dele tá bem ocorrendo bem tarde no ano), e aumentar o E(0) ajuda a resolver um pouco isso.

talvez o Período infeccioso médio também esteja meio alto demais e isso também atrasa a evolução, mas ta difícil encontrar referências boas sobre esse parâmetro

atualizei a imagem com um E(0) mais generoso @albertineweber

@tiagoyuzo
Copy link

Tens alguma recomendação pra E(0)? Tem algo na literatura relacionando uma proporção entre E e I? De qualquer forma, concordo que provavelmente E(0) > I(0).

Uma ideia é, conforme mais dados estejam disponíveis, podemos tentar recuperar E(0) a partir de I(10-14), "voltando" estes casos no tempo para quando ainda faziam parte de E.

@dsevero
Copy link
Contributor Author

dsevero commented Mar 20, 2020

Interessante, @tiagoyuzo. Consegues dar uma levantada em literatura pra ver se alguém ja fez isso? Eu fiz um modelo pra estimar o R0 de dado histórico (vou colocar no simulador como uma opção) e o @renatocmaciel modificou o simulador pra atualizar os parâmetros com os dados históricos, mas não temos uma estimativa pro E(0) ainda. Seria uma contribuição muito show!

Não tenho a mínima ideia do que fazer com o E(0) por hora :/

@tiagoyuzo
Copy link

Interessante, @tiagoyuzo. Consegues dar uma levantada em literatura pra ver se alguém ja fez isso? Eu fiz um modelo pra estimar o R0 de dado histórico (vou colocar no simulador como uma opção) e o @renatocmaciel modificou o simulador pra atualizar os parâmetros com os dados históricos, mas não temos uma estimativa pro E(0) ainda. Seria uma contribuição muito show!

Não tenho a mínima ideia do que fazer com o E(0) por hora :/

@dsevero Dei uma procurada e não encontrei nada por enquanto. Acho difícil encontrar algo do tipo, normalmente os autores não dão tanta atenção às condições iniciais porque o tempo de estudo é maior, logo a condição inicial tem menor influência nos resultados.

Seguindo a ideia que falei no comentário anterior, vc pode iniciar a simulação com I(0) = 0 e E(0) = número de infectados reportados em 17/03. Mas nesse caso a simulação se iniciaria em 12/03 (voltando os 5 dias de incubação). Obs: no comentário anterior eu tinha colocado 10-14 mas o correto é considerar o tempo de incubação da doença.

@albertineweber
Copy link

pois é, não achei nada também e acho até que isso depende bastante da doença também..
mas concordo com o @tiagoyuzo, acho que a melhor forma é olhar retroativo pra estimar. talvez tentar ver se tem uma proporção média olhando pro passado e usar essa taxa p estimar o # atual de E?

@dsevero
Copy link
Contributor Author

dsevero commented Mar 21, 2020

@albertineweber @tiagoyuzo o @vksvinicius deu uma sugestão baseada nessa ideia aqui #43

se conseguirem dar uma validada. É basicamente olhar o histórico, mas é uma fórmula fechada.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants