分布滞后非线性模型(Distributed Lag Non-linear Model, 以下简称DLNM)经常用于有时间滞后效应的数据分析,如流行病研究中,经常需要考虑到温度变化的滞后影响,引入DLNM进行建模分析。
一、DLNM介绍
滞后效应指的是因变量的值与自变量过去的值相关。例如,在对新冠肺炎的研究中发现,夏天发病率比冬天要低,原因是强烈的紫外线和高温不利于病毒在环境中的生存,降低了传播率。由于感染后有潜伏期,病例和温度会出现滞后效应,即某次突然降温的一周或两周后,才出现感染人数增加的情况。
分布滞后模型由Almon.S在1965年提出1, 用于研究财政拨款与制造业公司支出的滞后效应研究。现在我们看到的材料一般都是都是Antonio Gasparrini2的研究。在R语言中,我们由DLNM包来进行分布滞后非线性模型分析,这个程序包的作者也是Gasparrini,在程序包中的reference部分他还附上了自己的相关研究和DLNM的解释,以及DLNM包的用法。
二、DLNM的模型理解
-
分布滞后
我们先来看Almon提出的分布滞后模型,研究响应变量Y与自变量X的时间效应,Y由X的
过去值加权和表示。
Y t = ∑ i = 0 n − 1 w ( i ) X t − i Y_t=\sum_{i=0}^{n-1}w(i)X_{t-i} Yt=i=0∑n−1w(i)Xt−i
等式中的 w ( i ) w(i) w(i)表示权重,可以理解为 X t − i X_{t-i} Xt−i的系数,用最小二乘法来估计,一般来讲我们会对权重进行一些假设,比如呈指数递减、服从帕斯卡分布等,但需要结合数据和模型的需要。
在Almon的模型中, w ( i ) w(i) w(i)的估计是用插值法来完成的:
w ( i ) = ∑ j = 0 q + 1 Φ j ( i ) b j , i = 0 , 1 , 2 , … , n − 1 w(i)=\sum_{j=0}^{q+1}\Phi_j(i)b_j,~~~ i=0,1,2,…,n-1 w(i)=j=0∑q+1Φj(i)bj, i=0,1,2,…,n−1
这里把 w ( i ) w(i) w(i)当作多项式, q + 1 q+1 q+1是 w ( i ) w(i) w(i)的次数, b j b_j bj是系数, Φ j ( i ) \Phi_j(i) Φj(i)是拉格朗日插值多项式。对于拉格朗日插值法的理解可以参照这篇:
如何直观地理解拉格朗日插值法? - 马同学的回答 - 知乎
简单来说就是我们在模型中考虑n个滞后的影响,例如,如果想要考虑每个月对因变量的影响,那么n=12;如果我们的数据是按照季度观测的,q=4;没有观测到的其他月份,我们使用拉格朗日插值法拟合出来,这条拟合曲线经过q+2个点,因为模型中我们不考虑 X t + 1 X_{t+1} Xt+1和 X t − n X_{t-n} Xt−n的影响,所以 w ( − 1 ) = w ( n ) = 0 w(-1)=w(n)=0 w(−1)=w(n)=0,因此 b 0 = b q + 1 = 0 b_0=b_{q+1}=0 b0=bq+1=0,再代入最初的模型就得到
Y t = ∑ i = 0 n − 1 ( ∑ j = 1 q Φ j ( i ) b j ) X t − i = ∑ j = 1 q b j ∑ i = 0 n − 1 Φ j ( i ) X t − i Y_t=\sum_{i=0}^{n-1}(\sum_{j=1}^{q}\Phi_j(i)b_j)X_{t-i}=\sum_{j=1}^{q}b_j\sum_{i=0}^{n-1}\Phi_j(i)X_{t-i} Yt=i=0∑n−1(j=1∑qΦj(i)bj)Xt−i=j=1∑qb