立場新聞 Stand News

科學看瘟疫分析

2020/8/3 — 14:53

【文:瑞榮】

新一輪瘟疫自六月底爆發至今,網上言論沸騰,對防疫措施各有見解,或嘗試解釋或估計疫情發展,並以不同圖表,作為其預測依據。但是,是否有圖表數據支持,就一定是理據充足,邏輯成立?

網絡上不難找到不同的分析。比較近期的包括林超英先生的貼文 [1]。該文主要是利用2020年6月㡳至7 月中旬期間的每天確診人數,以半對數圖 [2] 表達。推論方法,是把數據分成一先一後兩時段,各以指數式函數(exponential function)比較,以虛線廷伸前段的比較結果至後段,顯示後段的斜率出現了改變。因 [1] 文未有提及任何處理數據時所使用之方法及資料,故避用於科學統計有特定意義之名詞。此處以「比較」代替「擬合curve-fitting」;以「廷伸」代替「外推extrapolate」。

廣告

[1] 文之推論邏輯,從讀者角度出發,會包括了以下陳述,括號內為原文字眼:

陳述 1.1 : 指出後段所出現的改變,係不同於「原來的升勢」;

廣告

陳述 1.2 : 把「把原來的升勢壓了下來」是「我們集體的防疫努力,產生了作用」的結果;

陳述 1.3 :引前一輪爆發的例子,「就像上次一樣」,以加強其相關性、以至到加強因果關係的印象;

陳述 1.4 :最後謂「再堅持一下,可以壓得更底」。

本文會就以上陳述作例子,示範如何用同一樣的數據,相同的分析邏輯,更加深入的分析,卻得出不同的結論。希望能提醒各位讀者,在疫症流行時能保持理性態度,面對各種抗疫措施及疫情分析。

1. 現實中疫症個案的增長趨勢(陳述 1.1 及 1.2)

於疫症的不同階段,其增長趨勢可以不同,原因眾多。在缺乏考慮增長趨勢為甚麼會看似改變的成因下,簡單地從某一時段的總體感染人數,指出其他時段的趨勢「原來」係有幾多,以判斷疫情發展,是可以得出相反的結論 [3],難以得出科學化分析。

如果所使用的只是「總體確診人數」,不是「感染人數」,數據則更會受進行檢測的數字、隱性患者等因素左右,此情形下要對另一時段作出估計將會更困難,結果的不確定性更高。此外亦有其他細節會影響「確診人數」的代表性,甚為繁瑣,本節暫不處理。我們從大處出發,先集中討論簡化模型及陳述 1.1 、 1.2中的問題。

1.1 指數式與亞指數式上升

於疫症爆發之初、或新一輪感染剛出現時,確是會於一段短時間內,每日感染人數可擬合成指數式上升 (exponential growth)。但擁有不同特點的傳染病例子都顯示,如果加上更後期的數據,令擬合的時間更廣闊,亞指數式增長(sub-exponential growth)往往會與數據擬合得更好 [4]。

指數式增長是基本的傳染病學模型 SIR 模式(Susceptible:可受感染者,Infectious:感染者,Recovered/Removed:康復 / 移出者)[5] 的體現,當中理想地假設了多項參數會固定不變,包括可受感染者數量及感染機會等。

亞指數式增長,與指數式一樣,都是非線性增長,但亞指數式是指較指數式增長為低、但同樣包括感染人數越增越快的情況。其數學模型,是於基本的 SIR 模式上,加入更真實的參數變化而得來。比指起數式模型,亞指數式往往更吻合傳染病數據,更有利於捕捉及理解瘟疫的傳播及演變 [4]。

1.2 升勢的改變

疫症個案由指數式上升變成亞指數式上升,或者是從頭到尾都依循亞指數式上升,成因可包括各種防疫措施的效果及人們對應瘟疫的行為改變等容易理解的因素。

但超出普通人直覺的是,這現象亦同樣可以由非人為因素所引起 [4],與人的防疫措施變多變少無關。另外,疫症個案上升的速度改變之前,人們因應瘟疫流行的行為亦不一定有所改變。

1.3 群落對傳播的影響

