1. 程式人生 > >SIR模型簡單瞭解(Susceptible Infected Recovered Model)

SIR模型簡單瞭解(Susceptible Infected Recovered Model)

SIR模型定義

SIR模型是一種傳播模型,是資訊傳播過程的抽象描述。
SIR模型是傳染病模型中最經典的模型,其中S表示易感者,I表示感染者,R表示移除者。

S:Susceptible,易感者
I:Infective,感染者
R:Removal,移除者


SIR模型的應用

SIR模型應用於資訊傳播的研究。

傳播過程大致如下:最初,所有的節點都處於易感染狀態。然後,部分節點接觸到資訊後,變成感染狀態,這些感染狀態的節點試著去感染其他易感染狀態的節點,或者進入恢復狀態。感染一個節點即傳遞資訊或者對某事的態度。恢復狀態,即免疫,處於恢復狀態的節點不再參與資訊的傳播。


開始我的表演

  • SIR模型
    這個上面說了,就不重複了。這裡就舉兒童爆發麻疹的疾病為例。
    在這裡插入圖片描述

  • SIR的微分方程
    圖片中的公式少了一道,以下列公式為準哈~~

S = S t

+ 1 S t = d
S
d t
= a S ( t ) I ( t ) = a S I S' = S_{t+1}-S_{t}=\frac{dS}{dt}=-aS(t)I(t)=-aSI
I = I t + 1 I t = d I d t = a S ( t ) I ( t ) b I ( t ) = a S I b I I' = I_{t+1}-I_{t}=\frac{dI}{dt}=aS(t)I(t)-bI(t)=aSI-bI
R = R t + 1 R t = d R d t = b I ( t ) = b I R' = R_{t+1}-R_{t}=\frac{dR}{dt}=bI(t)=bI
a b a為感染率、b恢復率

注意:

t為某個時刻,例如t=1,S(1)為第一天易感人群的人數。
無論t為什麼時刻,總人數是不變的,即N(t)=S(t)+I(t)+R(t)。
人口總數總保持一個常數,即N(t)=K,不考慮人口的出生、死亡、遷移等因素。

在這裡插入圖片描述

  • 手動跑一下SIR模型

我們初始化資料:
a = 0.00001 a=0.00001
b = 1 14 b=\frac{1}{14}
S ( 0 ) = 45400 S(0)=45400
I ( 0 ) = 2100 I(0)=2100
R ( 0 ) = 2500 R(0)=2500
N ( 0 ) = S ( 0 ) + I ( 0 ) + R ( 0 ) = 50000 N(0)=S(0)+I(0)+R(0)=50000
在這裡插入圖片描述

我們推算出第一天:
S ( 1 ) = 44446.6 S(1)=44446.6
I ( 1 ) = 2903.4 I(1)=2903.4
R ( 1 ) = 2650 R(1)=2650

我們推算出第二天:
S ( 2 ) = 43156.1374156 S(2)=43156.1374156
I ( 2 ) = 3986.476870114286 I(2)=3986.476870114286
R ( 2 ) = 2857.385714285714 R(2)=2857.385714285714
明顯,易感者的人數下降,感染者和免疫者的人數上升。但無論第幾天,總人數還是不變。


總結

SIR模型就介紹到這裡了,啦啦啦~
對了,尊重原創:SIR疾病傳播模型理論(通俗易懂)