![]()
系列简介
这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。
今天是第34节,我们今天讲一种之前没有涉及过的时间序列预测模型——Prophet 。
当然有老师说我们还有好多内容没有分享,比如ARIMA,比如传播动力学,比如空间分析,空间扫描等等。
怎么说呢,这些都是对疾控传染病监测预警来说常用的、好用的方法,但是第一是时间和精力有限,该系列内容阅读量又低,很多时候就没那么大的心劲去写。第二是该系列打算长期持续,内容有深有浅,当然主要也是受自身能力所限,所以,得慢慢来,是分享也是自我总结,以后也会断断续续一直更新下去。
如有不当之处,欢迎留言讨论,大家的留言是我们更新的动力!
每年春节前后,传染病自动预警系统或者说大疫情网总会出现这种情况:流感、手足口、诺如……病例数齐刷刷往下掉,系统一片"绿灯",领导刚松口气,节后第二周数据突然报复性反弹,预警灯狂闪。
你心知肚明——这不是疫情真缓解了,是医院放假、家长不带孩子看病、基层迟报。
传统的ARIMA模型看不懂春节,Serfling回归得手动调正弦余弦,调完参数疫情都过峰了。
有没有一种工具,能自动理解"春节会降、夏天会升、长期趋势会变",还能把这三件事拆开来给你看明白?
有,Facebook开源的Prophet模型,正在成为疾控时间序列预测的新标配。
![]()
中文名:国内一般直称 Prophet 模型(或"先知模型"),因为Prophet的英文意思就是先知、预言家的意思。
所属类型:严格来说属于统计学习/贝叶斯可加回归模型(GAM),不属于是深度学习,也不是传统机器学习,你可以理解为"带自动拟合功能的高级时间序列分解工具"。
它的核心思想就是把数据拆成3部分
Prophet 认为任何时间序列(比如你们每周的流感报告数)都可以拆成三个部分:
y(t) = 趋势 + 季节性 + 节假日/突发事件
用数学公式表示就是:y(t)=g(t)+s(t)+h(t)+εt
具体每一项的解释如下:
![]()
Prophet 的聪明之处是:你告诉它"春节是哪天",它自动学会春节前后数据会异常;你告诉它"每年3-6月可能有高峰",它自动拟合这个周期。Serfling 回归是"你先定好一条直线+一对正弦波,再求系数";Prophet 是"你只管给数据,它自己决定趋势在哪拐弯、季节有几个波峰、春节影响持续几天"。![]()
我们传染病监测数据的几个典型痛点,Prophet 恰好都能处理:
1. 春节/国庆等节假日效应痛点春节期间基层医疗机构放假,传染病报告数会突然"断崖式下跌",节后报复性反弹。传统模型(比如 ARIMA)会被这种"假下降"骗到,以为疫情缓解了。Prophet 的做法你提前在模型里标记"2024年春节是2月10日",它自动学习"春节前后7天报告量偏低",预测时会把这部分单独算进去,不干扰对真实趋势的判断。
2. 监测数据经常缺失/延迟痛点医院一般情况周末不报告、或者出现系统故障漏报一周。
Prophet 的做法:对缺失值不敏感,空着就空着,它照样能拟合趋势。
3. 暴发疫情痛点某周突然暴发手足口病聚集性疫情,病例数飙到平时的5倍。
Prophet 的做法:你告诉它"这一周是异常点,别学它",它会把这周的突变隔离掉,不让这个尖峰把整体趋势带偏。
4. 不用你调太多参数痛点ARIMA 需要你自己判断是几阶差分、什么季节性周期(p,d,q,P,D,Q),搞错一个数字模型就废了。
Prophet 的做法默认参数对大多数传染病数据已经够用,开箱即用。你只需要告诉它"我的数据是按周报的,季节性周期是52周"就行。
![]()
1.场景一:建立"预期发病数"基线(自动预警系统)
这是疾控系统最常用的功能。做法用过去3-5年的历史周发病率训练 Prophet,预测"本周正常情况下应该报告多少病例"。预警逻辑如果实际报告数 > 预测值的上限(比如95%置信区间上限),系统自动报警。优势Prophet 已经自动排除了"因为春节所以本周本该偏低"或"因为进入夏季所以本该偏高"的因素,报警更准,误报更少
2.场景二:中长期趋势预测做法
这也是我们经常用来做的,就是预测,预测未来一定时间的病例数走势,给防控资源调配做参考。
3.场景三:评估干预措施效果做法
某年某月启动了新的疫苗接种计划,用 Prophet 预测"如果不干预,病例数本该是多少",然后和实际值对比,差值就是干预效果。
好的,我们的初步介绍就到这,下一节我们采用案例实战分析
![]()
![]()
编辑:普通疾控人 | 审核:诗酒趁年华
文章来源 | 原创
说明 | 转载只为分享,如有侵权联系删除
©版权声明 | 部分信息和图片来自公开网络
转载请注明
再次转载请注明出处
![]()
科普健康 | 宣传疾控
本号为多位疾控机构从业者运营
重点关注国内外健康事件
致力于疾控科普
在做好科普服务大众的同时
做好疾控机构的宣传
让更多的人了解疾控,拥抱健康
欢迎加「小编」微信(cdcjkr126com)
本文具体说明
本文为原创内容,文章为个人理解所学,不涉及疫情信息及内部保密数据,发表的目的为自我总结及给有需求的人士学习使用。如有不妥之处,欢迎联系小编修改、删除。
更多精彩视频,尽在“CDC疾控人”视频号
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
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.