其中一個解釋,是人類的社會根本不是普遍同質(homogeneous population mixing)[6],每個社會之中都存在著不同的群落。群落成員的出現可以是由於部分人在感染風險因地域、社交、個人習慣等不同參數上較其他人相對異質。群落成員人數相對有限,他們的感染風險,主要是源自同一群落內的傳染者。這傳染者會於群落內打開一段傳播的窗口,感染他人。群落可以基於單次的隨機事件而組成。每個群落的爆發時間及規模上可以存在差異。

一旦群落內疫症爆發,由於群落成員相對同質,面對的感染風險一致,就算面對同一風險的人數有限,初時群落內感染者出現的速度,可以呈近似指數式上升。不過,群落內可受感染者數量的改變不能忽略,其數量明顯隨時間而下降,就算疫症的傳染能力不變,群落成員的每日新增感染數字的升勢會因此而隨時間改變,不會繼續以近似指數式上升 [4]。

所以,加進了社會群落的影響後,是在根本的意義上改變了疫症傳播的數學模型,每日新增感染或確診數目本質上已可出現亞指數式增長。

就算爆發初期短時間內可以用指數式上升擬合數據,但能夠作合理擬合只是因為數值上與模型的計算相近以,單單成功擬合,並不等同於符合了數學模型背後的意義及定義。即是,不能以局部擬合指數式上升,就證明簡單SIR 模式出現在實況,並以此證明擬合以外的數據都會依相同趨勢變化。

同一時間內可以有多於一個群落爆發,其疊加效果更會增添以局部數據外推作預測的困難。除非同一時間出現極大量群組,其總數則又可以趨於指數式增長,但要準確形容及預測,仍有賴對疊加效果的展開疊積(deconvolute),不會籠統地取其總數分析。

根據衛生防護中心的資料,於 [1] 文當時所引用的數據中,包含了八個較大的群組爆發,截至7月20日,每個爆發群組有染病成員 10至44人不等 [7]。染病成員人數相對有限,不會排除群落模型的適用性。由於非用以作定量 (quantitative)分析,只取其特徵,故無礙於以下1.4節的討論。

至於群落模型所形容的群組爆發的特徵會如何表現於每日新增確診人數半對數圖上,就留在2.2節討論。

1.4 微妙的分別

那麼為甚麼要舉出此例?這又與陳述 1.1及1.2的邏輯有甚麼分別?

上面所簡單介紹的群落模型,有齊了陳述 1.1及1.2中所列的數據特徵及其背後成因,即是:

亞指數式上升的數據呈現出斜率的越來越小的特徵,局部可作指數式擬合,而該特徵亦可以、但不一定是一直堅持實施防疫措施,包括增加社交距離,減低社會於瘟疫傳播的同質性的結果。「可以係」及「一定係」之間,分別微妙又明顯。

綜合陳述 1.1及1.2的論述,是指出數據後段𥚃本來會出現「原來的升勢」。而數據後段中這個升勢並無出現,這就是「防疫努力」的結果。[1] 文中圖片的橙色實線及虛線,就是從局部近似指數式上升的趨勢,廷伸至數據後段,去設立這「原來的升勢」,與真實的數據後段作比較,支持其推論。

但1.3節的群落模型是為一個反例,指出局部近似指數式上升不會立即等同其他爆發期內的時段都會呈指數式上升,單憑這種近似,是不足以去判斷數據只會符合特定一個疫症傳播的數學模型。正如1.3節尾指出,數據的增長模式本身己經可以是亞指數式,單純地在這種局部數據上套用指數式擬合並外推以估計「預期本應出現的趨勢」並無科學上的意義。另外,就如圖1的例子,處理這類非線性的變化時,局部趨勢不會直接等同未來趨勢,不能成為預測的基礎。

在沒有定義使用了哪一種模型作推論下,「原來的升勢」就變得任意(arbitrary)。當「原來的升勢」沒有穩妥建立,就難以憑藉其與數據的分別去作出合理推論。

如果陳述 1.1及1.2中的推論要穩妥,就起碼要列明當中假設,確立數據中會出現的改變,如此,才會有條件進入下一步或另一步的推論,例如去細看假設的身上有甚麼作出預測的限制等。

