![]()
系列簡介
這是我們一系列原創(chuàng)技術(shù)貼,從易到難,每天學(xué)習(xí)一點(diǎn)。所有內(nèi)容均為疾控?cái)?shù)據(jù)分析、科研論文相關(guān),或者說很多和現(xiàn)在的熱門監(jiān)測預(yù)警相關(guān),所以我們這個系列就叫“監(jiān)測預(yù)警基礎(chǔ)”。
今天是第34節(jié),我們今天講一種之前沒有涉及過的時間序列預(yù)測模型——Prophet 。
當(dāng)然有老師說我們還有好多內(nèi)容沒有分享,比如ARIMA,比如傳播動力學(xué),比如空間分析,空間掃描等等。
怎么說呢,這些都是對疾控傳染病監(jiān)測預(yù)警來說常用的、好用的方法,但是第一是時間和精力有限,該系列內(nèi)容閱讀量又低,很多時候就沒那么大的心勁去寫。第二是該系列打算長期持續(xù),內(nèi)容有深有淺,當(dāng)然主要也是受自身能力所限,所以,得慢慢來,是分享也是自我總結(jié),以后也會斷斷續(xù)續(xù)一直更新下去。
如有不當(dāng)之處,歡迎留言討論,大家的留言是我們更新的動力!
每年春節(jié)前后,傳染病自動預(yù)警系統(tǒng)或者說大疫情網(wǎng)總會出現(xiàn)這種情況:流感、手足口、諾如……病例數(shù)齊刷刷往下掉,系統(tǒng)一片"綠燈",領(lǐng)導(dǎo)剛松口氣,節(jié)后第二周數(shù)據(jù)突然報復(fù)性反彈,預(yù)警燈狂閃。
你心知肚明——這不是疫情真緩解了,是醫(yī)院放假、家長不帶孩子看病、基層遲報。
傳統(tǒng)的ARIMA模型看不懂春節(jié),Serfling回歸得手動調(diào)正弦余弦,調(diào)完參數(shù)疫情都過峰了。
有沒有一種工具,能自動理解"春節(jié)會降、夏天會升、長期趨勢會變",還能把這三件事拆開來給你看明白?
有,F(xiàn)acebook開源的Prophet模型,正在成為疾控時間序列預(yù)測的新標(biāo)配。
![]()
中文名:國內(nèi)一般直稱 Prophet 模型(或"先知模型"),因?yàn)镻rophet的英文意思就是先知、預(yù)言家的意思。
所屬類型:嚴(yán)格來說屬于統(tǒng)計(jì)學(xué)習(xí)/貝葉斯可加回歸模型(GAM),不屬于是深度學(xué)習(xí),也不是傳統(tǒng)機(jī)器學(xué)習(xí),你可以理解為"帶自動擬合功能的高級時間序列分解工具"。
它的核心思想就是把數(shù)據(jù)拆成3部分
Prophet 認(rèn)為任何時間序列(比如你們每周的流感報告數(shù))都可以拆成三個部分:
y(t) = 趨勢 + 季節(jié)性 + 節(jié)假日/突發(fā)事件
用數(shù)學(xué)公式表示就是:y(t)=g(t)+s(t)+h(t)+εt
具體每一項(xiàng)的解釋如下:
![]()
Prophet 的聰明之處是:你告訴它"春節(jié)是哪天",它自動學(xué)會春節(jié)前后數(shù)據(jù)會異常;你告訴它"每年3-6月可能有高峰",它自動擬合這個周期。Serfling 回歸是"你先定好一條直線+一對正弦波,再求系數(shù)";Prophet 是"你只管給數(shù)據(jù),它自己決定趨勢在哪拐彎、季節(jié)有幾個波峰、春節(jié)影響持續(xù)幾天"。![]()
我們傳染病監(jiān)測數(shù)據(jù)的幾個典型痛點(diǎn),Prophet 恰好都能處理:
1. 春節(jié)/國慶等節(jié)假日效應(yīng)痛點(diǎn)春節(jié)期間基層醫(yī)療機(jī)構(gòu)放假,傳染病報告數(shù)會突然"斷崖式下跌",節(jié)后報復(fù)性反彈。傳統(tǒng)模型(比如 ARIMA)會被這種"假下降"騙到,以為疫情緩解了。Prophet 的做法你提前在模型里標(biāo)記"2024年春節(jié)是2月10日",它自動學(xué)習(xí)"春節(jié)前后7天報告量偏低",預(yù)測時會把這部分單獨(dú)算進(jìn)去,不干擾對真實(shí)趨勢的判斷。
2. 監(jiān)測數(shù)據(jù)經(jīng)常缺失/延遲痛點(diǎn)醫(yī)院一般情況周末不報告、或者出現(xiàn)系統(tǒng)故障漏報一周。
Prophet 的做法:對缺失值不敏感,空著就空著,它照樣能擬合趨勢。
3. 暴發(fā)疫情痛點(diǎn)某周突然暴發(fā)手足口病聚集性疫情,病例數(shù)飆到平時的5倍。
Prophet 的做法:你告訴它"這一周是異常點(diǎn),別學(xué)它",它會把這周的突變隔離掉,不讓這個尖峰把整體趨勢帶偏。
4. 不用你調(diào)太多參數(shù)痛點(diǎn)ARIMA 需要你自己判斷是幾階差分、什么季節(jié)性周期(p,d,q,P,D,Q),搞錯一個數(shù)字模型就廢了。
Prophet 的做法默認(rèn)參數(shù)對大多數(shù)傳染病數(shù)據(jù)已經(jīng)夠用,開箱即用。你只需要告訴它"我的數(shù)據(jù)是按周報的,季節(jié)性周期是52周"就行。
![]()
1.場景一:建立"預(yù)期發(fā)病數(shù)"基線(自動預(yù)警系統(tǒng))
這是疾控系統(tǒng)最常用的功能。做法用過去3-5年的歷史周發(fā)病率訓(xùn)練 Prophet,預(yù)測"本周正常情況下應(yīng)該報告多少病例"。預(yù)警邏輯如果實(shí)際報告數(shù) > 預(yù)測值的上限(比如95%置信區(qū)間上限),系統(tǒng)自動報警。優(yōu)勢Prophet 已經(jīng)自動排除了"因?yàn)榇汗?jié)所以本周本該偏低"或"因?yàn)檫M(jìn)入夏季所以本該偏高"的因素,報警更準(zhǔn),誤報更少
2.場景二:中長期趨勢預(yù)測做法
這也是我們經(jīng)常用來做的,就是預(yù)測,預(yù)測未來一定時間的病例數(shù)走勢,給防控資源調(diào)配做參考。
3.場景三:評估干預(yù)措施效果做法
某年某月啟動了新的疫苗接種計(jì)劃,用 Prophet 預(yù)測"如果不干預(yù),病例數(shù)本該是多少",然后和實(shí)際值對比,差值就是干預(yù)效果。
好的,我們的初步介紹就到這,下一節(jié)我們采用案例實(shí)戰(zhàn)分析
![]()
![]()
編輯:普通疾控人 | 審核:詩酒趁年華
文章來源 | 原創(chuàng)
說明 | 轉(zhuǎn)載只為分享,如有侵權(quán)聯(lián)系刪除
?版權(quán)聲明 | 部分信息和圖片來自公開網(wǎng)絡(luò)
轉(zhuǎn)載請注明
再次轉(zhuǎn)載請注明出處
![]()
科普健康 | 宣傳疾控
本號為多位疾控機(jī)構(gòu)從業(yè)者運(yùn)營
重點(diǎn)關(guān)注國內(nèi)外健康事件
致力于疾控科普
在做好科普服務(wù)大眾的同時
做好疾控機(jī)構(gòu)的宣傳
讓更多的人了解疾控,擁抱健康
歡迎加「小編」微信(cdcjkr126com)
本文具體說明
本文為原創(chuàng)內(nèi)容,文章為個人理解所學(xué),不涉及疫情信息及內(nèi)部保密數(shù)據(jù),發(fā)表的目的為自我總結(jié)及給有需求的人士學(xué)習(xí)使用。如有不妥之處,歡迎聯(lián)系小編修改、刪除。
更多精彩視頻,盡在“CDC疾控人”視頻號
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.