您好,欢迎您

连续型变量的离散化(2)—— 常用方法分类及浅析

2017年07月25日
作者:袁联雄 中山大学附属第三医院(微信号:boy_for_)
来源:微信公众号“郑正有词”
除了中位数法,百分位数法,ROC曲线法,还有什么方法可以探讨如何对连续型变量进行分组?生存分析数据怎么找cut–off值呢?今天的帖子里你都能找到答案。

在回归模型中,连续型变量离散化的方法大体可以分类两类:第一类是根据连续型变量与结局或者结局函数的函数关系进行划分,这类方法主要有残差分析法、半参数法等,其基本原理已经在上一期帖子中做了阐述,此处不再重复;如模拟产生一个logistics回归模型,其中age、x1和x2是有统计学意义的自变量,x3是没有统计学意义的自变量
n <- 200    # 设定样本含量
set.seed(17) # 设定随机数种子以重复结果
age<- rnorm(n, 50, 10);x1 <- rnorm(n, 20, 5);x2<- rnorm(n, 5, 2);x3<-rnorm(n, 8, 2)
logit_pi<-0.04*(age-50)+0.1*x1-0.3*x2;
y <- ifelse(runif(n) < plogis(logit_pi), 1, 0)
logistics回归结果如下:
2.jpg

残差分析和半参数法的结果图如下:

我是表头

3.jpg

图1中的残差是以x1和x2为自变量的logistics回归的Deviance残差,散点图有时候难以区分是否存在线性或非线性趋势,图中红色的线图为Lowess平滑曲线,可用于提示残差与连续型自变量之间的关系;
图2半参数法结果中虚线是置信区间,两个图的结果都提示age有较明显的线性趋势,而X3基本无关。

这一类方法的优点主要有:1)根据连续型变量与与结局或者结局函数之间的关系来寻找,可以尽可能的保证分组方法在符合临床实际的时候也符合客观规律;2)在样本量不大的情况下结果比第二类方法要稳定,不同研究的cut-off值可能在某个相对较窄的范围内变动;缺点主要是cut-off值得选取较为主观,对于非线性关系没有较好的方法可以直接在图中标出拐点或者cut-off值,需由研究组根据图形趋势和临床特征综合判断,并在进一步的分析中不断尝试、验证。

第二类是统计量最大原则或者P值最小原则,即选择一个cut-off值使得检验统计量最大(似然函数值、log-rank卡方值,ROC曲线下面积AUC、信息熵等等)或者使得P值最小,统计量越大,P值也会越小,因此二者实际上是一致的,很明显,这类方法到导向性非常明显,就是为了得到尽可能漂亮(尽可能有阳性结果,预测效果尽可能好)的结果。这类方法有最大选择检验(Maximally Selected Test Statistics)、ROC曲线、决策树等。R软件maxstat函数包中提供了最大选择检验,Proc等多个函数包提供了ROC曲线,rpart提供了决策树。如以maxstat包中的DCBCL数据集为例

图3 最大选择检验结果

6.jpg

图4 决策树的分析结

可以看到这个数据集中阳性事件总共是22例,最大选择检验的cut-off值是0.186,决策树的第一个cut-off值是0.2,二者结果相近,但决策树给了更进一步亚组划分的cut-off值。

与第一类方法相比,这类方法最明显的特点是cut-off值得选择客观,算法会直接给出cut-off值。其缺点是:1)除决策树外一般只能划分成两组,多组划分需对亚组进一步做分析;2)样本量要求相对较高,小样本量时不同研究可能得到的cut-off值相差较大

此外,比较两类不同方法会发现:第一类方法不以预测效果而根本目的,更倾向于寻找符合临床实际和数据客观规律的分组方法,而第二类更倾向于寻找预测效果最好的分组方法,但有可能cut-off值不一定很切合临床实际的风险。