我们仍以表14-1中的数据为例进行操作演示,然而表14-1中并没有具体的因素特征,因此我们从《中国统计年鉴2011》中收集到对应时期的人均GDP(衡量经济发展水平)和每千人医院床位数(衡量医疗卫生水平)数据,作为两个具体的时期特征纳入分析。我们想要探究这20年间的人均GDP和千人医院床位数的变化能否解释时期维度的死亡率变化,同时我们会控制死亡率的年龄和队列效应。此时设定模型为:
公式(14-9)所示模型可以称为年龄-队列-时期特征(age-cohort-period characteristic,ACPC)模型,其各项含义与第一节中的式子相同。很明显,此时我们将时期分类编码数据替换为它的两个特征变量,这使得三者之间存在的线性依赖关系不会影响该模型的估计。在导入数据前,我们需要将数据整理为如下表14-4的格式:
表14-4 中国城镇居民年龄-时期别死亡率(1990—2010年)
由于这里的数据导入和变量虚拟变量编码的程序与章节14.2相同,故不再赘述,下面直接利用exe14_1数据集展示模型估计过程。
SAS程序:
proc genmod;
model mortality=age_25 age_30 age_35 age_40 age_45 age_50 age_55 age_60 age_65 age_70 age_75 age_80 cohort_1915 cohort_1920 cohort_1925 cohort_1930 cohort_1935 cohort_1940 cohort_1945 cohort_1950 cohort_1955 cohort_1960 cohort_1965 cohort_1970 cohort_1975 cohort_1980 cohort_1985 cohort_1990 Ln_GDP Bed/dist=poisson link=log;
run;
SAS程序解释:
proc genmod表示该模型将使用广义线性模型进行运行,model后的语句格式定义模型的具体变量,其与一般的回归模型类似,由于我们选择将第一个年龄组和队列组作为各自因素内的参照项,因此将这两项(age_20和cohort_1910)从语句中舍去。当然,研究者可以自由选择各因素内的参照项,然后在模型中舍去。最后我们将两个特征变量输入模型,它们代替了时期的虚拟变量,因此该模型不会存在完全线性依赖关系。最后,dist=poisson定义结局变量服从泊松分布,link=log定义其链接函数为log函数。
SAS结果:
SAS结果输出如下:
图14-10 ACPC模型拟合信息(www.xing528.com)
图14-11 ACPC模型估计结果
SAS结果解释:
图14-10给出了多个拟合指数值,图14-11显示了ML估计的结果(ML为系统默认估计方法),并给出了各个变量的估计值及对应的标准误、95%置信区间、p值等信息。很显然,年龄和队列效应均具有统计学意义,时期特征估计结果显示,人均GDP与死亡率的联系并不是很强,相比之下,每千人床位数的增加与死亡率的下降显著关联(b=-0.1131,p<0.0001),提示卫生事业发展相较于经济发展对人口健康的影响更加明显和直接。
至此,我们介绍了一般约束估计、IE估计和因素特征估计这三种方法,下面我们简单对比一下这几种模型所得结果的差异。图14-12给出了三种模型的年龄、时期、队列效应线。可以看出,一般约束估计和IE估计得到的时期效应均比较平稳;ACPC估计得到的年龄效应最强,其次是一般约束估计,最后是IE估计。相比而言,IE估计得到的队列效应是最强的,其次是一般约束估计,最后是时期特征估计。实际上,不同模型得到的效应线的斜率/倾斜度之间存在一定的内在关系,其背后也蕴含着极为丰富的数学思想,具体可以参见O’Brien(2015)的研究。
图14-12 三种估计方法中年龄、时期、队列效应的比较
表14-5整理了上面几种模型的拟合情况。可见,IE估计具有最优的模型拟合度,其次是一般约束估计的APC全模型。值得注意的是通过对AC模型和ACPC模型拟合度的对比(ACPC是在AC模型的基础上添加了两个时期特征变量),可以发现因素特征模型相比其对应的无因素特征的双因素模型,前者的拟合优度具有显著的提升,这也从侧面反映了所纳入的时期特征确实能够解释部分时期变异。
表14-5 几种APC模型的拟合指数比较
注:AIC赤池信息准则,BIC贝叶斯信息准则。
进一步的,我们还可以计算两个时期特征解释了的时期变异比例是多少。依然将死亡率对数值作为结局变量,运行如下基于最小二乘法的ACPC模型。我们可以得到模型的R2值为0.9987,由此可计算出两个时期特征解释了时期效应30%的变异((0.9987-0.9984)/(0.9994-0.9984))。
SAS程序:
proc reg;
model ln_mortality=age_25 age_30 age_35 age_40 age_45 age_50 age_55 age_60 age_65 age_70 age_75 age_80 cohort_1915 cohort_1920 cohort_1925 cohort_1930 cohort_1935 cohort_1940 cohort_1945 cohort_1950 cohort_1955 cohort_1960 cohort_1965 cohort_1970 cohort_1975 cohort_1980 cohort_1985 cohort_1990 Ln_GDP Bed;
run;
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。