广义估计方程(GEE):如何用Stata、SAS和R实现?

您所在的位置:网站首页 sas和stata 广义估计方程(GEE):如何用Stata、SAS和R实现?

广义估计方程(GEE):如何用Stata、SAS和R实现?

2024-07-10 23:13| 来源: 网络整理| 查看: 265

0 分享至

用微信扫码二维码

分享至好友和朋友圈

广义估计方程的概念

1986年,Zeger 和Liang在《Biometrics》上发表了题为《Longitudinal Data Analysis for Discrete and Continuous Outcomes》的文章,提出了一种新的参数回归分析方法,即 广义估计方程(generalized estimating equations,GEEs) 。

GEEs是在广义线性模型(generalized linear models,GLM)的基础上发展而来,通过作业相关矩阵(working correlation matrix)和拟似然函数(Quasi likelihood function) 解决了数据间非独立性问题,实现了纵向数据回归参数的稳健估计 。

除了连接函数和分布函数(与GLM相同),作业相关矩阵也是GEEs的一个重要特征,需要在分析过程中进行选择。作业相关矩阵是指因变量的各重复测量值两两之间的相关性大小,包括等相关(exchangeable correlation)、独立(independent)、自相关(autocorrelation)和不确定性(unstructured correlation)等(具体可参考相关帮助文档)。

广义估计方程的应用

目前,GEEs的应用越来越多,也越来越广(多的是量,广的是领域)。就医学领域来讲,GEEs与纵向数据(重复测量数据)的配合使用可谓是相得益彰。除了纵向数据(重复测量数据),GEEs还可以用于因变量观测值间存在相关性的其他类型数据。

2.1 纵向数据(重复测量数据)

GEEs多用于纵向数据的回归分析,如研究某强化方案治疗某疾病的疗效(结局为治愈)。两组患者分别实施强化和常规方案后,每隔 2周进行一次随访,对某项疗效指标进行检查,查看是否恢复正常。

说到这里,应该会有朋友想到重复测量方差分析。 没错,如果测量指标是连续性变量,也是可以采用重复测量方差分析的。但是,这里的结果是二分类(是否治愈),重复测量方差分析便不再适用。 此外,上面说到的是平衡数据,对于不平衡的纵向数据, GEEs同样适用(例如,有一些患者第一次随访间隔了2周,第二次间隔3周,第三次间隔1周)。

举个实例:Berry SA, Fleishman JA, Yehia BR, et al. Thirty-day hospital readmission rate among adults living with HIV [J]. AIDS. 2013,27(13):2059-2068.

该研究纳入了9个HIV诊所 (隶属于美国HIV研究网络)收治的艾滋病患者,在每位患者的每次出院后都随访30天 , 以确定每次出院后是否有30天再入院(因变量,出院后30天内再入院)发生。

在这个数据集里,一位患者可有多条记录(每条记录包含当次入院时的人口学特征、CD4细胞计数、抗病毒治疗情况等),记录的间隔时间不统一,所以可以看作一个不平衡的纵向数据(重复测量数据)。另外,因变量间可能存在相关性,即30天再入院史可能影响后续30天再入院的发生。因此,本研究采用了GEEs拟合logistic回归分析。

注:严格来说,纵向数据和重复测量数据是两种类型的数据,具体可参考第8版《卫生统计学》(人民卫生出版社)第二十章第一节:非独立数据问题。

2.2 因变量间存在相关性的其他数据

除了常见的纵向数据外,GEEs还可以用于因变量观测值之间存在相关性的数据,这里举2个例子。

例1:王琦,王晓萌,陈文明, 等.以广义估计方程研究浙江省肺结核耐药预测方程[J].中华流行病学杂志,2018,39(3):368-373.

该研究指出,耐药肺结核患者可能耐一种或多种药物,耐药数目相同者可能耐药种类不同,不同药物的耐药性间可能存在相关性。因此,建议将每位患者的每一种药物的耐药情况都清晰列出,作为因变量,采用GEEs进行影响因素探究。

例2:吴彬,曹建平,邹煌秀, 等.广义估计方程在糖尿病并发症影响因素分析中的应用[J].中国卫生统计,2016,33(3):385-388.

与例1类似,该文章指出,一个糖尿病患者可能不伴有并发症,也可能伴有一种或多种并发症,不同人并发症的数目相同但种类可能不同,且不同并发症间可能存在相关性,如果单纯的使用二分类结局,会损失掉很多信息。因此,同样建议将并发症情况分别列出,作为因变量,采用GEEs进行影响因素探究。

对于上述两类数据,墨点并未实际操作过,大胆猜测了一下数据的录入形式,与各位共同探讨。以糖尿病并发症为例 ,假如有 ABCDE五个并发症(分别用1-5赋值),发生为1,不发生为0,加上年龄和患病年数两个自变量,则数据录入形式如下:

广义估计方程的实现

可以实现GEEs的数据分析软件有很多,常用的有SPSS、Stata、SAS和R等。 这里以实例演示GEEs在Stata、SAS和R中的实现,仅供大家参考。

研究目标:探究某医院艾滋病患者30天再入院的影响因素

数据情况:重复测量的纵向数据,且因变量间可能存在相关性

数据整理形式:

变量及赋值情况:

3.1 应用Stata实现GEEs

** 设置数据形式 **

xtset ID Number

** 拟合稳健的单因素logsitic回归(示例) **

xtgee readmission ib3.CD4, family(binomial) link(logit) corr(ind) eform robust

/* family:分布函数,link:连接函数,corr:作业相关矩阵,eform:输出OR */

** 拟合稳健的多因素logsitic回归 **

xtgee readmission i.ART ib3.CD4, family(binomial) link(logit) corr(ind) eform robust

3.2 应用SAS实现GEEs

此处赋值稍作改变,抗逆转录病毒治疗:是 = 1,否 = 2

/*加载数据 */

proc import out= work.Readmission

DATAFILE= "C:\Users\Administrator\Desktop\广义估计方程(GEEs)\30-day readmissions_1.csv"

DBMS=CSV REPLACE;

GETNAMES=YES;

run;

/*拟合单因素logsitic回归 (示例)*/

proc gee data=Readmission descending;

class ID Time_since_HIV ART CD4;

model Readmission=CD4/dist=bin link=logit;

repeated subject=ID/corr=independence covb corrw;

run ;

/*拟合单因素logsitic回归 (示例)*/

proc gee data=Readmission descending;

class ID Time_since_HIV ART CD4;

model Readmission=CD4/dist=bin link=logit;

repeated subject=ID/corr=independence covb corrw;

run ;

3.3 应用R实现GEEs

##加载 R packages

library(geepack)

##载入数据

Readmission



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3