打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
存在非线性效应怎么办?限制性三次样条(restricted cubic spline)

  引言  

不少朋友在写文章的时候,特别喜欢模仿文献(至少对于大部分朋友来说是比较好的学习方法),但是有一些不是他们想模仿就能做到的图表,比如我们常用的“

直线回归”,肯定就不是朋友们想模仿的东西了。在统计咨询中经常被咨询到的一个就是“限制性三次样条(restricted cubic spline, rcs)”。估计看到名字,你们都应该很熟悉,在看看下面的图片(doi: 10.1038/srep36817.),是不是更熟悉了?听说可以高分文章@#¥%……&


从上面这个图,我们可以获得什么信息呢?从标题看,这是关于肾脏替代疗法的研究。从横纵坐标看,应该是使用了一个cox回归,研究了生存与钠浓度之间的关系。从曲线看,他们之间应该是个曲线的关系。而置信带没有一直覆盖红色HR=1无效线,说明该曲线关系具有统计学意义。

 应用范围  

除了cox回归,限制性三次样条(rcs)还有什么用处呢?为什么有那么多朋友咨询想学习呢?经常阅读文献的朋友可以发现,限制性三次样条可以运用到常用的回归分析当中,比如高斯回归、Logistic回归、泊松回归等等,凡是想研究因变量与自变量之间存在的曲线关系都可以使用rcs。常见的应用是,上面提到的cox回归、Logistic回归、以及meta分析中反应剂量反应关系的meta回归。

 定义  

在学习如何操作之前,我们先看看概念。大量的研究表明,在拟合曲线关系的时候,高次多项式往往容易不收敛或不稳定,较低次(三次及以下)多项式则正好能克服这些缺点,所以更具有实用价值。但是低次多项式在分段拟合的分析中,常见段与段之间的连接不平衡的现象,而样条就是为解决低次多项式连接点不光滑的问题而产生的。

假设把区间[a,b]划分成n段,如果存在正整数k使得区间[a,b]上的分段函数s(x)满足两个条件:①在区间[a,b]上有k-1阶导数;②在每个段中是次数不大于k的多项式。则称s(x)为k次样条函数。我们重点讲的就是三次样条rcs。

 实例操作  

好了,大家最关心的可能就是操作了,准备好让自己高大上一把了吗?目前SPSS、SAS、STATA、R等都做rcs分析,为了简便,下面将以R语言在cox回归中的应用进行介绍。

library(survival)#加载生存分析的数据和程序

library(rms)#加载包含rcs函数的程序

d=lung#为方便使用,数据明明为d

dd=datadist(d);options(datadist='dd')#为后续程序设定数据环境

fit=cph(Surv(time,status)~rcs(age,4),data=d)#进行cox回归

pre=Predict(fit,age)#对HR进行预测

plot(pre$age,pre$yhat+1,xlab='age',ylab='HR',type='l',lwd=2,ylim=c(0,2))#作图

lines(pre$age,pre$lower+1,lty=2)

lines(pre$age,pre$upper+1,lty=2)


最后的结果如下:


上图就是你们想要的rcs,到此,对限制性三次样条函数相关的内容介绍完毕,后续精彩不断,请继续关注!

请批评指正!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
R语言限制性立方样条回归
Matlab中插值函数汇总和使用说明
限制性立方样条图,一种美的不行的趋势性分析方法(附R语言详细教程)
R中如何使用三次样条插值(cubicsplineinterpolation)/使用polygon函数画位于两条线之间的阴影/po
插值与拟合matlab实现
MATLAB插值与拟合(3)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服