固此,陳述 1.1及1.2中使用的的邏輯,是建基在假設了只有簡化模型與數據作「比較」,利用延伸簡化模型,去發現「原來的升勢」與其他時段的數據趨勢有所不同,以此證明一定是防疫努力有效果。而有關群落模型的邏輯是防疫的效果或其他非戈為因素都同樣可以在每日新增感染人數呈亞指數式變化上表現出來。

1.5 短評簡化模型

利用簡化模型,將數據與指數式增長作分段擬合(或比較)及外推(或廷伸),無助於排除擬合不足(underfitting)的可能,這樣做只是單純的去嵌入不同模型參數值再作計算,不容易洞察到參數改變的意義,會偏向輕易假設增長趨勢會以指數式模式持續,容易誤判出數據的趨勢。

2. 第二輪及第三輪疫情的比較?(陳述 1.3)

陳述 1.3是以2020年3月的第二輪爆發為例,去表明陳述 1.2中的兩件事件,即是「我們集體的防疫努力,產生了作用」及「把原來的升勢壓了下來」,亦曾經在以前出現,而且當時兩件事是有因果關係,故此當轉而對應近期的第三輪爆發時,這兩件事都的因果關係都會成立。

與第1節的所有討論不同,今次我們探討的是,陳述 1.3的邏輯會否是必定成立。首先,就要先看該兩輪爆發是否性質足夠相同,或者是否會相同到不會產生合理疑問,令人覺得第三輪的疫情可以在各方面指望是「與上次一樣」?另外,於數據的處理上,又會不會有因素可以改變其趨勢?或者只看總體確診數字,會不會掩蓋了疫情中其他重要的變化,令人作出錯誤判斷?

以下所有數據均來自衛生防護中心網頁 [7,8],所有數據截至至7月20日 [9],與 [1] 文相若。

2.1 淺看兩輪爆發

圖2顯示了上述兩輪爆發的數據 [8]。兩輪爆發之間最大的分別,乃第二輪爆發中主要是標成藍色的輸入個案;而第三輪爆發,則主要是本地及與本地有關的個案,在圖中分別標成紅及橙色。後兩者會於此文合稱為「本地個案」,加上括號以資識別。

圖2顯示在第二輪中都有部分是「本地個案」,但在數據並無如第三輪般明顯出現峰形組織,傳播的性質或有不同。

另外,在第三輪爆發中,單在6月28日至7月19日的發病個案中,達10人或以上的群組爆發就有八個 [7,10] ,涉及196人,比起第二輪的同類數字為高。

應對不同種類的個案時,在市民層面上,­防疫手法大同小異,重點係在於個人及周邊,包括小心執行各種衛生措施,保持安全的社交距離等。但在公共行政的層面,針對不同個案種類的抗疫手法就會迴異,亦更需要每個人作出特別的配合,不盡如第二輪爆發中一樣的防疫心態。

故此,大量本地個案出現,再加上最近有關公共交通工具的爆發,市民要有心理準備,今輪爆發中的公共防疫措施會明顯不同,其維持時間及效果都不可直接與第二輪比較。於今輪爆發中防疫措施不會如第二輪爆發中部分措施只適用於外地回港人士或消遺場所。要預計會有影響更大的防疫措施,其必會牽涉社會更廣層面,各方面觸及更深,不會如第二輪般相對平靜。所以除了要堅持既有的個人防疫手法外,更加要加倍留意公共機構、尤其是官方的防疫措施,對公共服務或設施有特別需要的人士更要及早計劃及尋求意見或協助。

2.2 第三輪中的群組爆發

於2020年6月尾開始的第三輪爆發,明顯比第二輪擁有較多群組爆發。但除了群組爆發外,還有無其他第二輪無顯示的趨勢呢?

圖3是上述八個爆發群組的每日發病數目。圖4則是每個爆發群組的數字。捨棄不用每日確診人數而使用每日發病人數,是因為前者乃基於病症的「報告日期」,無可避免會受多種因素影響,「報告日期」往往與「發病日期」相差數天甚至約一星期不等 [7]。另外,雖然兩者同樣無考慮每個病例潛伏期可以出現的差異,但「發病日期」於理解在人數較低的群組中疫症的傳播仍比前者直接。

