pholme / sir

Pretty quick code for regular (continuous time, Markovian) SIR on networks
8 stars 5 forks source link

Somewhat different model than in lit #1

Closed michael-lachmann closed 4 years ago

michael-lachmann commented 4 years ago

Hi,

I expanded the model a bit to allow it to do SEIR and other things, but after a few days I noticed that the model does things a bit differently than others. Other models assume that if I have a degree k, so am connected to k other nodes, then my chance to transmit to any of them is divided by k. This way the total transmission rate isn't increased when an individual has more contacts. But I think that in this model, you don't divide by degree, so with k contacts my chance to transmit to someone is oncreased k fold. I'm not sure if it is clear which of these approaches is better. Maybe nodes need two parameters - number of contacts and contact rate. It would be worthwhile to point out this difference. Here is an example of a paper that divides by degree: https://doi.org/10.1016/j.physa.2015.04.007

pholme commented 4 years ago

Thanks for the comment. You are right and I should have specified that better. However, I think in most of the literature it works as in my code. That also makes more sense from an epidemiological point of view—some individuals simply have more contacts and are both more susceptible and have more expected others they would infect. (Indeed that is disease like gonorrhea can survive even though the R0 is much below 1.)

michael-lachmann commented 4 years ago

Yes, you are right. I wrote that comment when I knew even less about network models than I know now. I saw a few papers using the normalized way, and panicked, switching my code to normalized. Then I realized it doesn't really make sense. Especially for network models, you can't pretend that you can simply normalize on the degrees of individuals.