數學原理如何幫助人類對抗流感

作者:Patrick Honner

翻譯:螳吉呵呵

審校:山寺小沙彌

讓我們假設你聽到了一個謠言但你忍不住想講給其他人聽。因為你非常痛恨造謠者所以你僅僅把這個謠言告訴了一個人就不再提起它。看起來沒什麼大不了的,對吧?畢竟,如果聽到謠言的人和你一樣只把它告訴一個人,這則謠言不會傳播的特別快。如果每天新增加一個人聽到謠言,30天後謠言只會傳播到包括你在內的31個人耳朵里。

如果每個人把謠言告訴兩個人情況會是什麼樣子?事實上,情況非常糟糕。如果頭一天聽到謠言的人在一天內把它傳遞給另外兩個人,30天後將有超過全球人口四分之一的人會聽到這則謠言(準確的說是2147483647個人)。為什麼告訴一個人還是告訴兩個人這麼微小的區別會對結果造成如此大的影響?答案是增長速率的改變。

在第一個例子中,每天新增同樣多的人聽到謠言。不管是今天,明天,後天還是將來,這意味著每天新增的人數相同。在我們的例子里,每天新增一個人。

但如果每天新增加的人數是前一天的兩倍,新增人數就會指數增長:第一天有兩個人聽到謠言,第二天四個人聽到謠言,第三天八個人聽到謠言,以此類推。到第三十天,將新增2^30人聽到謠言。(一些不理想的情況後面會提到)

兩個例子的差別為什麼如此之大?這就是線性函數和指數函數的差別。線性函數被一個恆定的增長率所描述,就像每天新增一個人聽到謠言。線性增長穩定且緩慢,相同的時間增加相同的數量。和線性增長不同,指數增長的速率也在不斷增加--每天新增人數也在持續增長。第一天新增2人,第二天新增4人,第三天新增8人等。

這就是30天後31人和20億人聽到謠言的區別所在。僅僅因為每個人把謠言傳遞給一個人還是兩個人就造成如此大的區別。

圖解表示每天知道謠言的人數。橫軸代表時間,縱軸代表人數。綠線表示線性增長,幾乎平行於橫軸。藍線表示指數增長,很快突破20億。

這個基礎的數學模型包含了某類特定的繁殖模式的本質,它不僅僅可以用來描述謠言的傳播。

像所有的基礎模型一樣,它忽略和簡化了很多複雜的因素,比如傳播的可能性和總人口的規模,但它是研究謠言如何傳播、人口如何增長以及疾病如何傳播的一個很好的出發點。

傳染病的傳播方式和謠言相同:某個人得病並把它傳播給其他的人。當然,也有不同的地方,不過這個基礎模型在兩種情形中都可以適用。在我們關於謠言的簡單的模型中,我們看到傳播速度上的微小區別如何造成最終聽到謠言的人數的巨大差別。這種差別在疾病傳播的情形中仍然存在。

每一種傳染病在社會中的傳播速度都依賴於生物的、環境的和社會的因素。流行病學家嘗試把這些因素歸納進傳染病的「基礎傳播數」中。這是每個患者可能傳染的人數的平均值,我們把它記為R0。在我們之前關於謠言的例子中,基礎傳播數是R0=1和R0=2;「傳染周期」是一天。

一些常見疾病的基礎傳播數

疾病 R0

麻疹 12-18

天花 5-7

流行性腮腺炎 4-7

流行性感冒(1918病毒株) 2-3

來源: CDC and NIH

不難發現,這些疾病的基礎傳播數都大於1 。它們如此危險的部分原因是:每個患者平均可以感染超過一個人,所以新增患者的個數將指數式增長。這在全體人類中會造成毀滅性的傳染。我們是否能夠將指數式增長變成線性增長,也就是說將R0降低為1?

想要實現這個目標就需要疫苗的幫助。當一個人接種了疫苗,他就可以抵抗疾病的感染:儘管接種成功率會有變化,但是出於簡單考慮我們假設成功率是百分之百,也就是說接種疫苗就代表你獲得了對某種疾病的抵抗力。疫苗不但可以直接保護接種疫苗的人也可以間接保護更廣泛的人群。如果社會中很多人都接種了疫苗,疾病的傳播就不會非常迅速。

實際上,廣泛接種疫苗可以降低疾病的有效傳播數(effective reproduction number)。如果足夠多的人接種了疫苗,甚至可以把有效傳播數降低到1,這樣就能實現疾病按照線性速度傳播。所以,如果想把有效傳播數降低至1需要多少人接種疫苗?

讓我們考慮基礎傳播數可以告訴我們什麼信息。考慮一種R0 =2的流感。這意味著一個患者將平均傳染給兩個人。R0 =2提供我們很多信息:這個疾病有多容易傳播,感染的周期以及一個患者在一個給定的感染周期內將傳染多少個人。通過研究這個數字,我們很容易發現疫苗怎麼把它減小。

