![]()
系列简介
这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。
之前很多老师反馈这种小专题的形式特别好,可以一口气彻底学透一种方法,好的,我们又来了!
这次是分布滞后非线性模型,我们初步计划用8小节左右的内容讲通它的前世今生,以及如何使用。所以我们这个小专题的名字就叫做《八小篇搞懂DLNM》
今天是第1小篇!
做传染病监测预警、环境健康研究的疾控同行,大概率都绕不开一个经典问题:气象环境等因素到底怎么影响发病 / 死亡?
比如我们常说 “降温后流感会增多”“高温天手足口发病上升”,但真正做数据分析时总会遇到两个困惑:
为什么温度和发病数画出来不是一条直线?不是温度越高病越多,也不是温度越低病越多,往往是中间某个区间最安全,偏高偏低风险都上升。
为什么效应总 “慢半拍”?寒潮来了不是当天发病就暴涨,往往要等 3-7 天;高温热浪过后,死亡高峰才会出现。
如果你用普通线性回归、甚至常用的 GAM 模型去分析,总会感觉 “说不透”——要么没法准确描述弯曲的风险曲线,要么没法系统拆解多天的滞后效应。
今天这个系列的主角 ——分布滞后非线性模型(DLNM),就是专门解决这个问题的工具,也是当前疾控领域时间序列研究里最主流、最实用的分析方法之一。
![]()
在讲模型之前,我们先回到疾控工作的真实场景,搞懂两个绕不开的客观规律。这也是 DLNM 存在的根本原因。
第一是——暴露与健康效应,大多是非线性关系
简单说就是:暴露因素(温度、湿度、污染物等)和健康结局(发病、死亡)之间,不是 “水涨船高” 的直线关系。
最典型的就是温度与健康:温度很低时,随着温度升高,发病 / 死亡风险逐渐下降;降到某个 “最适温度” 后,风险达到最低;温度继续升高,风险又会重新上升。画出来就是一条U 型或 J 型曲线—— 低温有风险,高温也有风险,两者的风险幅度、变化速率完全不一样。
像流感、肺炎等呼吸道疾病,多呈现 “低温驱动” 的 J 型关系;手足口、痢疾等肠道传染病,多呈现 “高温驱动” 的上升趋势;而全因死亡、心脑血管疾病死亡,大多是标准的 U 型曲线。
如果用简单的线性模型去拟合,相当于强行用一条直线去描述一条曲线,结果必然是偏差的 —— 要么低估极端温度的风险,要么算错整体效应。
第二是——健康效应存在滞后性,且会持续多天
滞后效应,就是我们常说的 “不是不报,时候未到”:当天的暴露,不仅影响当天的健康结局,还会影响之后几天甚至十几天。
疾控场景里太常见了:比如寒潮来袭,血管收缩、呼吸道免疫力下降,但肺炎、心梗的住院 / 发病高峰,往往出现在暴露后 3~7 天。传染病就更不用说了,病原体增殖、人群暴露累积、潜伏期度过,都需要时间。
更关键的是,不同滞后天数的效应大小是不一样的。比如高温对死亡的影响,可能第 1 天效应不强,第 2-3 天达到峰值,之后慢慢减弱。
如果只分析 “当天温度对当天发病” 的影响,或者只挑某一天的滞后数据去看,就会漏掉完整的风险过程,严重低估暴露的真实健康影响。
![]()
我们疾控人常用的几类模型,其实都只能解决上述两个问题中的一个,没法同时兼顾。
1.广义线性模型(GLM):线性假设太局限
GLM(比如泊松回归、负二项回归)是我们分析计数型发病数据的基础工具,逻辑简单、结果易解读。但它的核心假设是暴露与结局呈线性关系没法描述 U 型、J 型的非线性曲线;同时常规 GLM 也无法系统分析多日滞后效应,最多手动挪一天、两天,非常零散。
2. 广义相加模型(GAM):能处理非线性,但滞后分析很薄弱
GAM 用平滑函数替代了线性项,可以很好地拟合出暴露 - 反应的非线性曲线,很多同行做温度健康效应都用过它。但它的短板也很明显:对滞后效应的处理非常有限通常我们只能单独分析 “滞后 1 天”“滞后 3 天” 的效应,没法完整、连续地描述从滞后 0 天到滞后 14 天的整个效应变化过程,更没法准确计算整个滞后期的累积风险。想系统做滞后分析,用 GAM 既麻烦又不严谨。
3. 分布滞后线性模型(DLM):能分析滞后,但默认线性
DLM 专门用来解决滞后效应问题,可以把不同滞后天数的暴露都纳入模型,输出每一天的滞后效应系数,还能计算累积效应。但它的硬伤是:默认暴露和结局是线性关系相当于默认 “温度每升高 1℃,风险的变化幅度是固定的”,但真实情况是 —— 低温升高 1℃和高温再升高 1℃,带来的健康风险天差地别。线性假设完全不符合实际。
所以总结一下:
传统模型里,有的能搞定非线性,有的能搞定滞后效应,但没有一个能同时、精准地处理 “非线性 + 多日滞后” 的双重问题。而疾控的真实研究场景,偏偏全是这种双重特征的问题。
所以,我们有必要学习分布滞后非线性模型DLNM
![]()
DLNM,全称分布滞后非线性模型(Distributed Lag Nonlinear Models),你可以把它理解成 “DLM 的滞后能力 + GAM 的非线性能力” 的结合体。
它的核心思路,是通过交叉基函数,同时在两个维度上对效应进行拟合:
暴露维度:用样条函数描述不同暴露水平(比如不同温度)对应的风险差异,解决非线性问题;
滞后维度:用分布滞后的思路,描述同一暴露水平下,不同滞后天数的效应变化,解决滞后问题。
最终构建出一个“暴露 - 时间 - 效应” 的三维关系。
我们用大白话翻译一下,也就是说你可以用 DLNM 分析温度对发病的影响,你不仅能知道:多少摄氏度风险最低、多少度风险最高(非线性特征);还能知道:高温 / 低温的风险在暴露后第几天最强、持续多久(滞后分布特征);更能算出:整个滞后期内,极端温度带来的总累积风险有多大。
不管是做传染病气象归因、制定高温 / 寒潮预警阈值,还是做环境健康风险评估,DLNM 都是目前最适配疾控场景、认可度最高的分析工具,也是相关领域论文的标配方法。
很多人觉得 DLNM 难,本质是被 “交叉基”“样条函数” 这些术语吓住了。但对我们疾控使用者来说,不用完全吃透复杂的数学推导,只要搞懂它的逻辑、知道怎么用、怎么解读结果、怎么避坑,就完全能支撑科研和业务工作就可以了。
接下来这个系列,我们就从零开始,顺着基础概念→核心原理→疾控场景→R 语言实操→结果解读→避坑调参的路径,用8小节的内容,一步步带你把 DLNM 学明白、用起来。
下一篇,我们先从最基础的 GLM 和 GAM 讲起,把 DLNM 的“前世”先理清楚。
![]()
![]()
编辑:普通疾控人 | 审核:诗酒趁年华
文章来源 | 原创
说明 | 转载只为分享,如有侵权联系删除
©版权声明 | 部分信息和图片来自公开网络
转载请注明
再次转载请注明出处
![]()
科普健康 | 宣传疾控
本号为多位疾控机构从业者运营
重点关注国内外健康事件
致力于疾控科普
在做好科普服务大众的同时
做好疾控机构的宣传
让更多的人了解疾控,拥抱健康
欢迎加「小编」微信(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.