SIR模型疫情計算機
以確定性傳染病模型,模擬易感、感染及康復族群的變化。
SIR疫情模擬
輸入各類族群的初始人數、每日傳播率與康復率,以及模擬期間。
認識SIR疫情模型
SIR模型是探討傳染病傳播的基礎數學架構。它將封閉族群分為三類:可能受到感染的易感者、能傳播疾病的感染者,以及假設已具有免疫力且不再具傳染性的康復者。模型名稱來自這三類族群的英文首字母S、I與R。在每個時間步中,人員由易感狀態轉為感染狀態,再由感染狀態轉為康復狀態;總人口維持不變。
傳播率以beta表示。每個模擬日的新增感染人數,等於beta乘以易感人數及感染人數,再除以總人口。康復率以gamma表示,新增康復人數等於gamma乘以感染人數。對應的微分方程式為dS/dt = -beta SI/N、dI/dt = beta SI/N - gamma I及dR/dt = gamma I。本計算機以一天為步長的歐拉法近似這些連續方程式,並限制每日轉移人數不得超過來源族群的人數。
在最簡單的SIR假設下,beta除以gamma就是基本再生數。數值大於一,表示當幾乎所有人都易感時,感染人數初期可能增加;小於一則表示減少。隨著易感人數下降,有效再生數也會降低,因此即使基本再生數大於一,疫情仍可能達到高峰。顯示的高峰是模擬期間最多的感染人數及其發生日期。最終各類人數描述的是所選時間終點的模型狀態,不一定代表疫情完全結束時的狀況。
真實疫情很少符合所有SIR假設。族群具有不同年齡層、接觸網絡、出生、死亡、遷移、疫苗接種、行為改變、不同的傳染期、漏報及再次感染。beta與gamma也可能隨時間變動。一天的數值步長適合學習與快速情境分析,但精度不如更小步長的數值求解器或經擬合的統計模型。請勿將輸出作為預測或公共衛生決策依據。可靠的預測需要經過校準的資料、不確定性區間、敏感度分析,以及熟悉病原體與監測系統的流行病學專家審查。
SIR模型範例
以下範例說明傳播率與康復率假設如何改變疫情曲線。
| 起始情境 | 預期趨勢 | 解讀 |
|---|---|---|
| N 10,000;S 9,990;I 10;beta 0.3;gamma 0.1;100天 | R0為3,初期感染增加 | 社區疫情示例 |
| N 1,000;S 990;I 10;beta 0.08;gamma 0.1;60天 | 感染人數整體下降 | R0低於1 |
| N 50,000;S 39,990;I 10;R 10,000;beta 0.2;gamma 0.1 | 增長速度低於全體易感的族群 | 既有免疫力降低實際傳播 |
如何執行SIR模擬
- 輸入總人口及初始易感、感染、康復人數,確認三者合計等於總人口。
- 以小數輸入假設的每日傳播率與康復率。
- 選擇要模擬的整數天數。
- 執行模型,比較最終各類人數、感染高峰及再生數。
SIR模型常見問題
beta與gamma是什麼意思?
在此簡化模型中,beta控制可能造成感染的接觸速率。gamma是每日康復率,其倒數近似於平均傳染期。
R0大於一表示什麼?
在模型假設下,每位感染者初期平均造成超過一例新感染。這表示可能增長,不是保證會發生的預測。
為什麼三類人數必須等於總人口?
封閉的SIR族群中,每個人必須且只能屬於一類。總數不符會憑空增加或遺漏人員,違反方程式的守恆關係。
模型包含疫苗接種或再次感染嗎?
此基礎版本不包含疫苗接種的人群轉移,也不包含免疫力喪失。進階分艙模型可以加入這些機制。
以一天為步長的模擬有多準確?
每日歐拉步長提供容易理解的近似結果,適合學習與情境比較。研究或政策工作應使用經校準的模型、更精細的數值方法及不確定性分析。