基於Anylogic的SEIR模型建模與仿真
SEIR模型描述
SEIR由下面四個階段構成。
susceptible:易得病的
exposed:暴露的(已得病 ,處於潛伏階段)
infectious:感染的
recovered:復原的(不會再復發)
我們要建立一個模型來顯示傳染性疾病在大量人羣中的傳播情況 。 一個人羣有10000人 (TotalPopulation) 其中 一個人具有傳染性 。
- 傳染階段每人每天平均接觸1.25人 (ContactRatelnfectious=1.25),如果感染者 (I) 與 易感 者 (S) 接觸, 則S的感染概率爲0.6(Infectivity=0.6)。
- 感染後感染潛伏期 持續10天 (AveragelncubationTime=10);用 exposed 來描述處於潛伏階段 (E) 的人 。
- E階段結束後 進入傳染階段 (I) 此階段持續15天(AverageIllnessDuration= 15) 。
- 從疾病中康復的人免疫第二次感染。
用系統動力學方法建模
存量和流量
在系統動力學中,存量也稱爲水平 、積累或狀態變量,代表了真實世界中的材料 、 知識 、 人羣 、 貨幣等 。 流量定義了它們的變化率,即存量的值如何變化,從而定義了系統的 動態特性 。
通過從菜單中選擇文件 →新建 →模型命令來創建一個新模型,並將其命名爲 SEIR 。 選擇天作爲模型時間單位 。
建模過程
從系統動力學面板中將四個存量拖拽至圖紙中,將其分別命名爲
Susceptible,Exposed,Infectious 和 Recoverd 。
- 從Susceptible 存量中流入Exposed 存量 。雙擊流量要流出的存量Susceptible 並單擊流量要流入的存量( Exposed )。
- 添加一個從Exposed 流向 Infectious 的流量,並將其命名爲InfectiousRate 。
- 添加從Infectious 流向 Recoverd 的流量,並將其命名爲RecoverdRate 。
添加5個參數對象,設定初始值和附屬鏈接
- 添加5個參數對象
- 初始值和附屬鏈接設定。
注意: Totalpopulation 和 Susceptible之間應該設定一個附屬鏈接。
爲ExposedRate流,InfectiousRate流和RecoverdRate流定義公式
- 爲ExposedRate流定義公式。
- 爲InfectiousRate流和RecoverdRate流定義公式。
仿真結果
運行模型並通過變量的檢查窗口觀察其動態特徵。雙擊變量即可打開
變量的檢查窗口。
添加圖表來顯示動態過程
從分析面板中將時間折線圖拖拽到圖紙中。在屬性中,修改數據項的屬性並且添加數據項。
運行模型
敏感性分析
右擊Main新建實驗。
點擊完成,然後點擊屬性修改其名稱。
考慮接觸率變化對感染人數的影響,單擊Infectious存量右擊,選擇創建數據集,然後點擊屬性。
時間窗設定爲300以及其他參數設定。
運行SEIR/ ContactRateVariation