系列简介
这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。
今天是第21节,这节课讲一讲Serfling回归究竟如何操作,在此之前,我想给大家推荐一个视频——黑龙江牡丹江疾控中心做的结核病宣传视频,采用魔术的方式科普结核病防控知识,非常用心,很有创意,如果大家觉得不错,欢迎转发点赞!
好的,我们今天就逐步讲一讲Serfling回归模型如何具体操作。
1.计算自变量
好的,假设我们有这样一个数据,是各月份某病病例数的数据,这个病每年有一次大循环,又有每半年一次的小循环。
所以我们需要算这样6个自变量
2.根据公式直接计算
计算结果如下,病例数就是因变量,从t开始到cos2这6个变量就是自变量。
3.进行回归分析
如何操作我们之前专门分节说过,所以我们这个地方就直接看结果,结果的解读我们之前也说过。
至此,我们就知道了各自变量的系数和常数项,也就可以建立回归方程了,建立回归方程之后根据方程带入t值,就可以算出每个时间点的预测值,然后作图展示实际病例数和预测病例数岁时间的变化。
这就是Serfling回归模型,在这种传统的 Serfling 回归模型中,算出来的预测值就是预警值,超过该值就可以认为是流行或者说超额。
1.流行期剔除的主观性与循环悖论——这是最根本、最棘手的缺陷。
由于引人了时间序号和三角函数,Serfling模型可以有效模拟具有周期性特征的疾病流行曲线。在采用Serfling模型对疾病的流行起始进行预警时,为避免历史数据中流行期的观测值对流行起始预警阈值设置的影响,通常需要剔除流行期的观测数据,在剔除流行期内的观测值后,使用剩余的非流行期数据进行Serfling模型拟合,建立基线。
但是如何剔除?一般人为直接剔除之后再进行拟合,但这就需要定义流行期才能剔除,如何定义“流行期”?通常就是用“病例数显著高于基线”来定义,这就形成了一个先有鸡还是先有蛋的悖论。
或者主观性剔除,但是这样往往依赖分析者的主观判断(如“连续2个月超过基线2个标准差”),不同人处理可能得到不同的基线,影响结果的可比性和可重复性。
2. 基线对异常值的极度敏感
传统方法(尤其早期用简单线性/多项式回归时)中,一个极端值就能显著扭曲整条基线,即所谓的“高杠杆点”效应。即使这个极端值被判定为“流行”并剔除,它在剔除前的第一次拟合中已经扭曲了模型,影响了其他“正常”点的残差,可能导致错误的剔除/保留判断。
3. 季节模式假设过于刚性
使用固定的傅里叶项(如sin(2πt/12) + cos(2πt/12))来拟合季节性,这隐含了一个强假设:季节性波形每年都完全相同。
但实际上肯定不是这样的,传染病的季节性受气候、人口流动、干预措施等影响,其高峰时间、幅度、甚至波形都可能逐年变化。刚性模型无法捕捉这种时变的季节性,在异常季节转换年份(如暖冬)表现不佳。
4.长期趋势拟合能力不足
传统上用一个简单的线性项或低阶多项式来拟合长期趋势,这可能会出现过拟合与欠拟合,多项式阶数选择主观。阶数低了(如线性),可能无法捕捉复杂的趋势变化(如发病率先升后降的“倒U型”);阶数高了,模型会过度拟合随机波动,导致基线不合理震荡。
5.对未来的外推风险大
传统Serfling模型用于预测时,多项式趋势会沿着设定的曲线无限上升或下降,这可能产生荒谬的长期预测(例如,预测未来20年后病例数为负数)。
编辑:普通疾控人 | 审核:诗酒趁年华
文章来源 | 原创
说明 | 转载只为分享,如有侵权联系删除
©版权声明 | 部分信息和图片来自公开网络
转载请注明
再次转载请注明出处
科普健康 | 宣传疾控
本号为多位疾控机构从业者运营
重点关注国内外健康事件
致力于疾控科普
在做好科普服务大众的同时
做好疾控机构的宣传
让更多的人了解疾控,拥抱健康
欢迎加「小编」微信(cdcjkr126com)
本文具体说明
本文为原创内容,文章为个人理解所学,不涉及疫情信息及内部保密数据,发表的目的为自我总结及给有需求的人士学习使用。如有不妥之处,欢迎联系小编修改、删除。
更多精彩视频,尽在“CDC疾控人”视频号
热门跟贴