簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻

本文作者,Patrick Honner,中學數學教師。

翻譯作者,Math001,哆嗒數學網翻譯組成員。


關注 哆嗒數學網 每天獲得更多數學趣文


編者按:這篇文章儘量用最簡單的數理分析揭示了諸如謠言、流行病的傳播機制。文章後半部分關於疫苗接種的分析,不代表我們哆嗒數學網小編對現實場景的具體建議和暗示。現在,好消息是國家疾控中心已經開始研發針對當前流行病的苗。無論如何,我們可以從這些分析中總結一點:做好自己,保證自己不被感染,就能為社會做出巨大貢獻——無論是針對謠言,還是疾病。


簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻


我們假設你聽到了一個添油加醋的謠言,你沒忍住告訴了別人。好在大家都不喜歡當八婆,都只告訴一個人,然後就不再和其他人再提起這件事。這就沒什麼大不了的,是吧?畢竟,如果每個人都遵照這個傳播規則——只告訴一個人,然後閉嘴——那麼這個留言不會傳播得太快太遠。假設每天有1個人聽到這件事,30天后,也只有31個人知道它,這31個人當中,還包括你自己。


但是,如果每個人給兩個人說這件事呢,事情會怎麼樣呢?那會變得相當的恐怖!如果每天,每個人向2個之前不知道的人傳播謠言,那麼30天后,超過全球四分之一的人會知道它(2 ^31 -1 = 2,147,483,647 的人,2^31表示2的31次方)。我們不過就是把之前的告訴一個人變成告訴兩個人而已,為什麼這一個小小的變化會導致結果巨大的改變?答案就在兩者增長方式的變化率上。


第一個場景中,聽到謠言的人數是以相同數量新增的,都和昨天一樣。今天新增多少,明天新增多少,後天新增多少,統統一樣。就是說,每天新增的謠言知曉人數是固定不變的常數。在我們給的例子中,這個常數等於1 。


但是,如果聽到流言的新增人數都兩倍於昨天,那麼新增人數就是指數增長:第一天2個人聽到謠言。第二天,就會新增4個謠言知曉新增人數,第三天就8個,一直持續。到第30天的時候,就有2^30(2的30次方)的人第一次聽到流言。


為什麼兩個場景的產生的結果有如此之大的差異?這個和線性函數與指數函數的性質有關。線性函數的增長率是一個常數,比如第一個場景裡,每天新增的謠言知曉人數。線性函數,增長是緩慢而穩定的。在相同時間內,增長的數量是恆定的。指數函數是另外一種增長模式,它是按照某種比例成倍增長:2個人知道了流言,然後告訴4個人、8個人、16個人……,和線性函數的增長不一樣,指數函數的增長是不斷加速的增長——增長量本身還在持續增長。


這就是造成30天后一個結果是31,另一個結果是20億,如此巨大差別的原因。就是說,當你聽到謠言時,你擴散給一個人還是兩個人,就有如此之大的差別。


簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻


這裡有個簡易的數學模型,來揭示那些具有複製傳播特徵現象的本質,他能解釋的東西遠遠不止謠言傳播那麼狹窄。當然,和所有的簡易模型一樣,為了簡化,暫不考慮一些複雜的因素——比如傳播概率和傳播載體總量——但這個模型依然能解釋清楚類似疾病、謠言是如何越傳越多,越傳越大的。


疾病的傳染和謠言的傳播有很大的相似之處:從某個人發起,然後傳播到另外的人。兩者當然有區別,但是這個簡易的數學模型是適合這兩種不同情況的。在剛剛關於謠言的簡單示例中,我們看到了看似很小的謠言傳播速度差異如何造成最終人數數量差異。在傳染病方面也是如此,疾病能傳染給一個人與能傳染給兩個人之間的差異,可能就是一些普通傳染病與流行病之間的差異。


每一種傳染病都在某個範圍內傳播,其傳播速度取決於疾病的生物特性、環境因素、社會因素。流行病學家試圖總結所有這些因素對感染的“基本再生數”(basic reproduction number)的影響。這是每個感染者預期傳播給新的感染者的平均數量,用R0表示。在上面我們的謠言傳播的兩個不同例子中,基本再生數分別是R0 = 1(每個人只將謠言傳播給一個人)和R0 = 2(每個人將謠言傳播給兩個人); “傳染期”是一天。


下面是一些常見疾病的基本再生數(數據引自美國CDC和NIH)。


麻疹: 12≤R0≤18
天花: 5≤R0≤7
腮腺炎: 4≤R0≤7
1918流感:2≤R0≤3
(哆嗒數學網小編注:1918年流感讓超過千萬人失去生命)


注意,所有的基本再生數都是大於1 。這就是這些疾病為什麼那麼危險的原因:由於每個感染者平均感染的人數都超過1,因此感染這種疾病的人數將成為指數增長。這可能對我們人類造成毀滅性影響。那麼,這個已知被基本再生數標定指數增長的是否可以被降低成線性線增長?我們是否有辦法把R0降低成為1呢?


接種疫苗就產生了這種效果。接種疫苗後,一個人會產生對該疾病的抵抗力,但成功率不盡相同。但為簡單起見,我們將假定疫苗接種可完全抵抗該疾病。疫苗接種不僅直接使接種疫苗的個體受益,也間接使其他廣大人群受益。如果傳播範圍內有很多人接種了某種疾病的疫苗,這種疾病的傳播速度將不會很快。


實際上,廣泛的疫苗接種可以幫助減少疾病的有效再生數。而且,如果有足夠多的人接種疫苗,那麼有有效再生數實際上可以降到1,從而確保該疾病只會以線性速度傳播。那麼,需要多少人進行疫苗接種才能使疾病的有效再生數減少到1呢?


