一、引言
通常在描述性流行病学调查中,如一项队列研究中,研究者跟踪随访,收集到了多年的慢性病发病或死亡等数据,接下来大家会如何对这些数据进行分析呢?传统的描述性分析方法,多集中在粗率、标化率、截缩率、发病(死因)顺位等统计指标,以及长期趋势分析等方法。但以上统计分析均仅限于单个变量的统计分析,如年龄别发病率,只考虑了年龄对于该慢病发病的影响,并没有考虑到不同时期、出生队列与年龄的相互关系,进而对于慢病发病率的影响,即没有综合考虑相关变量之间的关系调整。
或许会有童鞋有疑问,什么是相关变量之间的相互关系呢?以刚刚提到的年龄对发病的影响为例,年龄作用表现为不同年龄组其发病危险性不同,一般年长者发病危险性更高;时期作用则表现为随着时间的变异,某些因素(如诊疗方法改变等)同时影响所有年龄组;队列作用则是由于某些因素(如生活方式的改变或危险因素的暴露)的效应不同时影响所有年龄组,不同代人往往有不同的危险性。由此可以看出,时期和出生队列对于年龄均有影响,那么年龄对于发病风险的影响究竟有多大呢?若只用年龄别发病率进行分析,显然不满足,因为年龄作用的“纯度”不够呀!所以为了“提纯”年龄等单变量的作用,即对某一变量在慢性病发生或死亡过程中的作用进行“定量”分析或评价,这就需要用多变量回归模型分析技术来解决。发病死亡率趋势分析中具有代表性的回归模型是“年龄-时期-队列(Age-Period-Cohort, APC)”回归模型,简称APC模型。
二、APC模型简介
1939年,Frost首次提出从年龄、时期、队列三维度对肺结核数据进行研究。此后,APC模型在流行病学、人口学和社会学研究中发挥重要作用。Mason于1973年提出的APC多重分类模型成为主流APC分析模型。
根据年龄、时期和队列每一个变量的水平数,可以估计用于配合模型的数据格子数,即一张大型列联表(见表1)。本例共分为11个年龄水平(41~, 45~, ..., 81-84岁),8个时期水平(1973~, 1977~, ..., 2001-2004),以及18个出生队列水平(1892, 1896, ..., 1960)。请注意:出生队列定义为A*P两维表的对角线C(C=A+P-1=18)。因为相邻的出生队列部分时间重叠,一般以出生队列的中间年份来标明它。例如,1981-1984年73-76岁以及77-80岁的病例,其出生队列分别为1905-1911年和1901-1907年,两个队列之间存在着重叠,所以分别标记为1908年和1904年。详见表1。
假设研究疾病(肿瘤)的病例服从Poisson分布,肿瘤发病(死亡)率为模型中各参数的乘积函数,此时发病(死亡)率的对数是模型中各参数的加法函数。其模型形式可简单表达如下:
ln[E(rijk) ]=ln( θijk/Nijk )=μ+αi+βj+γk (式1)
上式左侧ln[E(rijk)]表示某特征人群某肿瘤的期望发病或死亡率的自然对数,,Nijk为暴露该病的人年数。μ为回归方程的截距,表示年龄、时期、队列参数的疾病危险性参照水平;参数αi、βj、γk 分别代表各个水平的年龄、时期、队列的效应。
三、模型拟合步骤及评价
模型拟合过程中,一般使用极大似然法,根据其他因素调整后的相对危险度对数值来对APC模型进行参数估计。模型拟合优度评价方法:(1)AIC(Akaike information criterion)、BIC(Bayesian Information Criterion),值越小,模型对数据的拟合越好;(2)Deviance(残差),Deviance指肿瘤实际发病(死亡)率的对数值与模型拟合率的对数值之差,值越小,提示模型的预测值与观察值之间的差异越小,拟合程度越好;(3)Deviance/DF,DF(自由度)等于列联表中分母不为0的格子数减去方程中参数的个数。Deviance/DF越接近1,模型拟合越好。方程中某个因素所起的作用可以通过引入这个参数前后残差的改变值与自由度变化来评价,最后从拟合较好的模型中获得相关因素的参数估计值。
四、模型“不可识别”问题
由于年龄、时期、队列效应间存在完全线性依赖关系(时期=年龄+出生队列),设计矩阵为奇异矩阵,矩阵不可逆,从而引伸出不可估计问题,即参数不能得出唯一的解,这也是APC模型“不可识别”问题。欲求得参数唯一解,研究者提出了多种解决方法。这里简要地给大家介绍一下。
(1)局部限定法,即对参数添加局部限定条件,利用先验知识来假定两个参数作用相同,如α1=αi,β1=βj,或γ1=γk,其余参数可以由此得出唯一的估计值。
(2)两因素模型(Two-Factor Model),即不同时考虑三个因素,分别拟合两因素模型(年龄-时期模型、年龄-队列模型、时期-队列模型)。当两因素模型与三因素模型的拟合效果接近时,两因素模型更优。
(3)非线性模型(Nonlinear Models),是将年龄、时期、队列三因素中一个或多个变量进行变换,使其之间不存在线性关系。
(4)惩罚函数法(Penalty FunctionApproach),应用惩罚函数最小化来选择限制方法,通过计算3个两因素模型(A-P/A-C/P-C)中每一个模型与APC全模型间的欧式距离,当距离最小时选择限制。所有的模型均用最小二乘法拟合。
(5)个人观测值法(Individual Records Approach),即在宏观汇总数据基础上,将同一年龄-时期分组内病例分为年轻队列和年老队列,以消除变量间线性相关关系。
除了以上方法外,还有自回归法、估计函数法、内生因子法、非参数因果模型法、非参数平滑样条函数法、分层模型或混合模型等处理方法,需注意的是,各种方法的应用是为了获得唯一一组参数估计值,但各种方法均存在局限性。
五、软件实现
目前SAS、R、STATA软件均能进行APC模型分析。这里主要以SAS为例,简述程序实现过程,R以及STATA实现请自学。
1、SAS
因为研究者的数据特点不尽相同,对于模型“不可识别”问题的处理方法也会有所不同,小编在这简要给大家提供Poisson回归的SAS程序(片段),希望能起到抛砖引玉的功效。SAS可以用PROCGENMOD过程来处理泊松回归。
PROC GENMOD DATA=***;/*从数据库调取需分析的数据*/
CLASS age (param=ref ref=“*”)
period (param=ref ref=“*”)
cohort (param=ref ref=“*”);/*CLASS后面为数据内的分类变量,需注意,请根据自己数据特点设置参照水平组,若无参数组设置,CLASS默认以最大值组为参照*/
MODEL ***= age periodcohort/dist=poisson link=log offset=log
RUN;
2、R语言
(1)APC包:http://cran.r-project.org/web/packages/apc/index.html
(调用apc包里的apc.fit.model 函数即可)
(2)Epi 包: http://cran.r-project.org/web/packages/Epi/index.html
参考文献
项永兵,肿瘤登记资料的统计分析.中国肿瘤,2001;10(5):255-257.
Rosenberg PS, Anderson WF. Age-Period-Cohort Models in Cancer Surveillance Research: Ready for Prime Time? Cancer Epidem Biomar.2011;20(7):1263–8
Clayton D, SchifflersE. Models for temporal variation in cancer rates. I: Age-Period and Age-Cohort Models. StatMed.1987;6(4):449–67.
Clayton D,Schifflers E. Models for temporal variation in cancer rates. II: Age-period-cohort models. Stat Med.1987;6(4):469–81.
张雪峰,沈其宗,年龄-时期-队列模型.东南大学学报(医学版),2001(3):200-203.
苏晶晶,彭非,年龄-时期-队列模型参数估计方法最新研究进展..统计与决策, 2014(23):21-26.
感谢刘文奕的撰稿!
长按识别关注我们