王 瑩
(南寧師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,南寧 530000)
自2019年12月以來,新型冠狀病毒肺炎成為了最嚴(yán)重的疾病之一,在全世界造成了嚴(yán)重的流行病,對全世界的社會和經(jīng)濟(jì)產(chǎn)生了巨大的影響。對此,各國政府一直在努力地監(jiān)督、觀察與控制本國的確診病例和死亡情況。并致力于通過相關(guān)醫(yī)學(xué)數(shù)據(jù)預(yù)測其對未來形勢產(chǎn)生的影響,根據(jù)數(shù)據(jù)評估當(dāng)下所作決策的有效性,以及公眾遵守相關(guān)政策與限制方案會發(fā)生什么,產(chǎn)生什么影響。
自從新冠肺炎發(fā)生以來,對新冠肺炎病例的估計(jì)、分析與預(yù)測一直是許多研究的主題。而在神經(jīng)網(wǎng)絡(luò)應(yīng)用與人工智能預(yù)測領(lǐng)域,各種統(tǒng)計(jì)學(xué)與機(jī)器學(xué)習(xí)模型如:Box-Jenkins(ARIMA)[1],Prophet[2],Holt-Winters Additive Model(HWAAS)[3]和高斯模型等,已被用于預(yù)測與分析新型冠狀肺炎病例。ARIMA模型可以有效地利用自身組合方法擬合歷史數(shù)據(jù),并有助于預(yù)測時(shí)間序列中的未來點(diǎn)。Box-Jenkins方法包含應(yīng)用于非平穩(wěn)序列的ARIMA模型,但通過對序列的差分運(yùn)算使其平穩(wěn),廣泛用于時(shí)間序列分析[1]。Prophet的自動(dòng)預(yù)測程序是一種基于附加模型預(yù)測時(shí)間序列數(shù)據(jù)的方法,在其結(jié)構(gòu)中,它是一個(gè)具有可解釋參數(shù)的回歸過程。Prophet自動(dòng)預(yù)測程序?qū)θ狈?shù)據(jù)和趨勢變化具有魯棒性,通常能很好地執(zhí)行異常值[2]。通常為季度性數(shù)據(jù)提供準(zhǔn)確預(yù)測的方法是Holt-Winters,該方法具有衰減趨勢和乘法季節(jié)性[3]。高斯模型利用概率分布對歷史數(shù)據(jù)的軌跡進(jìn)行預(yù)測,能靈活調(diào)整參數(shù)從而調(diào)整高斯分量和擬合參數(shù)。
Hu等[4]開發(fā)了一種改進(jìn)的堆疊式自動(dòng)編碼器,致力于解決建模流行性的傳播動(dòng)力學(xué)方面的難題。將該模型用于實(shí)時(shí)預(yù)測2020年1月至4月中國新冠肺炎診斷的累計(jì)確診病例的曲線。使用多步預(yù)測,6步、7步、8步、9步和10步預(yù)測的估計(jì)平均誤差分別為1.64%、2.27%、2.14%、2.08%和0.73%。
Yonar等[5]使用曲線估計(jì)模型估計(jì)了2020年1月至3月期間選定的八個(gè)國家(德國、英國、法國、意大利、俄羅斯、加拿大、日本和土耳其)的新冠肺炎病例數(shù)量,實(shí)驗(yàn)結(jié)果顯示Box-Jenkins(ARIMA)和Brown/Holt線性指數(shù)平滑,誤差為2.578%。
Shaikh等[6]使用回歸模型分析了印度的新冠肺炎數(shù)據(jù)集,并提供了包括誤差分析和準(zhǔn)確性并置在內(nèi)的實(shí)證證據(jù)。此外,還使用了Tableau的時(shí)間序列預(yù)測方法預(yù)測了冠狀病毒病例在未來的趨勢,模型決定系數(shù)R2達(dá)到0.8721及以上。
高斯模型(Gauss model)是用高斯概率密度函數(shù)(正態(tài)分布曲線)對事物進(jìn)行精確量化,以高斯概率密度函數(shù)為基礎(chǔ)將一個(gè)事物分解成若干個(gè)模型而形成。以高斯函數(shù)為數(shù)學(xué)理論基礎(chǔ)的高斯模型在許多數(shù)據(jù)分析與預(yù)測領(lǐng)域都有著非常出色的表現(xiàn),而在非線性曲線擬合研究中,使用高斯函數(shù)來進(jìn)行擬合,其各參數(shù)的物理意義都是清晰的。這能使計(jì)算積分十分簡單快捷,利用高斯擬合函數(shù)(Gaussian fitting)來描述或者擬合求出實(shí)驗(yàn)數(shù)據(jù)的分析與預(yù)測,往往能起到意想不到的效果。
本研究實(shí)驗(yàn)利用高斯模型中優(yōu)秀的數(shù)學(xué)算法思想對2022年中國上海爆發(fā)的新冠肺炎疫情各項(xiàng)病例數(shù)據(jù)進(jìn)行周期性數(shù)據(jù)的預(yù)測與分析。通過使用高斯擬合函數(shù)和高斯模型,利用極大似然估計(jì)反推形成最優(yōu)預(yù)測擬合結(jié)果的參數(shù),加以高斯—牛頓迭代法進(jìn)一步優(yōu)化估計(jì)參數(shù)算法過程,使實(shí)驗(yàn)結(jié)果達(dá)到最優(yōu)擬合。在此基礎(chǔ)上對所有病例數(shù)據(jù)信息進(jìn)行整合,分析預(yù)測出本次上海新冠肺炎疫情的拐點(diǎn),并擬合拐點(diǎn)值前某5天和后某5天,分別是2022年4月4日至4月8日和2022年4月28日至5月2日,共10天的上海每日新增陽性病例數(shù)進(jìn)行預(yù)測分析,用以證明本實(shí)驗(yàn)算法的價(jià)值。
高斯函數(shù),即正態(tài)分布(normal distribution)函數(shù),也稱“常態(tài)分布”,是存在于自然界中數(shù)量眾多、分布形式最為普遍的一種函數(shù),也是目前廣泛應(yīng)用于數(shù)理統(tǒng)計(jì)領(lǐng)域的常用變量分布模型。
概率密度函數(shù)一維高斯分布如下:
其中,μ和σ2分別是高斯分布的均值(期望)和方差。當(dāng)一個(gè)隨機(jī)變量x服從一個(gè)數(shù)學(xué)期望為μ、方差為σ2的正態(tài)分布,則記為N(μ,σ2)。特別地,當(dāng)均值μ=0,σ=1時(shí),正態(tài)分布則是標(biāo)準(zhǔn)的一元正態(tài)分布。
本實(shí)驗(yàn)對數(shù)據(jù)點(diǎn)集進(jìn)行函數(shù)逼近的擬合方法使用高斯擬合。高斯擬合函數(shù)為指數(shù)函數(shù)模型,其二維曲線圖中峰位、峰高、峰寬都具有現(xiàn)實(shí)的物理意義,因此本實(shí)驗(yàn)研究使用高斯曲線進(jìn)行數(shù)據(jù)擬合和表征,其公式為
其中,x為隨機(jī)變量,a,b,c為參數(shù)。
用已知的樣本結(jié)果信息來反推最有可能,或者說最大概率導(dǎo)致這些樣本結(jié)果出現(xiàn)的模型參數(shù)值,這就是極大似然估計(jì)的通俗理解。極大似然估計(jì)提供了一種給定觀測樣本以評價(jià)模型參數(shù)的方法,可以說:“模型是既定的,參數(shù)是未知的”。
在本文實(shí)驗(yàn)中,假設(shè)一個(gè)一元高斯分布的數(shù)據(jù)集x服從均值為u,方差為σ的概率分布,它的概率密度函數(shù)是:
按照標(biāo)準(zhǔn)一元正態(tài)分布,也就是均值為0,方差為1的標(biāo)準(zhǔn)一元正態(tài)分布對數(shù)據(jù)集x進(jìn)行標(biāo)準(zhǔn)化處理,根據(jù)似然函數(shù)定義—它是一個(gè)關(guān)于未知參數(shù)θ的函數(shù),在給定聯(lián)合樣本x的前提下,表達(dá)如下:
其中,θ是未知參數(shù),它屬于參數(shù)空間;f(x;θ)=P(x)是概率密度函數(shù),似然函數(shù)和密度函數(shù)是兩個(gè)數(shù)學(xué)對象,兩者是完全不同的。公式的等號“=”寓意為函數(shù)值形式的等值,而非兩個(gè)函數(shù)本身為同一函數(shù)。按函數(shù)等值的定義則,函數(shù)等值,只等值于定義域,其對應(yīng)的關(guān)系是相等的。求:
其中n為樣本個(gè)數(shù)。對上式取對數(shù)ln(L(θ)),再對它進(jìn)行求導(dǎo),令其導(dǎo)數(shù)為0求得其駐點(diǎn),也就是令lnL(θ)'=0,最后求得參數(shù)?,如下式:
如果用極大似然法求解擬合函數(shù)的參數(shù),那么則通過求導(dǎo)數(shù)的方式求解參數(shù)值,但在這個(gè)過程中很多時(shí)候值是不可導(dǎo)的,這樣會影響求值結(jié)果和算法精確度。為了解決數(shù)值優(yōu)化問題,更進(jìn)一步提升算法性能與準(zhǔn)確率,收斂速度更快,使用高斯-牛頓法去進(jìn)行多次迭代,多次對返回參數(shù)進(jìn)行修正,使擬合函數(shù)參數(shù)不斷向指數(shù)模型的最佳擬合參數(shù)靠攏,最終使Gauss Model達(dá)到最小的誤差平方和。由式(2)可知,擬合曲線參數(shù)為a,b,c,擬合函數(shù)為F(x),那么該問題轉(zhuǎn)化為求解以下的優(yōu)化目標(biāo):
求上式關(guān)于Δx的導(dǎo)數(shù),并令其為零:
可以得到如下方程:
將上式變形為下面式子:
其中,函數(shù)g是F(x)的轉(zhuǎn)置一階導(dǎo)數(shù)。
首先將從國家衛(wèi)健委官網(wǎng)收集到的數(shù)據(jù)進(jìn)行病例分類預(yù)處理,計(jì)算每日新增陽性病例,將結(jié)果可視化。
使用高斯擬合函數(shù)指數(shù)模型去擬合預(yù)測曲線,而解決問題中的高斯擬合曲線的最終值決定了曲線擬合的準(zhǔn)確率,所以高斯擬合函數(shù)的最終值由參數(shù)θ來決定。此時(shí)若要結(jié)果最優(yōu),就必須使參數(shù)估計(jì)達(dá)到最優(yōu)。求最小二乘估計(jì),在線性回歸的情況下,計(jì)算起來非常簡單。對于非線性函數(shù),有幾種不同的方法來估計(jì)誤差的平方和系數(shù)的最小值。在這一實(shí)驗(yàn)研究中,最優(yōu)系數(shù)的求解選擇了極大似然估計(jì)法。用極大似然法求解指數(shù)模型參數(shù),通過求導(dǎo)數(shù)的方式去求解參數(shù)值。
然而由于樣本等原因,在求解過程中很多時(shí)候是不可導(dǎo)的,同時(shí),為了算法能更快收斂,提高算法性能和準(zhǔn)確率,需要采用其他迭代法則進(jìn)一步優(yōu)化算法。本實(shí)驗(yàn)使用高斯—牛頓法來對參數(shù)求解步驟進(jìn)行進(jìn)一步優(yōu)化。利用這樣的求解方法將函數(shù)擬合到數(shù)據(jù)集后,利用誤差平方和最小的法則進(jìn)行參數(shù)優(yōu)化選擇,可以獲得最佳參數(shù)。最后選用指數(shù)函數(shù)做曲線擬合(curve fitting),用以擬合觀測數(shù)據(jù),分析各變量之間的關(guān)系。
最后得到誤差平方和最小的結(jié)果,擬合預(yù)測出周期對應(yīng)時(shí)間的每日新增陽性病例和疫情周期性拐點(diǎn),實(shí)現(xiàn)整個(gè)算法的應(yīng)用價(jià)值。算法流程圖如圖1所示。
圖1 算法流程圖
本實(shí)驗(yàn)使用2022年3月至6月的各項(xiàng)上海新冠肺炎疫情數(shù)據(jù),包括本次上海周期疫情的日期、地區(qū)、確診病例數(shù)、無癥狀感染者數(shù)、無癥狀轉(zhuǎn)確診病例數(shù)、死亡患者數(shù)。所有數(shù)據(jù)均來自國家衛(wèi)健委官方網(wǎng)站和上海市衛(wèi)健委官方網(wǎng)站。
對于當(dāng)日產(chǎn)生的無癥狀轉(zhuǎn)確診病例,已經(jīng)在當(dāng)日之前的無癥狀感染者中進(jìn)行了統(tǒng)計(jì),為避免重復(fù)計(jì)算,按照“新增確診病例個(gè)數(shù)+新增感染無癥狀人數(shù)-由無癥狀轉(zhuǎn)為確診病例個(gè)數(shù)”來計(jì)算此段周期中每天新增新冠肺炎陽性病例數(shù)。
圖2 病例數(shù)據(jù)可視化
在統(tǒng)計(jì)學(xué)中對變量的線性回歸問題進(jìn)行分析時(shí),決定系數(shù)R2屬于通用模型實(shí)現(xiàn)結(jié)果好壞程度的度量標(biāo)準(zhǔn),可以用它來大致了解一個(gè)模型的性能。通常來說,R2值越大越好,數(shù)值越大,模型越精確,預(yù)測分析效果越顯著。R2在0~1之間,越接近1的模型擬合效果越好,一般認(rèn)為在0.8以上的模型更具有擬合的優(yōu)勢。
決定系數(shù)R2等于1減去RSS和TSS的商,RSS(residual square summary)對未擬合信息的總量大小作出解釋,TSS(total sum of squares)對樣本數(shù)據(jù)中信息總量的大小作出解釋。RSS TSS反映的是未擬合出來的信息量的比值(比率),1-R S S T SS反映的就是模型能夠擬合出來的信息量的比值(比率)。其中,y(i)為數(shù)據(jù)集中每日新增陽性病例,y(i)i為模型預(yù)測擬合出的每日新增陽性病例。
對從國家衛(wèi)健委得到的新冠肺炎疫情數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理與分析,統(tǒng)計(jì)出每日新增陽性病例數(shù),并利用高斯模型進(jìn)行下一步的數(shù)據(jù)預(yù)測與分析。在此基礎(chǔ)上對所有信息進(jìn)行整合,分析預(yù)測出本次上海新冠肺炎疫情的拐點(diǎn),也就是指,病例曲線在出現(xiàn)拐點(diǎn)后會持續(xù)上升,但速度減慢,并在到達(dá)最高點(diǎn)峰位值后轉(zhuǎn)頭向下。使用高斯擬合函數(shù)利用數(shù)據(jù)集對2022年4月4日至4月8日和2022年4月28日至5月2日,共10天的上海每日新增陽性病例數(shù)進(jìn)行預(yù)測。
首先使用高斯擬合函數(shù)指數(shù)模型去擬合預(yù)測曲線,而解決問題中的高斯擬合曲線的最終值決定了曲線擬合的準(zhǔn)確率,所以高斯擬合函數(shù)的最終值由公式中的三個(gè)參數(shù):a,b,c來決定。此時(shí)為保證結(jié)果最優(yōu),就必須參數(shù)估計(jì)達(dá)到最優(yōu)。參數(shù)的估測方法有很多,例如:最小二乘法,極大似然法,Bayes估計(jì),最小風(fēng)險(xiǎn)法,極小化極大熵法。最小二乘法和極大似然法是其中最基本的方法。本實(shí)驗(yàn)使用與高斯函數(shù)有數(shù)學(xué)理論聯(lián)系的極大似然法進(jìn)行擬合預(yù)測,相輔相成。
由極大似然法求出的參數(shù)為a=2.46557555e+04,b=1.87437034e+01,c=2.05746588e+02,將 這三個(gè)求解出的參數(shù)值代入到高斯擬合函數(shù)中再次進(jìn)行計(jì)算,為了進(jìn)一步優(yōu)化算法,使得收斂更快,使用高斯—牛頓法來對參數(shù)求解步驟進(jìn)行進(jìn)一步優(yōu)化。這樣的求解方法將函數(shù)擬合到數(shù)據(jù)集后,再利用誤差平方和最小的法則進(jìn)行參數(shù)優(yōu)化選擇,可以獲得最佳參數(shù)。本次實(shí)驗(yàn)中初始值x0設(shè)為83,迭代次數(shù)step設(shè)置為100,使用迭代方程公式進(jìn)行運(yùn)算。
根據(jù)本實(shí)驗(yàn)研究算法,預(yù)測出本次上海疫情周期性拐點(diǎn)將出現(xiàn)在從2022年3月23日開始計(jì)算的第18天,也就是2022年4月10日左右。如圖3所示。
圖3 周期性拐點(diǎn)預(yù)測圖
采用高斯模型擬合并預(yù)測,得出上海市2022年4月4日至4月8日和2022年4月28日至5月2日期間,共10天的新增陽性病例個(gè)數(shù)。經(jīng)過本文算法計(jì)算,其結(jié)果如表1所示,已經(jīng)十分接近真實(shí)數(shù)值。
表1 上海本周期中10天的新增陽性病例的真實(shí)數(shù)值與預(yù)測值的比較
利用曲線擬合將周期預(yù)測每日新增陽性病例結(jié)果可視化,其中擬合的最后參數(shù)設(shè)置為maxfev=10000,曲線擬合結(jié)果如圖4所示。
圖4 陽性病例每日新增預(yù)測擬合結(jié)果圖
為了驗(yàn)證本實(shí)驗(yàn)研究算法的準(zhǔn)確率與優(yōu)越性,對比實(shí)驗(yàn)?zāi)P秃头椒ㄟx擇SVR(支持向量回歸)和最小二乘準(zhǔn)則(LSE)預(yù)測方法,結(jié)果表明本實(shí)驗(yàn)算法的擬優(yōu)度明顯比其他方法更高,擬合性能更優(yōu)越。
表2 對比實(shí)驗(yàn)決定系數(shù)R2
將機(jī)器學(xué)習(xí)模型引入疾病防控的預(yù)測和數(shù)據(jù)分析領(lǐng)域有助于政府當(dāng)局和衛(wèi)生健康委員會規(guī)劃并準(zhǔn)備應(yīng)對即將到來的突發(fā)狀況。本研究實(shí)驗(yàn)中,評估了高斯模型在預(yù)測分析新增新冠肺炎病例和周期拐點(diǎn)方面的價(jià)值。首先自收集數(shù)據(jù)并根據(jù)病例的統(tǒng)計(jì)信息進(jìn)行數(shù)據(jù)預(yù)處理,再進(jìn)一步進(jìn)行數(shù)據(jù)分析,利用極大似然估計(jì)計(jì)算高斯擬合函數(shù)中的參數(shù),加以高斯—牛頓迭代法去進(jìn)一步優(yōu)化擬合,能更高效地收斂擬合,最后得到誤差平方和最小的結(jié)果。對比其他的回歸模型,本算法的預(yù)測擬優(yōu)度R2達(dá)到最高,為0.9286,證明與其他模型相比,本文算法表現(xiàn)出了更為優(yōu)異的性能。