18.扩散模型

"""
扩散模型

大多数传染病,以及关于产品、思想和技术突破的信息,都是通过口口相传而传播开来的,扩散模型刻画了这些过程。
口口相传也就意味着并不是时刻都有一个广播在向所有人发出消息,广播模型就类似于新闻联播,一个人由易感者变
为知情者的概率取决于他看到新闻联播的概率,假设每天的新闻联播覆盖率是一定的,则每天的覆盖人群就是一定的。

扩散模型没有强大背景,扩散模型要依靠个人的口碑传播,扩散的人数取决于一个人能接触到的人数以及能成功分享
的概率


本期的累积感染人数 = 上期的累积感染人数 + 本期的有效感染人数
本期的有效感染人数 = 本期的可感染人数 * 感染率
本期的可感染人数 = 总的可感染人数 - 上期的累积感染人数

本期的累积感染人数 = 上期的累积感染人数 + (总的可感染人数 - 上期的累积感染人数) * 感染率


感染率是指平均每个人被感染的概率,它取决于每个人接触到感染源的概率以及被感染源感染的概率,假定传染概率
是固定的,每个人接触到感染源的概率取决于群体中感染源的密度,密度越大接触概率越大。当然这也是基于感染源
是平均分散于群体中的。对于这个假设,我们应该保持警惕。就描述幼儿园内传染病传播的扩散模型而言,这可能是
一个准确的假设,因为幼儿园里儿童之间的相互接触是高频率的。但是,如果将它应用于城市人口则是有问题的。在
城市中,人们并不是随机混合的。人们在一定的社区中生活,在一定的场所内工作,他们属于工作团队、家庭和社会
团体,他们的互动主要发生在这些群体中。但是同时也不要忘记,一个假设要成为有用模型的一部分,其实不一定非
得十分准确不可。因此,我们将继续使用这个假设,同时保持开放的心态,在需要改变的时候随时改变这个假设。


本期的累积感染人数:cumulativeSum_up_to_this_time(sum_this)
上期的累积感染人数:cumulativeSum_up_to_last_time(sum_last)
总的可感染人数:total_people(total_num)
感染源密度:density
分享概率:share_probability(share_prob)


sum_this = sum_last + (total_num - sum_last) * density * share_prob

"""
原文地址:https://www.cnblogs.com/waterr/p/13948037.html