![]()
系列简介
这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。
之前很多老师反馈这种小专题的形式特别好,可以一口气彻底学透一种方法,好的,我们又来了!
这次是分布滞后非线性模型,我们初步计划用8小节左右的内容讲通它的前世今生,以及如何使用。所以我们这个小专题的名字就叫做《八小篇搞懂DLNM》
今天是第4小篇——终于来到DLNM的核心了。
上一篇我们拆解了 DLNM 的两块核心积木:分布滞后线性模型(DLM)解决了滞后效应的连续刻画问题,样条函数解决了暴露 - 反应的非线性拟合问题,但两者都有各自的能力边界。
一个非常自然的思路应运而生:能不能把两者的优势结合起来,同时在「暴露水平」和「滞后天数」两个维度上进行灵活拟合?
这正是分布滞后非线性模型(Distributed Lag Nonlinear Models, DLNM)的核心设计思想。今天我们就正式拆解 DLNM 的核心逻辑,讲透它的灵魂 ——交叉基函数,并配套完整公式与逐符号解读,帮你彻底打通原理关。
![]()
在正式讲公式之前,我们先从视角上理清 DLNM 和传统模型的本质区别,建立直观认知。
GLM是广义线性模型,只有「暴露水平→效应」一个维度,且默认是直线关系
GAM是广义相加模型,同样只有「暴露水平→效应」一个维度,但把直线升级为平滑曲线
DLM是分布滞后线性,增加了时间维度,能看「滞后天数→效应」的变化,但默认每个滞后天数下,暴露与效应都是线性关系
DLNM是分布滞后非线性,同时覆盖两个维度,最终呈现的是「暴露水平 × 滞后天数 → 效应」的三维关系曲面
我们用大白话理解一下,用 GLM 或 GAM,你只能知道 “多少度风险高”;用 DLM,你只能知道 “第几天效应强”;而用 DLNM,你能同时知道 “哪个温度、在第几天、风险有多高”,还能算出整个滞后期的总累积风险。
这也是 DLNM 能成为环境健康、传染病气象研究主流方法的核心原因 —— 它完美贴合了真实世界中 “非线性 + 滞后效应” 的双重特征。
![]()
想要同时拟合两个维度的效应,核心工具就是交叉基函数,这也是很多人觉得 DLNM 难的 “门槛概念”。其实拆解开来逻辑非常清晰。
1. 什么是基函数?
先回到最基础的概念:无论是样条拟合还是分布滞后,本质都是基函数展开
拟合一条非线性曲线,我们可以把它拆成几个 “基础函数” 的线性组合,这就是样条基;拟合一段滞后效应分布,我们同样可以把它拆成几个 “基础函数” 的线性组合,这就是滞后基。
基函数就像拼乐高的基础积木块,不同的组合方式,就能拼出千变万化的曲线形状。
2. 为什么需要 “交叉基”?
如果我们只看暴露维度,用一组暴露基函数就能拟合非线性曲线;如果我们只看滞后维度,用一组滞后基函数就能拟合滞后效应分布。
但现在我们要同时描述:不同暴露水平下,滞后效应的曲线形状不一样;不同滞后天数下,暴露 - 反应的曲线形状也不一样。两个维度是相互关联、共同作用的。
这时候就需要把两组基函数进行交叉组合:让暴露维度的每一个基函数,都和滞后维度的每一个基函数两两配对,形成一个二维的基函数矩阵。这就是交叉基函数
你可以把它理解成一张二维网格:
横向是暴露水平(比如温度从 0℃到 35℃),纵向是滞后天数(比如从 lag0 到 lag14);交叉基就是给这张网格的每个交叉点都赋予平滑的效应值,最终拼接成一张完整的三维效应曲面。
3. 交叉基的构造逻辑
交叉基的构造分两步走,非常清晰:
第一步:分别构造两个维度的基函数。暴露维度通常选择 B 样条或自然样条,设置对应的节点 / 自由度,用来捕捉非线性的暴露 - 反应关系;滞后维度:通常选择 B 样条、多项式或自然样条,设置对应的节点 / 自由度,用来捕捉平滑的滞后效应分布。
第二步:两个维度的基函数做克罗内克积(交叉相乘)。简单理解就是两个维度的基函数两两组合,生成一组新的、二维的基变量。这组新变量就是交叉基,它同时携带了暴露维度和滞后维度的信息。![]()
DLNM 本质上依然是在 GLM 的框架下运行的,只是把原来单一的暴露项,替换成了交叉基函数项。
疾控研究中最常用的泊松分布 DLNM,标准公式如下:
![]()
从公式就能看出来,DLNM 并没有脱离我们熟悉的 GLM 框架。它本质上是先通过交叉基函数,把原始的暴露变量 “加工” 成一组新的变量,再放进 GLM 里进行回归。![]()
模型拟合完成后,我们最关心的三类结果,恰好对应三个不同的观察视角,也是疾控论文里最常见的三种图表。
1. 暴露维度视角:特定滞后期的暴露 - 反应曲线
这是我们最熟悉的视角:固定某一段滞后期(比如滞后 0-1 天、或整个滞后期的累积效应),观察不同暴露水平对应的风险大小,画出 U 型、J 型的非线性曲线。
疾控核心用途就在于找到风险最低的 “最适温度 / 最适湿度”;识别高温、低温的阈值,计算极端暴露对应的相对危险度;为预警阈值制定提供量化依据。
2. 滞后维度视角:特定暴露水平的滞后效应曲线
固定某一个暴露水平(比如 35℃高温、0℃低温),观察从滞后 0 天到最大滞后期,效应值随时间的变化趋势,画出单峰、多峰的滞后效应曲线。
疾控核心用途识别效应峰值出现的时间(比如高温对死亡的效应峰值在滞后 2 天);判断效应的持续时长;为防控措施的启动时机、持续周期提供数据支撑。
3. 整体视角:三维效应曲面 / 热力图
把两个维度同时展示出来,横轴是暴露水平,纵轴是滞后天数,颜色深浅代表效应大小,形成一张二维热力图或三维曲面图。
疾控核心用途直观呈现整个 “暴露 - 滞后 - 效应” 的全貌;快速定位高风险的暴露区间和时间区间;常用于论文的主结果展示,信息密度最高。
4. 最重要的指标:累积效应
除了单日的滞后效应,DLNM 最核心的产出之一就是累积效应把某一暴露水平下,整个滞后期内所有单日的效应加总,得到总累积相对危险度。
累积效应是评估暴露健康负担、计算归因风险最核心的指标,也是疾控公共卫生决策最关注的量化结果。
![]()
实际建模时,有三个核心参数需要我们提前设定,直接决定了模型结果的合理性。结合疾控研究的常用经验,给大家一个基础参考:
第一是最大滞后天数(L)根据疾病的潜伏期、效应的持续时间来设定。
温度对死亡、心脑血管疾病的效应:通常设 14~21 天;呼吸道、肠道传染病的气象效应:通常设 7~14 天;原则:要覆盖完整的效应周期,确保效应在滞后期末尾基本回落至基线水平。
第二是暴露维度的样条与自由度。
最常用 B 样条或自然样条,自由度通常设 4~6 个。自由度太低,曲线太 “直”,捕捉不到真实的非线性;自由度太高,曲线波动过大,容易过拟合。
第三是滞后维度的样条与自由度
最常用 B 样条或自然样条,自由度通常设 3~4 个。滞后效应的变化通常比较平缓,不需要过高的自由度;同时低自由度也能更好地解决相邻滞后天数的共线性问题。
讲到这里,DLNM 的核心原理就全部打通了:它不是凭空出现的复杂模型,而是在 GLM 的基上,一步步叠加了样条的非线性能力、分布滞后的时间维度能力,最终通过交叉基函数把两者融合在一起。
搞懂了原理,接下来最关心的问题自然是:这个模型在我们疾控的实际工作中,到底能解决哪些具体问题?有哪些成熟的应用场景?
下一篇,我们就专门盘点 DLNM 在传染病监测预警、环境健康、极端天气应对等疾控核心业务中的 5 大应用场景,每个场景配真实研究案例,帮你找到自己工作的落地切入点。
![]()
![]()
编辑:普通疾控人 | 审核:诗酒趁年华
文章来源 | 原创
说明 | 转载只为分享,如有侵权联系删除
©版权声明 | 部分信息和图片来自公开网络
转载请注明
再次转载请注明出处
![]()
科普健康 | 宣传疾控
本号为多位疾控机构从业者运营
重点关注国内外健康事件
致力于疾控科普
在做好科普服务大众的同时
做好疾控机构的宣传
让更多的人了解疾控,拥抱健康
欢迎加「小编」微信(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.