圖3由7月15開始呈「跌勢」,但發病日期及報告日期的差異亦會造成這種「跌勢」,此段資料趨勢不作討論。而7月15日之前的數據,出現了半對數圖上斜率的變化,與 [1] 文中所談及的特徵相似,但仍存明顯的不同,會在下一節討論。如果用圖3的中間點、即7月 9 日作分界,發病人數的峰值出現在前段的群組共有三個(圖4A、4B及4C),後段的共有五個(圖4D至4H)。如果要避開上面陳述1.1至1.4的邏輯錯誤,從圖3的資料就會作出「所考慮的群組之中,其本身、及其與傳播有關的連繫的異質性(heterogeneity)並未提供指數式上升的條件。成因可能與防疫措施有關。但並不存在把原本應該出現的指數式升勢壓低」的判斷。

除了過分簡單的將趨勢外推的「分析」之外,其實尚有很多值得嘗試的分析方向,包括如圖4的表達手法所顯示,嘗試展開疊積(deconvolute)總發病人數,比較不同的群組爆發找出具代表性參數,或比較群組爆發出現的頻率上等。但並不會在本文討論。

2.3 報告日期與發病日期

如2.2節所言,比起「報告日期」,「發病日期」與傳播機理關係更直接。使用哪一種,會否影響 [1] 文邏輯中的趨勢分析?

圖5是根據「報告日期」所標,分別是每日新增及多於10人群組爆發的確診人數。

從中發現,該段時間內群組爆發在「報告日期」7月7 日躍升,個案集中在之後的時段,而7月8 日正是 [1] 文所指出疫情趨勢改變的日子。與此相比,在根據「發病日期」所標的圖3之中,該段時間內群組爆發的發病日子分布明顯較廣闊,並不如圖5般集中出現。

合集數據中的組成成分出現如此的平台,確會造成半對數圖上斜率的變化。平台會抬升整體數據的數值,但數據其他的組成成分的變化不會按比例增加,只會被托高到高值區隨對數軸壓縮,改變了斜度。

如因斜率變化的成因,是如圖5般是因為沒有使用與病症傳播有更直接關係的參數作橫向座標,令平台得以加強的後果,又或者如圖3 般根本是傳播模式的特徵的話,那麼這樣的變化就不能肯定地與「防疫的努力」掛上因果關係。

我們要更進一步探討確診人數中不同的組成成分,去找出有無其他「防疫的努力」的跡象。

2.4 第三輪中,除了群組爆發還有甚麼?(陳述1.4)

群組爆發只屬於圖2中的「本地個案」,第三輪爆發還包括輸入個案及未明個案。那麼,這兩組又是有甚麼趨勢?是否又會看到「防疫的努力,從原來的升勢壓了下來」?又是否可以更進一步「壓得更低」?

輸入個案的發病日期比較難定,再加上較多是強制檢驗所發現的「無病徵」(或未有病徵),故這一節特別會用個案的「報告日期」作分析。其方便之處,是與 [1] 文所使用的相同,較易比較邏輯及結論。而且,更不用擔心於截數日期或之後(7 月21日),才發現到截數日前發病的個案,影響分析。但重申,使用報告日期去標示數據,比起使用發病日期,與疾病傳播的關係更間接。

分析方法,是將圖5中的每日新增確診人數,減去屬於多過10人的爆發群組(結果為圖6紫色線),之後再進一步減去輸入的個案(結果為圖7)。剩下的個案,就會包括了以上群組以外的本地「大世界」中的個案,當中包括變數極大的「源頭不明」個案。

圖6灰色線為輸入個案,作為參考。

2.5 群組之外,疫情更加堪憂!

圖6及7之中,加上了用最小平方法 (least squares)的直線(黑色線)擬合作比較。

從兩圖之中,都沒有出現類似 [1] 文所指出的「防疫的努力,從原來的升勢壓了下來」的跡象。估計 [1] 文所依據明顯的「斜率變低」,係因為所用的是「報告時間」,而不是「發病時間」,造成群組個案平台(圖5)的突然明顯出現。

引用 [1] 文相關邏輯,現在可以得出不同的疫情分析:「在大於10人的爆發群組之外,較小群組及並無群組脈絡的確診人數是一直在以指數式上升,如圖7所示,並無慢下來的趨勢。其人數亦已經將大於10人的群組感染之人數越拋越遠。」

