跳到主要内容

临床医学与生存分析

限制性立方样条 (RCS)

让连续暴露在若干节点之间按立方多项式弯曲,同时在两端收成直线,用来检验「有没有关联」以及「弯曲有没有比一条直线多赚到东西」。

更新日期 2026-08-29 生存

这篇能回答什么

限制性立方样条(Restricted Cubic Spline, RCS)问两句可以写进结果的话:总体关联——暴露整段对结局有没有贡献;非线性关联——在线性项已经进模型之后,额外的样条项还值不值得留下。教学运行是 Logistic(二分类):暴露 = 预测分数,结局 = 金标准。节点 4 个,落在 −2.44、0.48、4.21;OR=1 的参照钉在暴露中位数 0.48。

它和线性 Cox(或线性 logit)的差别在于:线性 Cox 强迫 log-HR 随暴露成一条斜线,整段只用一个 HR。RCS 允许中间段弯曲、两端拉直。若非线性 P 大,弯曲项没有额外贡献,主文应退回线性说法——本页 P_nonlin=0.4102,结论列写「不显著 (呈线性)」。图右侧若出现飙升,优先当成尾部稀疏,而不是改写检验。

什么时候不该用

暴露已经是两档或三档分组,样条没有连续轴可弯,应回Cox或逻辑回归的分类编码。只要固定时点的区分度,用ROC。要把线性预测值做成加法尺,用列线图。只有时间与 0/1 事件、不谈剂量形状,用Kaplan-Meier。

如何选择方法

连续暴露先画散点或粗分箱,再决定要不要弯。若你事先相信「每升高一单位,logit/log-HR 固定」,线性 Cox 或线性 Logistic 更省自由度。若要检查 U/J 形或平台,上 RCS,但听非线性 P,不听尾部一根刺。需要床旁总分,把最终选定的线性或样条预测值再交给列线图。

  • RCS:1 个定量暴露、1 个结局(二元或定量)、0–30 个协变量;输出总体/非线性 P 与带置信带的剂量—反应图。

  • 线性 Cox / 线性 Logistic:只估一个斜率,适合非线性检验已失败时的主模型。

  • 列线图:展示加法尺,不负责节点检验。

  • ROC:比较得分排序,不估计暴露轴上的 OR(x)。

输入、输出与限制

输入

暴露因素恰好一列定量(教学为预测分数)。临床结局一列,教学为二元金标准;也可以是定量。协变量可选,用来控制混杂,不进入横轴。不要把年龄误当作暴露——本页横轴绑定预测分数。

  • 暴露因素:最少 1 个,最多 1 个,定量。

  • 临床结局:最少 1 个,最多 1 个,二元定类或定量。

  • 协变量:最少 0 个,最多 30 个,定量或定类。

输出

检验表两行:总体关联性 (Overall Association)、非线性关联 (Non-linearity),各带 P 与文字结论。表注写节点位置与参照。图为暴露对 OR(或 HR)的估计曲线与 95% 带,水平基准在 1。

产品限制

  • 本教学表是 Logistic,纵轴是 OR 不是 HR;不要把曲线抄进 Cox 结果。

  • 节点默认按分位布置,本例 4 结:−2.44、0.48、4.21。

  • 参照默认中位数 0.48,该点 OR(或差)被钉在 1(或 0)。

  • 非线性不显著时,主结论写成线性,即使图的最右端看起来很陡。

  • 协变量进入后,曲线是「调整后的」条件轨迹,不能当成粗率。

案例

研究问题。 预测分数从约 −2.4 拉到 4.2,金标准阳性的发生比是一条斜线,还是中间弯、两端翘?若弯曲项不显著,论文该不该仍然配一张「非线性关系图」。

同一份临床表的 diagnostic 页:暴露勾预测分数,结局勾金标准。检验给出总体关联性 (Overall Association) P=0(显著),非线性 P=0.4102,结论「不显著 (呈线性)」。节点 −2.44 / 0.48 / 4.21,参照 0.48。下载后不要另加方法A 当第二暴露——角色墙只收一列连续暴露。

下载教学示例表(临床诊断页)

在 StatsX 中操作

  1. 步骤 1 · 打开诊断页

    上传临床 xlsx 后停留在 diagnostic。survival 页没有「预测分数 vs 金标准」这组绑定。

  2. 步骤 2 · 看暴露的分布

    预测分数应是连续定量,大约跨 −2.4 到 4.2。金标准两水平。缺一列的行会退出该次拟合。

  3. 步骤 3 · 搜索限制性立方样条

    目录关键词用「样条」或 RCS。

  4. 步骤 4 · 只挂一列暴露

    暴露因素 = 预测分数;临床结局 = 金标准。协变量可空。运行。

  5. 步骤 5 · 先读两行 P,再看图

    总体显著而非线性 0.41,主句写成线性关联。图右尾置信带爆炸时,把它写成「极端值不稳定」,不要升级成 U 型。

