打开网易新闻 查看精彩图片

系列简介

这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。

今天是第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疾控人”视频号

打开网易新闻 查看精彩图片