上面圖表所顯示的重點,已經不再單單是大於10人的群組爆發人數,而是有更加多感染者,在這範圍更廣、感染者之間關聯更隱晦、更難追蹤源頭的情況下出現。於此,難言有壓低疫情之論。

現在應該係要去問「如何避免防疫上的失誤,防止染疫人數升得更高?」,去帶出要更加小心翼翼的態度,多於是不斷重覆「上次都可壓低,一樣堅持下去會壓得更低」這一個比真實數字樂觀的角度,去面對仍然嚴峻的疫情。

3. 結論

指數式上升模型亦不是唯一的數學模型去描述傳染病的傳播。本文簡單介紹了群落感染模型的數據特徵,比起指數式上升的模型,亞指數式上升更能描述及理解真實的數據。

確診人數升勢的改變,可以是傳染病的傳播特徵,單用一個圖表未必足夠與防疫措施的成效掛勾。

局部用簡化模型擬合數據,可能有助顯示出數據的變化,但無助於、亦不應以此解釋變化的背後機理。直接應用於預測非線性的變化趨勢時,無論結果吻合實況與否,不會保證預測的推論過程是否合理。

文中亦示範了使用與傳染病的傳播有更直接關係的變量去標示數據,用「發病日期」取代「報告日期」時,圖表上會失去明顯特徵,動搖 [1] 文賴以立論的基礎。

當移去此動搖的成因部分,沿用與 [1] 文大致相同的分析邏輯(撇除有關外推的元素)甚至會得出相反的「疫情更加堪憂」結論。

傳染病學中的模型,多用於分析數據及已知瘟疫流行期間各種事件,剖析其傳播發展的機制,及各種防疫措施的機理。使用簡化模型,並假設最差的條件作預測,目的係要便於推導出疫情可以達到的嚴重程度,以制定措施,防患未然,為其道理所在。

但是,如果集中利用某一種簡化模型,放入最差的條件,推導出最差情況後,是用於與眼前實況比較,輕言實況係「有所改善」,則恐怕會淪為缺乏理性的推論,無論結論是否與實情吻合,都會經不起科學的考驗。

本文不敢預測疫情,只敢憑科學態度,閱讀疫情分析。

行文之時,疫情勢凶之報導仍然不絕。此時,若能真正科學化地指出數據上的蛛絲馬跡,為社會大眾指出防疫的機關所在,證明防疫效果,反映疫情實況,萬眾同心,雖瘟疫惡亦不足懼。但如用片面分析,據不穩之理,只為得出市民喜見的「結論」,那麼就算目的是為鼓舞人心,亦只會淪為愚民之說,於民智無益,雖瘟疫過而人不知所以然⋯⋯

[全文完]

附註:

[1] 林超英Facebook 於2020年7月19日貼文:「消息傳來,今天確診108宗…

[2] 即是對數 y-軸為累積確診數字,線性 x-軸為日子。

[3] 瑞榮〈只得一幅圖,只得一種疫情判斷?

[4] Chowell, G. et. al., Mathematical models to characterize early epidemic growth: A Review (辨識早期疫情發展特徵的數學模型:評論)

[5] Wikipedia: Compartmental models in epidemiology (維基百科:傳染病學的分室模型)

[6] 主流定義是在普遍同質社會中,如果任意選兩個人,他們有接觸的機會會是相同。

[7] 衛生防護中心網頁〈10 個個案或以上的大型群組〉(連結中資料不斷更新,但本文中使用之資料截至2020年7月21日)

[8] 衛生防護中心網頁 〈 香港確診及疑似的 2019 冠狀病毒病個案流行病學曲線圖〉 (連結中資料不斷更新,但本文中使用之資料截至2020年7月21日)

[9] 由於政府數據或有更改,本文所引用的數據以截至2020 年7月20日所公布為準,即為 [1] 文發表之後一日。

[10] 截至2020年7月20日,在2020年6月28日至7月19日的發病個案中達十人或以上的群組:彬記/ 新發/ 建榮 (43人)、港泰護老中心(44人)、水泉澳邨明泉樓(12人)、翠河(31人)、薀莎(24人)、雅蘭中心稻香(18人)、屯門中央廣場富臨酒家(10人)、新都會廣場潮庭(14人)。

(作者簡介:別無工夫科學人)

發表意見