我們來看看基本再生數揭示的真正含義。考慮一種流感的R0=2,就是說,一個感染者平均會傳染2個新的感染者。這個R0=2這個數字,其實告訴了我們很多信息:傳播難易程度、感染週期、一定時期內感染者的接觸人數。通過理解這個數字,我們能容易理解疫苗接種是如何降低流行病爆發風險的。


我們假設有個人感染了一種流感病毒,而這個人會接觸10個人,並假設這個傳染病的的R0等於2。我們可以畫個圖,被感染者用綠色表示,而連線的方向指向每一個他接觸的人。


簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻


每一個接觸者都是有一定幾率被傳染上的,但由於我們假設R0=2,也就是假設平均意義上說,有2個人會染上這個病。


再簡單的說,我們認為每個人有20%的可能性患病。

簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻

現在,我們再假設10個人中有2個人接種了該流感的疫苗。所以,我們再簡化一下,認為接種後的人是完全免疫者,就是說這些人不可能患得此病。但剩下的8個人仍然有20%的可能性感染,就是說,平均意義上看有,10個人中有0.2×8 =1.6個人會被感染。


所以,如果每個人的10個接觸者中有2人接種了疫苗,被感染的人在平均意義上只會傳染1.6個人。接種疫苗有效使得該病的基本再生數從2降到了1.6。那麼我們進一步怎麼做,可以讓增長方式不再是指數增長呢?


再來,我們假設初期的感染者在傳染期內都接觸10個人,每個沒有接種疫苗的人有20%的幾率感染病毒。現在,假設10個人中有V個人接種了疫苗。我們可以計算,平均意義上,10-V個人中有20%的人會被感染,也就是0.2×(10-V)的人會被感染。為了使得增長變為線性的而不是指數的,那麼平均感染人數需要是1。因此,我們需要解方程:0.2×(10-V)=1。


用一點點代數知識解得V=5。所以,我們來看如果10接觸者中,有5個人接種了疫苗會發生什麼。我們把接種疫苗的人塗成藍色。

簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻


被接種者實際上在圖中被剔除了,因為按假設他們不會被病毒侵染。


現在剩下的5個人依然有20%的可能性感染,所以平均有1個人感染了病毒。這就是說,原來患者接觸的10個人,最後只有1個人被傳染。所以,由於10個人中有5個人接種了疫苗,我們有效的把R0降低成為了1。


簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻


這個過程可以推廣成對任意基本再生數R0的計算。我們假設每個感染者在傳染期內接觸N個人,我們可以計算,平均上這N個人中有R0/N比例人會被傳染。但是,如果N個人中有V個人接種了疫苗,那麼下面的式子就表示平均有多少人會被一個人傳染:


(N-V)R0/N


我們讓這個式子等於1,可以解出V/N的值:


(N-V)R0/N = 1


V/N表示,總體人口中,有多少比例的人接種了疫苗。我再整理一下式子,抽象的解出V/N:


V/N = 1 – 1/R0


就是說,如果總體中有1-1/R0比例的人口接種了疫苗,那麼平均意義上,每個人只能傳染1個人。因此,1-1/R0奇蹟般的讓傳染病的擴散增長方式變成了線性,而不再是指數。


在這種疫苗接種水平下——總體中有1-1/R0比例人接種疫苗——整個總群都獲得對某種疾病的免疫能力:不止是接種疫苗的免疫個體可以免於疾病,而且整個種群中疾病傳染速度也免於指數增長。這個現象就叫做“群體免疫”(herd immunity)。接種率需要達到多少,就能得到群體免疫效果的那個比例,叫做“群體免疫閾值”(herd immunity threshold, HIT)。


下面是通過簡易模型計算的群體免疫閾值。


麻疹: R0=12,HIT = 1 - 1/12 = 91.7%
天花: R0=5,HIT = 1 - 1/5 = 80%
腮腺炎: R0=4,HIT = 1 - 1/4 = 75%
1918流感:R0=2,HIT = 1 - 1/2 = 50%


顯然,接種疫苗對抗疾病的意義並不單單是對每一個個體有好處,同樣對整個社會有大大的好處。當免疫個體達到臨界點數量,疾病的傳播率會維持一個足夠低的水平,從而讓整個種群避免災難性後果。接種疫苗讓疾病的傳播方式本來可能是下圖左邊的方式變成右邊的方式,當很多潛在的傳染路徑像圖中右邊的方式被斬斷,那麼傳染速度就會被降低,從而降低流行病大爆發的可能性。


簡易數學模型揭示:自己不被感染,就是對整個社會的巨大貢獻


一個關於群體免疫的重要特徵是, 哪怕沒有接種疫苗的個體也從中獲益。因為傳染病被降低了更廣泛傳播的可能性,每個的感染概率都降低了——沒有接種疫苗的人也是如此。這一點,對那些在醫學上不適合接種疫苗的人特別重要,比如嬰兒、老人以及其他體弱者。雖然,我們的假設是疫苗100%有效,但達成種群免疫的效果並不需要疫苗100%有效:就算不能100%有效,疫苗仍然能降低每個感染者傳染人數的平均數量,從而降低傳染病的有效再生數。(這裡接種疫苗只是避免被感染的手段之一,這幾段其實在數學上說明了個體不被感染其實也是對整個社會的貢獻。——哆嗒數學網小編注)。


我們看到了線性增長和指數增長的誇張差別。當傳染病開始流行,那就是關乎生死的大事情。這裡用數學描述的對個人的避免感染和對社會的達到群體免疫都是非常重要的點。你可以講給周圍的人聽。


——最好,兩個都講!


關注 哆嗒數學網 每天獲得更多數學趣文


分享到:


相關文章: