RCS限制性立方样条 您所在的位置:网站首页 percent函数怎么用 RCS限制性立方样条

RCS限制性立方样条

2023-03-11 01:57| 来源: 网络整理| 查看: 265

图片

本章思维导图:

图片

近两年RCS和Nomogram一样炙手可热(泛滥成灾),有必要做一个更专业更SCI化的专业梳理。出于此目的,汇总心得如下。

前言

临床连续数据与结局的线性关联方式与模型优化是一个重要问题。医学常见非线性曲线形态如下图,有S L log -log J threshold U ∩ 形态,数据拟合越接近真实关联曲线形态才越利于提高预测性能。统计学家George Box 的名言说到 “all models are wrong, but some are useful”。意思是,不能说某个构建的模型100%正确,只可以说它看起来似乎有点用。这几年热门的RCS(限制性立方样条)就是这样一种方法,它可以为模型拟合提供线索, 让模型看起来更好用,让数据分析更亮眼。

图片

我们经常通过线性回归、Logistic回归、Cox回归探讨连续自变量和因变量的关系,但上述模型要求合适的链接函数g(y),保证自变量和因变量服从一般/广义线性前提条件。其中线性前提条件转换可参考后续转换章节,例如正态转换、logitP转换。这里需要注意,上述假设不成立时,我们需要采用什么样的方法探讨自变量和因变量是线性还是非线性关联呢?平滑函数 非线性关系可以平滑工具来实现。平滑工具主要包括核平滑、多项式平滑和样条平滑。核平滑是使用一组局部权重来生成平滑的估计,在实际应用中很难实现;多项式是最简单的函数平滑结构,但只是一种粗略的估计方法,存在过拟合、共线性、全局性等诸多问题。样条(spline)本质上是一个分段多项式, 但它一般要求每个分段点上连续并且二阶可导,这样可以保证曲线的平滑性,如下图鸡蛋曲面knot可导。Spline适用条件为①数据x与y关系不符合直线或广义线性前提 ②数据多项式回归R2低③某个节点前后趋势发生明显改变。

图片

RCS

RCS(Restricted Cubic Spline或Natural cubic splines )。立方样条本质上是连续平滑的分段三次多项式。其中“分段pieces”的数量由使用的“节点knots”数量决定。每个节点内实际上是一个三次多项式。经典的分段回归使每个段的内部效应被强制统一, 在节点的位置跳跃,“瞬时变化”不合理, 这不但不符合很多实际情况, 而且不能发现最大值和最小值的点。RCS的数学原理实际上比每个节点拟合三次多项式要复杂一些,需要施加进一步限制以便spline是连续平滑没有间隙。简而言之,RCS实质上是通过选择节点的位置和数量,拟合样条函数RCS(X),使得连续变量X在整个取值范围内呈现光滑的曲线,如图。Restricted RCS在回归样条的基础上附加Restricted:样条函数在自变量数据范围左右两端的两个区间内为线性函数。因为左右两端预测的区间非常宽加一个线性函数作为约束条件,这样使得两边的预测更为准确。由于加了约束条件,正常情况下会导致各段区间内RCS拟合效果稍差于分段回归,但是总体趋势上会更加合理。

图片

RCS通过样条函数RCS(X)转换自变量X后,然后根据因变量的分布类型选择合适的链接函数,进而拟合模型g(Y)=常数项+RCS(X)+其他自变量,其中g为链接函数。样条函数RCS(X)包括一个线性项X以及K-2个立方项(S),即RCS(X)=β0X+β1S1+…+β(k-2)S(k-2),完整公式见下图。Ci(x)是落在第i个节点中的三次分量,g是所谓的链接函数。

图片

其中,节点的位置对样条函数的拟合影响不大,一般根据连续变量的百分位数选择。节点数量对样条函数的影响较大,节点的数量决定曲线的形状,当节点的数量为2时,得到的拟合曲线就是一条直线。研究显示,节点数量为3~5时样条函数拟合较好,一般推荐knot=4。

图片

表1 harrell 推荐knot 3-7

RCS形状受 knots影响很大,knot越多曲线约复杂。由此可见,RCS 只能用来判断非线性趋势,为切点选择提供线索,而不能精确提供切点!

图片

SCI实战中,BMJ、EI文章对于RCS非线性关系描述的非常好,值得参考。例如,BMJ文章截取了其中的脂肪量和死亡风险的曲线图,作者采用中位数设置为拐点,从图中可以看出脂肪量在21Kg以后,死亡风险随着脂肪量增大而逐渐增高。通过切点前后的HR95%CI,侧面说明研究结论。通过绘制RCS图,既直观又能输出p for non-linearity值用来全面描述x与y之间的非线性关系,还可发现潜在的有趣切点,可以为文章增色不少。RCS对切点的线索,多是采用knot 3-8个且视觉上95%CI最狭窄处,但是很多文章都没有交代,似乎很多都默认了。R包会自动给出对应的切点位置。通过SCI分析,我们也发现knot对应的分位数也并不是一成不变的,如BMJ文献knot=4 (reference value= median,percentage= P5 P35 P65 P95),EI文献knot=4 (reference value= P10,percentage= P20 P40 P60 P80)。主流RCS表达套路如下:

① RCS+ HR左右开弓,切点median

图片

② RCS+ 直方图,切点自定义

图片

③ RCS+ 密度图,切点自定义

图片

发散思维1:选择分位数还是RCS

连续数据,我们往往第一选择会依据临床共识进行分类,常见的如二分类法(如高血压 SBP≥140mmhg。有时关注变量并没有公认的分类切点,此时我们会选择中位数或多分类/等级分类(三分位、四分位)。这些分类虽然严格遵循临床意义或分位数原则,但是可能削弱模型预测能力。忽略连续数据非线性形态,而直接引入分类进行模型预测,显然容易丢失许多信息,如下图,具体测试可在https://drjgauthier.shinyapps.io/spliny/ 中自行感受。简而言之,能RCS就先RCS, RCS后再根据图形定性形态,选择对应的knots点、临床界值、ROC界值、中位数、分位数、segmented包分段对应切点,进行分析。

图片

图片

发散思维2:其他非线性拟合

RCS很强,但是非线性拟合过程也有其他方法,https://www.r-bloggers.com/2014/09/an-exercise-in-non-linear-modeling/ 对主流的几类非线性方法进行了比较。为了避免过度拟合,根据AIC最小值标准选择模型。结论是RCS的AIC最小,拟合效果最佳。所以一句话,看不明白RCS准没错。B样条,别名基本样条,是RCS的常见替代品,后者也使用节点来控制灵活性。与RCS区别在于左右末端不受限制,因此它们比受限制的三次样条具有更灵活的尾部。广义加性模型 (GAM) 是广义线性模型的扩展,专门研究非线性关系,GAM用途很广。所用惩罚参数,薄板回归样条、三次回归样条、P 样条(惩罚B样条)。GAM不光用来为非线性关系提供线索,更重要的是直接参与GAM模型构建,尤其是环境研究领域常用,详细查看相关章节。

图片

表 spline 平滑相关R包

R软件代码

SAS在unconditional logistic, pooled logistic, conditional logistic, 甚至是 proportional hazards regression models里均可实现RCS,但是绘图结果较丑陋,不推荐!这里如果感兴趣的同学深入研究,也会发现SAS 提供的 p for non-linearity 值定义是 P >0.05 为非线性关联,与R提供的P



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有