Code makes the world a better place

傳染病 SIR 模型與機率模型介紹與簡易模擬

1. 簡介

最近武漢肺炎人心惶惶,有台大教授發表化學動力論來模擬傳染變化,而其實我高中時也做過類似的事,就是我的「傳染病之數學模型與個體導向模擬」科展。啟發於科學人雜誌《虛擬城市:天花來了》,文中藉由科學模擬來進行流行病預測與防治,我覺得十分有趣,那陣子對伊波拉病毒想深入研究加上也覺得寫程式好玩,因此就做了那個科展,本篇大致將我高中時的科展報告重新整理。

本文介紹 SIR 模型來做大尺度傳染病預測,同時也用機率函數來做個體導向的微觀尺度模擬,用兩種方式來模擬傳染病的擴散狀況。

公共衛生對傳染病研究有很多理論模型,其中隔間模型(Compartmental Model)藉由假設整個人口被區分成幾個群體,並且在同一群體中所有個體皆有一樣的特性,藉由這幾個假設可以簡化傳染病的社學模型。

在隔間模型中,易感受-感染者-康復者模型(SIR Model)是指由人口由易感受族群(Susceptible, $S$)、已感染族群(Infectious, $I$)、已康復族群(Recovered, $R$)三個部分組成的傳染病模型。模型假設傳染病可以藉由直接接觸傳染,並且每個人會隨機接觸其他人。模型中有兩個重要參數,分別是感染族群傳染給健康族群的傳染力(transmission rate)$β$,以及感染族群恢復的康復力(rate of recovered) $γ$。

機率模型則是本文藉由分布函數去模擬個體互動是否造成感染的簡易模型。

Continue reading

馬可夫鍊模擬 Markov Chain Simulation

        馬可夫鏈 (Markov chain) 或稱馬可夫過程 (Markov process)是一種隨機過程,在數學上只要這傳遞矩陣有一些好的性質,就可以證明經由這馬可夫鏈抽樣的分佈會收斂到想要的機率分佈。
這邊我簡單模擬有一群人,分為AB兩種狀態,並且一開始兩種狀態人數相同,而每回合 中的每個人會有 aRate 機率變 B中的每個人會有 bRate 的機率變 A。如此進行多回合。(這是 Agent-Based 而不是直接矩陣運算)

高中科展(二):傳染病之數學模型與個體導向模擬

        學測考完之後,有差不多一個月的寒假,很早就有想做第二個科展的想法,因此就決定開始動工。一開始野心很大,報名了學校的物理科跟應用科學科,後來發現時間會不夠,而且物理挑的光學題目困難度比較高,牽涉到比較深的數學,因此就只做應用科學。在一期<科學人>雜誌中曾閱讀到一篇《虛擬城市:天花來了》,文中藉由科學模擬來進行流行病預測與防治,此外也閱讀到多篇流行病相關的文章,因此基於好奇與樂趣,想完成一個由建立在科學模擬與流行病模型的流行病研究。
Continue reading