假設一個感染了R0 =2的流感的患者在患病期間會接觸到10個人。我們將它畫成圖解,我們用中間綠色的小人代表患者並用箭頭指向10個接觸到的人。

每個和患者有接觸的人都有可能感染流感,但是R0=0意味著接觸到的10個人中平均會有2個人被感染。

一般而言,我們可以說每個人有20%的概率被感染。

如果10個人中有兩人接種了流感疫苗。為了簡單起見我們仍然假定接種疫苗意味著對疾病的完全免疫,也就是說不會在受到感染。但是剩下的8個人仍然會有20%被感染的概率。這意味著,平均來講1.6個人會被感染。

所以如果10個人中有兩個人接種了疫苗,一個患者平均上講只能感染1.6個然。疫苗有效地把基礎傳播數從2降低為1.6。接下來的問題是我們怎樣才能把基礎傳播數降低為1來對抗指數式增長?

我們再次假設一個患者在一個感染周期內會接觸10個人,並且每個未接種疫苗的人有20%被感染的幾率。假設10個人中有V個人接種了疫苗。我們可以預見,平均上講,剩下的10-V個為接種的人中有20%會感染疾病。為了實現線性增長而不是指數型增長,我們需要新的被感染數降低為1 。事實上我們要求公式0.2 × (10 ?V) = 1 成立。

簡單的代數計算告訴我們方程的解是V=5。讓我們看一下10個人中有5人接種疫苗時發生了什麼。我們在圖解中用藍色小人代表接種疫苗的人。

疫苗實際上將5個藍色小人移出了圖解,因為疾病對他們沒有影響。

剩下的5個人每個人被感染的概率仍然是20%,所以他們之中平均會有一個人被感染。這意味著,原本的10個人中會有一個人被感染:結果就是如果10個人里有5個人接種疫苗,我們就可以把疾病的R0降低為1。

這個過程可以被推廣到任何基礎傳播數R0。如果我們假設每個患者在一個傳染周期內接觸N個人,我們可以預見到,這些人中平均有R0/N的概率會患病。 但是如果V是N個人中接種疫苗的人數, 那麼:

就代表新的感染人數。我們想讓它變成1,所以需要:

解出V/N的值是有意義的,因為V是N個人中被接種的人數,V/N代表了總數中需要被接種的百分比。數學運算告訴我們:

這意味著如果總人口中接種疫苗的人數達到1 ? 1/R0 ,一個患者平均只能新感染一個人。事實上,1 ? 1/R0 決定了疾病的增長速度是指數式的還是線性的。

當人群中有1 ? 1/R0 比例的人接種了疫苗,這個群體就獲得了一種整體的免疫力:不是一個個體抵禦疾病的能力,而是人群抵禦疾病在人群中按照指數式傳播的免疫力。這個性質被稱為「群體免疫(herd immunity)」。一個群體像要達到群體免疫所需要的接種疫苗的比例被稱為「群體免疫門檻(herd immunity threshold(HIT))」。下表展示了幾種疾病HIT的例子:

疾病 R0 1-1/ R0 HIT

麻疹 12 1-1/12 91.7%

天花 5 1-1/5 80%

流行性腮腺炎 4 1-1/4 75%

流行性感冒 2 1-1/2 50%

我們已經清楚地看到,接種某種疫苗並不僅僅為個體提供了保護,同時也保護了整個群體。當接種比例達到了HIT,疾病在人群中散播的速度就可以低至不至於發生大的災難。普遍的疫苗接種將左圖的傳播模式轉變成右圖那樣,左圖中有很多潛在的傳播路徑,而右圖中的傳播路徑就少很多,這大大減少了疾病爆髮式傳播的可能性。

群體免疫的一個重要的特徵是它甚至可以保護沒有接種疫苗的個體。因為疾病更不容易廣泛傳播,每個人面臨的風險都降低了,包括沒有接種疫苗的人。這對不適合接種疫苗的人,比如嬰兒、老人和身體虛弱的人是非常重要的。儘管我們假設了疫苗百分之百有效,在有效率不是百分之百時群體免疫依然可以實現:普遍的疫苗接種仍然會降低每個患者平均可以感染的人數,因此可以降低疾病的有效傳播數。

我們已經看到線性增長和指數增長之間巨大的區別。當它在疾病傳播中體現時,它將關係到生死。數學揭示了疫苗和群體免疫的重要性,請告訴你的一個朋友。更好的是,告訴兩個朋友。

原文鏈接:

quantamagazine.org/flu-


推薦閱讀:

為什麼同一抗原經不同途徑進入機體產生的免疫應答強度是皮內注射>皮下注射>肌內注射>腹腔注射>靜脈注射?
一粒花生,你就掛了?食物過敏怎麼破?
到哪裡做免疫細胞儲存最好?
為什麼有的蛇對毒蛇的毒液免疫?怎麼進化出來的?
被判明死亡卻在太平間醒來的人是否已經有一定腐爛?

TAG:免疫 | 疫苗 | 數學 |