上传临床表以便打开诊断工作表
上传后切到 diagnostic,不要停留在 survival。
画像确认预测分数为定量、金标准为二元
暴露须连续;金标准须两水平。
目录中选择限制性立方样条
选定「限制性立方样条 (RCS)」。
暴露挂预测分数、结局挂金标准
只选一列暴露;协变量可留空。

如何阅读输出

检验表必须两行一起读。总体关联性 (Overall Association) P=0,预测分数作为整体(线性基 + 样条基)与金标准有关。非线性关联 P=0.4102,样条多出来的弯曲项没有额外贡献,结论列写明「呈线性」。把第一行显著写成「存在 U 型」是读错行。

RCS 限制性立方样条 - 模型统计学检验 (Logistic (二分类))
检验假设检验统计性质P 值显著性结论
总体关联性 (Overall Association)考察自变量对因变量的整体影响0显著
非线性关联 (Non-linearity)考察样条非线性项的额外贡献0.4102不显著 (呈线性)

左右滑动可查看完整表格

模型配置说明:设置了 4 个自然样条节点 (Knots),所处位置为 -2.44、0.48、4.21。基准参考点 (Reference=1.0 或 0.0) 设为自变量中位数 0.48。

RCS 总体关联与非线性检验表
工作台应同时给出 P=0 与 P=0.4102 两行,表注含四个节点与参照 0.48。
预测分数的剂量反应曲线,纵轴为比值比
参照 0.48 处贴近 OR=1;右尾置信带拉宽,不能单独用来宣布非线性。

【限制性立方样条RCS】暴露=预测分数,结局=金标准,参照值=0.48。 【总体关联】P_overall=0.0000,预测分数 与 金标准 存在显著总体关联。 【线性】P_nonlin=0.4102,关联基本单调线性。

图在 −2.5 到约 3 的区间几乎贴着基准线,过 3 之后点估计上扬、带子极宽——那是高分端人数少时的数值外推,和 P_nonlin=0.41 并不矛盾。对照线性 Cox:若你在 survival 页对同一连续变量只估一个 HR,得到的是整段斜率;本页已经用样条问过「弯不弯」,答案是不够弯。正确写法:预测分数与金标准存在显著总体关联,剂量—反应与线性 logit 相容;不要根据右尾孤峰写「阈值 3.5 以上风险激增」。纵轴是 OR,换到 Cox 框架才改称 HR。

理论与公式

在节点 κ_1<⋯<κ_K 处构造限制性立方基:两端的二阶导为零,避免尾巴乱抖。Logistic 写法为

K=4 时除线性项外还有 2 个非线性基。总体关联检验 H_0: 全部 β(除截距)为零;非线性检验 H_0: 那些 s_k 的系数全为零。后者不拒绝,就回到 β_1 x 这一条,与线性 Cox 的 log-HR=βx 同构(只是链接函数从偏似然换成 logit)。参照 x_ref=0.48 处令 OR(x_ref)=1:

本例节点 −2.44、0.48、4.21 把轴分成可弯的中段与拉直的两侧。P_nonlin=0.4102 表示那两个额外基没有通过「比直线更值」的门槛。

注意事项

  • 非线性不显著时,图仍会画出来,那是展示而非证据。主句跟 P_nonlin。

  • 右尾 OR 坐标可以被拉到数万,通常是稀疏单元格,不要写进摘要的「风险倍数」。

  • 参照换到临床截断(例如 0)后,整条曲线上下平移,检验 P 不变,文字里的「高于参照」会变。

  • 节点太多会把噪声当成波浪;4 结是常用默认,不是最优调参结果。

  • 本页纵轴是 Logistic 的 OR;把同一套节点塞进 Cox,链接与风险集都不同,数字不会自动相等。

  • 协变量若与暴露共线,曲线会被「调没」,先查方差膨胀再谈形状。

常见问题

参考文献

  • Durrleman, S., Simon, R. Flexible regression models with cubic splines[J]. Statistics in Medicine, 1989, 8(5): 551–561.

  • Harrell, F. E. Regression Modeling Strategies[M]. Springer.

  • Desquilbet, L., Mariotti, F. Dose-response analyses using restricted cubic spline functions[J]. Statistics in Medicine, 2010, 29(9): 1037–1057.

  • 陈峰. 医用多元统计分析方法[M]. 中国统计出版社.