Modelos Epidemiológicos: mudanças entre as edições
Linha 165: | Linha 165: | ||
Os códigos estão disponíveis No [https://replit.com/@JuliaRemus/sirmodificado#README.md projeto criado no Replit], os arquivos utilizados foram ''versao_viz_quarentena.c'' para a dinâmica SIR com quarentena voluntária e ''mc.h'' para o suporte com os números aleatórios. O primeiro código gerará três arquivos de saída: ''outup.txt'', contendo a evolução temporal do SIR, ''output_dinamica_sir.txt'', com o vetor de indivíduos contendo o estado SIR de cada um, sendo que cada linha corresponde a um tempo e ''output_dinamica_loc.txt'', com o vetor de indivíduos contendo o estado de quarentena de cada um, sendo que cada linha corresponde a um tempo. Para realizar a visualização, é utilizado o arquivo ''visualizacao.py'' que lê os arquivos gerados e faz os gráficos buscados (note, que está separado em blocos por ''#%%'', sendo possível utilizar apenas alguns softwares como ''Spyder'' ou ''Visual Studio''); alguns comandos para geração das animações no ''gnuplot'' estão comentados ao longo do código e podem ser usados. | Os códigos estão disponíveis No [https://replit.com/@JuliaRemus/sirmodificado#README.md projeto criado no Replit], os arquivos utilizados foram ''versao_viz_quarentena.c'' para a dinâmica SIR com quarentena voluntária e ''mc.h'' para o suporte com os números aleatórios. O primeiro código gerará três arquivos de saída: ''outup.txt'', contendo a evolução temporal do SIR, ''output_dinamica_sir.txt'', com o vetor de indivíduos contendo o estado SIR de cada um, sendo que cada linha corresponde a um tempo e ''output_dinamica_loc.txt'', com o vetor de indivíduos contendo o estado de quarentena de cada um, sendo que cada linha corresponde a um tempo. Para realizar a visualização, é utilizado o arquivo ''visualizacao.py'' que lê os arquivos gerados e faz os gráficos buscados (note, que está separado em blocos por ''#%%'', sendo possível utilizar apenas alguns softwares como ''Spyder'' ou ''Visual Studio''); alguns comandos para geração das animações no ''gnuplot'' estão comentados ao longo do código e podem ser usados. | ||
[[Arquivo: | [[Arquivo:fluxograma_sir_quarentena_certo.png|center|thumb|800px|Fluxograma para a dinâmica SIR com quarentena]] | ||
[[Arquivo:diagrama_jogo.png|thumb|center|600px|Fluxograma para a quarentena voluntária]] | [[Arquivo:diagrama_jogo.png|thumb|center|600px|Fluxograma para a quarentena voluntária]] | ||
Edição das 17h26min de 26 de novembro de 2021
Em construção
Grupo: Gabriel Schmökel, Julia Remus e Luis Gustavo Lang Gaiato
O objetivo do trabalho é realizar a implementação do modelo SIR (Suscetível, Infectado e Recuperado) e de um modelo simplificado do proposto pelo artigo "An epidemiological model with voluntary quarantine strategies governed by evolutionary game dynamics" [1] utilizando Monte Carlo.
Será apresentada uma breve introdução sobre o tema e as equações que envolvem o desenvolvimento dos cálculos, as implementações e seus respectivos resultados.
Introdução
A pandemia atual mostrou que táticas para mitigar o avanço da doença dependem não só de medidas tomadas por governos, mas também da percepção do indivíduo nesse meio. Essa percepção depende da métrica utilizada por cada pessoa, levando em consideração fatores como: prejuízos psicológicos, situação econômica, o entendimento sobre o que é certo (como a sociedade o enxerga, quais as verdades que são consideradas pelo indivíduo), a escolha pelo bem comum, entre outros. A visão do indivíduo pode mudar ao longo do tempo e, com isso, modificar como a doença evolui - como é quantificado pela formação de ondas de infecção atualmente. [2]
A fim de simular esses cenários de pandemia com e sem a percepção do indivíduo, propõe-se um trabalho com o objetivo de realizar a implementação do modelo SIR e de um modelo simplificado do proposto pelo artigo "An epidemiological model with voluntary quarantine strategies governed by evolutionary game dynamics" [1] utilizando Monte Carlo.
O modelo apresentado por Marco Amaral, et al [1] propõe que o indivíduo escolha adequar-se a uma das estratégias da quarentena (fazer ou não) dependendo do risco que observa a partir da quantidade de infectados no sistema. Acoplada à escolha da estratégia, está o modelo SIR com parâmetros distintos para indivíduos não isolados e isolados. Para a simulação, os autores utilizam a teoria de campo médio, obtendo ondas de infecção ao longo do tempo.
Neste trabalho, a escolha da estratégia pelo indivíduo se dará de acordo com o estado dos seus vizinhos mais próximos - utilizado o dilema do prisioneiro - enquanto a evolução dos infectados no sistema será realizada com o modelo SIR, assim como no trabalho citado. Para a simulação foi utilizado o método de Monte Carlo.
O esquemático do modelo SIR com a escolha da quarentena pode ser visto na seção Modelo SIR com quarentena voluntária.
Modelos
Modelo SIR
Em 1927 Kermack e McKendrick elaboraram o modelo SIR que tinha como função descrever o comportamento de uma pandemia [3]. O modelo SIR é um dos mais simples modelos comportamentais, o qual descreve a variação de três parâmetros ao longo do tempo:
- Suscetível (S): Número de indivíduos suscetíveis. Quando um indivíduo suscetível e um infectado entram em contato, o indivíduo suscetível tem uma probabilidade de contrair a doença, caso contraia o indivíduo deixa de ser suscetível e torna-se infectado.
- Infectado (I): Número de indivíduos infectados. Indivíduos infectados tem uma probabilidade de infectar indivíduos suscetíveis quando em contato, e uma probabilidade de tornar-se indivíduos removidos a medida que tempo avança.
- Recuperado ou Removido (R): Número de indivíduos removidos (recuperados ou mortos pela doença). Indivíduos que foram infectados, tornam-se recuperados ou mortos pela doença, desta forma entram na classificação de indivíduos removidos, já que não são mais suscetíveis a pegar a doença, pois adquiriram imunidade. Assumindo que o número de mortos é irrelevante ao se comparar com a população total, então o parâmetro R recebe o nome de indivíduos recuperados ou resistentes.
A dinâmica de uma epidemia geralmente é mais rápida do que os números de nascimentos e óbitos, por essa razão se omite estás quantidades no modelo comportamental simples do SIR. Usando uma população fixa, Kermack e McKendrick chegaram nas seguintes equações diferenciais que descrevem a dinâmica de uma epidemia [3]:
O sistema descrito pelas equações acima é não linear, porém é possível derivar uma solução analítica de forma implícita [4].
A população total no SIR é constante, e pode ser expressada pela soma total dos indivíduos suscetíveis, infectados e removidos:
Na forma normalizada a expressão (4) é representada por:
A taxa de transmissão da doença é dada pela variável beta, está depende de outras duas variáveis. A primeira indica a "transmissibilidade", definida por Tau, a segunda indica o "número médio de contatos" entre infectados e suscetíveis, indicada por "c barra". Portanto, pode-se escrever a taxa de transmissão pela expressão:
A taxa de remoção da doença, indicada por , é o inverso do período infeccioso, indicada por , que o indivíduo permanecerá doente. Note, que quanto maior o período infeccioso, mais demorada é a remoção de Infectados para Removidos.
Dinâmica do Modelo SIR e o Número de Reprodução
O número básico de reprodução, , corresponde ao número médio de pessoas que serão contaminadas pela doença quando um indivíduo infectado é introduzido em uma população completamente suscetível [5].
Conforme o valor de temos o seguinte comportamento [5]:
- epidemia crescente;
- equilíbrio endêmico;
- epidemia decrescente.
Pode-se interpretar melhor o comportamento do número de reprodução analisando a curva . Para obter essa função dividimos a expressão (2) pela expressão (1) na forma normalizada, posteriormente integramos ambos os lados da igualdade, assim chegamos em:
Derivando a expressão (9) em relação a observa-se que a função atinge o ponto de máximo quando . Nas situações em que temos e , obtemos respectivamente o comportamento crescente e decrescente para função . Na sequência é plotada a curva para diferentes valores de . Observe que o sentido da abscissa é negativo para o avanço da pandemia.
Figura
Quando a condição inicial está à direita da reta a epidemia irá aumentar o seu número de infectados, pois é menor que . O número de infectados irá aumentar até o número de indivíduos suscetíveis ser igual a , posteriormente o número de infectados irá decair. Já quando a condição inicial está à esquerda da reta a epidemia irá diminuir o seu número de infectados, pois é menor do que .
Modelo SIR com quarentena voluntária
No esquemático pode-se ver o modelo utilizado no trabalho, ele é uma simplificação do artigo escrito por Amaral, et al [1]. Nele temos:
- Componentes suscetíveis podem estar ou não em quarentena. A probabilidade para a escolha da quarentena ocorrer depende de quantos infectados há nos vizinhos.
- Ao escolher estar ou não em quarentena, esses componentes têm probabilidades diferentes de adquirir a doença ( e ) e se tornar infectados.
- Infectados possuem a mesma probabilidade de se tornarem recuperados.
- Após recuperados da doença, as pessoas não conseguem adquiri-lá novamente.
- Todos os indivíduos escolhem estar ou não isolados, modificando a escolha do vizinho, mas somente a quarentena dos suscetíveis afeta a evolução SIR.
Para simular a quarentena voluntária é utilizado o jogo definido pelo Dilema do Prisioneiro. Esse dilema descreve a situação em que dois condenados (A e B) precisam decidir se cooperam ou não sem saber a decisão do seu par. Para isso temos quatro possibilidades: A e B cooperam (ambos saem com uma recompensa R), A coopera mas B não coopera (B ficaria com o valor da tentação T e A com o custo do sonso S), o caso contrário onde A não coopera e B coopera e A e B não cooperam (ambos ganham com uma penalidade P). [6]
Essas possibilidades podem ser resumidas em uma matriz de perdas e ganhos (matriz de payoff ou forma normal):
A coopera | A não coopera | |
---|---|---|
B coopera | R / R | S / T |
B não coopera | T / S | P / P |
Os valores da matriz payoff devem obedecer a ordem . Além disso, para simulações com várias iterações deve ser obedecido que . [6]
A proposta de observar a evolução da infecção dependendo da quarentena precisa utilizar mais de um par de interagentes, por isso é definido uma rede onde cada componente possui um ponto fixo. A partir disso, cada um desses componentes interage com seus quatro vizinhos mais próximos (para os pontos do contorno é utilizado que as bordas são unidas por condições de contorno periódicas). [6]
Segundo Hauert e Szabó [6], os colaboradores tendem a ser extintos em jogos que consideram a interação aleatória, independente da sua concentração inicial, ou seja, todos tendem a não ganhar nada (não colaborar mutuamente) a fim de reduzir custos. Enquanto isso, se for proposto que um componente só escolhe uma estratégia conforme seus vizinhos, é visto a formação de clusters de cooperadores e de não cooperadores; com isso, os componentes que estão na borda desses espaços, ganham na interação com os vizinhos colaboradores e perdem com a outra interação.
A probabilidade de escolha pela troca (adquirir a mesma tática que o vizinho) é dada pela equação abaixo. As variáveis são: é a performance de um dos vizinhos do sítio (soma dos ganhos e perdas pela matriz payoff), é a performance do sítio, calculada pela interação entre os seus vizinhos da mesma forma que e é a irracionalidade dos componentes. [6]. Dado um número aleatório entre e , se este for maior que a probabilidade o sítio adota a estratégia do vizinho escolhido anteriormente.
Esse jogo de quarentena é acoplado ao sistema SIR anteriormente descrito. A única diferença para o SIR sem o jogo é que as probabilidades de um componente se tornar infectado mudam a partir do seu estado de quarentena.
Implementação
Os códigos da simulação foram implementados na linguagem C, para a visualização foi utilizada a linguagem Python. Ambos scripts estão disponíveis no projeto criado no Replit.
Implementação modelo SIR
Implementação modelo SIR com quarentena voluntária
Algumas modificações são realizadas a partir do código anterior para adicionar a quarentena voluntária: a probabilidade do indivíduo passar de suscetível a infectado depende da escolha pela quarentena e é adicionada a escolha de se isolar ou não.
A estrutura principal do código é dada pelo laço temporal onde a cada tempo é chamado o modelo SIR e o jogo da quarentena. Antes de entrar no loop é realizada a inicialização do sistema definindo o estado SIR e de quarentena dos indivíduos em vetores distintos e a matriz payoff do jogo. A seguir é possível visualizar o fluxograma para as funções da evolução do SIR e do jogo da quarentena.
Os códigos estão disponíveis No projeto criado no Replit, os arquivos utilizados foram versao_viz_quarentena.c para a dinâmica SIR com quarentena voluntária e mc.h para o suporte com os números aleatórios. O primeiro código gerará três arquivos de saída: outup.txt, contendo a evolução temporal do SIR, output_dinamica_sir.txt, com o vetor de indivíduos contendo o estado SIR de cada um, sendo que cada linha corresponde a um tempo e output_dinamica_loc.txt, com o vetor de indivíduos contendo o estado de quarentena de cada um, sendo que cada linha corresponde a um tempo. Para realizar a visualização, é utilizado o arquivo visualizacao.py que lê os arquivos gerados e faz os gráficos buscados (note, que está separado em blocos por #%%, sendo possível utilizar apenas alguns softwares como Spyder ou Visual Studio); alguns comandos para geração das animações no gnuplot estão comentados ao longo do código e podem ser usados.
Resultados e Discussão
Resultados SIR
colocar aqui o I(s) tambem
Resultados SIR com quarentena voluntária
Para os gráficos abaixo mostrados foram utilizadas os seguintes parâmetros:
Simulação | Dinâmica SIR | Matriz de Payoff | |||||||
---|---|---|---|---|---|---|---|---|---|
Tempo (passos) | Número de indivíduos | ||||||||
500 | 60 | 0.0 | 0.3 | 0.6 | 1.04 | 0.0 | 1.0 | 0.0 | 0.1 |
É utilizado que os indivíduos em isolamento estão distribuídos aleatoriamente; inicialmente é proposto uma relação de 1:1 de estados de quarentena. A dinâmica SIR sem o jogo é realizada definindo que nenhuma pessoa está isolada. Com essas premissas e com os parâmetros os resultados obtidos são apresentados a seguir, neles é possível comparar a simulação com a escolha da quarentena e sem.
Com esses resultados é possível perceber que a quarentena auxilia na diminuição das infecções iniciais, ainda assim, não é vista a formação de uma segunda onda de contaminação com esses parâmetros. Abaixo são mostradas as animações com a evolução da doença e do isolamento no sistema.
Para entender o efeito do estado inicial de isolamento no modelo, são comparadas as curvas do modelo SIR com quarentena voluntária variando a proporção entre indivíduos quarentenados e não quarentenados. Percebe-se que quando o sistema é iniciado com um total próximo de 80%, existe uma tendência de aumento nos casos após um tempo - por esse motivo será discutido com mais detalhes posteriormente -, com 90% de quarentenados a melhor escolha para os indivíduos é se manter em isolamento. Para os outros valores, percebe-se apenas uma diminuição dos casos conforme a fração de isolados. A porcentagem na legenda é de indivíduos em quarentena.
No gráfico acima, foi possível perceber que em torno de 20% de não isolados um comportamento ondulatório de infecções começa a aparecer - esperado para o modelo SIR com quarentena voluntária [1]. No gráfico a seguir é possível ver a evolução dos suscetíveis, infectados e recuperados para esse caso e, em seguida, é mostrada a evolução da quantidade de indivíduos quarentenados e infectados.
Acima é possível fazer uma relação entre diminuição de componentes em isolamento e infectados.
É feito uma simulação utilizando 18% da população não isolada e os resultados são mais satisfatórios, pois há maior correlação entre isolamento e infecção, como é possível observar no gráfico abaixo. A evolução também pode ser observada na animação em seguida, onde 0 são os indivíduos em quarentena e 1 os sem quarentena. Na animação SIR 2 equivale ao suscetível, 0 é o infectado e 1 são os recuperados.
Para a inicialização com 82% dos indivíduos isolados consegue-se perceber que a infecção se dá nos espaços onde existem mais pessoas fora da quarentena nos primeiros tempos, o resto da população se quarentena e atrasa a sua infecção e de seus vizinhos.
Os resultados obtidos mostram que a quarentena voluntária diminui significativamente o número de infectados na primeira onda, tendência prevista por outras pesquisas e que evita o esgotamento dos serviços de saúde. [7]
Outro comportamento observado nos dados da Covid-19, foi o aparecimento de ondas de contaminação, isto é, uma sucessão de aumentos e diminuições na quantidade de infectados. Foi observado que tanto os parâmetros da matriz de payoff e os da dinâmica SIR quanto o sistema inicial da quarentena, interferem na evolução da doença de maneiras diferentes, expressando tanto comportamentos ondulatórios quanto similares ao SIR normal. Diferentemente do observado pelo método do campo médio, o comportamento ondulatório foi mais sutil, parecendo representar de maneira mais satisfatória os dados observados para o Covid-19.
Próximos Passos
Algumas pendências são deixadas para um futuro trabalho:
- Fazer a evolução da doença SIR olhando a infecção dos vizinhos
- Estudar melhor a relação entre parâmetros (SIR e quarentena) e a quantidade inicial de indivíduos isolados
- Buscar se há diferenças quando a percepção do componente está só no primeiro vizinho e quando ele consegue ver mais o sistema
- Desenvolver um jogo onde a escolha pela quarentena seja dada pelo estado infectado ou não do vizinho, não pela sua quarentena
Referências
- ↑ 1,0 1,1 1,2 1,3 1,4 AMARAL, Marco; OLIVEIRA, Marcelo de; JAVARONE, Marco, An epidemiological model with voluntary quarantine strategies governed by evolutionary game dynamics. arXiv:2008.05979v2 [physics.soc-ph] .
- ↑ BAVEL, Jay; et al, Using social and behavioural science to support COVID-19 pandemic response. DOI: https://doi.org/10.1038/s41562-020-0884-z .
- ↑ 3,0 3,1 MCKENDRICK, A.G.; KERMACK, W. O.. Mathematical Theory of Epidemics. Disponível em: https://gallica.bnf.fr/ark:/12148/bpt6k56208r/f728.item.langFR
- ↑ Harko, Tiberiu; Lobo, Francisco S. N.; Mak, M. K. (2014). "Exact analytical solutions of the Susceptible-Infected-Recovered (SIR) epidemic model and of the SIR model with equal death and birth rates". Applied Mathematics and Computation. 236: 184–194. arXiv:1403.2160. Bibcode:2014arXiv1403.2160H. doi:10.1016/j.amc.2014.03.030. S2CID 14509477
- ↑ 5,0 5,1 M.G.Roberts. The pluses and minuses of r 0 . Journal of the Royal Society interface4, 2007.
- ↑ 6,0 6,1 6,2 6,3 6,4 HAUERT, Christoph; SZABÓ, György. Game theory and physics. DOI: 10.1119/1.18485144 .
- ↑ MAGENTA, Matheus. Quarentenas funcionam para combater o coronavírus? Veja o que dizem os estudos. BBC News. Disponível em: <https://www.bbc.com/portuguese/internacional-52830618>