主要内容

CoxModel

考克斯比例风险模型

描述

Cox比例风险模型与寿命或故障时间数据有关。基本的Cox模型包括一个危险函数h0t)和模型系数b这样,对于预测者X,即当时的危险率t

h X t = h 0 t 经验值 j = 1 p x j b j ]

在哪里b系数不依赖于时间。创建函数fitcox推导出两个模型系数b以及危害率h0t),并将它们作为属性存储在结果中CoxModel对象。

完整的Cox模型包括对基本模型的扩展,例如关于不同基线的危险或分层变量的包含。看到Cox比例风险模型的扩展

创建

创建一个CoxModel对象使用fitcox

属性

全部展开

当模型拟合时指定基线危险,指定为真实标量。Cox模型是一个相对危险模型,因此它需要一个基线,相对于基线来比较给定数据的危险。默认为意思是(X)(以及分层模型每层内的平均值),因此,在Xh (t) * exp (X-mean (X)) * b)。输入0来计算相对于的基线0的危险率Xh (t) * exp (X * b)。改变基线不会影响系数。

数据类型:

系数估计的协方差矩阵,指定为行数等于预测数的方阵。

数据类型:

系数和相关统计数据,用四列表表示:

  • β-系数估计

  • SE-系数估计的标准误差

  • zStat- z统计量

  • pValue- - - - - -p系数的-值(相对于零Beta)

表格的每一行对应一个预测器。

若要以向量的形式获取这些列,请使用点表示法将其索引到属性中。例如,在coxMdl对象,估计的系数向量为

beta = coxmld . coefficients . beta

要对系数执行其他测试,请使用linhyptest

数据类型:表格

拟合中使用的模型的表示形式,用威尔金森表示法指定为公式。看到威尔金森符号。例如,要包含多个预测器,请使用

'X ~ a + b +…+ c'

每个变量在哪里一个bc代表一个预测因子。这些变量是表的列名X

估计基线累积危险,以矩阵double指定。累积危险在训练中定义的时间点进行评估。

危害至少有两列。第一列包含时间值,其余列包含每个列出时间的累积危险。

  • 对于非分层模型,危害有两列。

  • 对于分层模型,危害对于分层级别的每个独特组合,都有一个额外的列。中不同的时间值风险(:1)每一层都由0条目风险(:2)。分层模型是使用“分层”名称-值参数。

理论上讲,危险度在时间上是累积的t是- log(1 - cdf(t)).经验累积风险是

H 0 ^ t = t t h 0 ^ t = t t 1 j R 经验值 β · x j

在哪里R风险设定在时间上了吗t,这意味着观测有失败的风险。看到部分似然函数

数据类型:

P-value指示模型相对于空模型是否重要,指定为实标量。

此属性包含p-对零模型进行似然比检验的值,即所有系数均为0的模型。

似然比检验在系数估计值和所有系数为0时比较数据的似然函数。比较产生一个测试统计量,可用于确定训练的模型相对于所有系数都等于0的模型是否显著。零假设是零模型与训练模型之间没有差异,因此具有显著性p-value表示训练的模型是重要的。

数据类型:

在系数估计值处似然函数的对数,指定为实标量。

数据类型:

模型中预测因子(系数)的数量,指定为正整数。

数据类型:

用于拟合模型的预测器的名称,指定为字符向量的单元格数组。如果模型在表中的数据上进行训练,那么预测器名称就是表列的名称。否则,预测器名称为X1X2等等。

数据类型:细胞

P-value表示每个协变量是否满足比例风险假设,指定为一个实向量,每个预测变量有一个条目。

Cox模型依赖于比例危害的假设,即对于任意两个数据点X1和X2,危害(X1)/危害(X2)为常数。如果预测因子依赖于时间,这个假设可能会被违背。例如,如果一个预测器与年龄相对应,那么随着年龄的增长,它通常会变得更危险。

这一假设的检验使用了缩放的舍恩菲尔德残差,并由Grambsch和Therneau在[1]

零假设是每个系数都满足比例风险假设。一个重要的p-value表示某一系数违反了比例风险假设。测试是对每个系数执行的,因此该属性是一个具有与系数数量相同的元素的向量。

数据类型:

P-value,表示整个模型是否满足比例风险假设,指定为实标量。

Cox模型依赖于比例危害的假设,即对于任意两个数据点X1和X2,危害(X1)/危害(X2)为常数。如果预测因子依赖于时间,这个假设可能会被违背。例如,如果一个预测器与年龄相对应,那么随着年龄的增长,它通常会变得更危险。

这一假设的检验使用了缩放的舍恩菲尔德残差,并由Grambsch和Therneau在[1]

零假设是,模型作为一个整体,满足比例风险假设。一个重要的p-value表示整个模型不满足比例风险假设。

数据类型:

各种类型的残差,用一个有七列的表表示,每一列表示残差:

  • “CoxSnell”-观察的Cox-Snell残差X(我)定义为累积危险度cumHazard(我))乘以…的危险X(我)企业社会责任(我)=cumHazard(我)*exp(X(i) * Beta)。是储存的拟合向量系数

  • “异常”-使用鞅残差定义偏差残差,如下所示:D (i) =符号(M (i)) * sqrt (2 * [M (i) +δ(我)*日志(δ(i) - M (i)))),在那里D(我)偏差残差,(我)鞅残差,和δ(我)指示是否为数据点不管死没死。

  • “鞅”-点的鞅残差X(我)delta(i) - CoxSnell(i),在那里δ(我)表示,如果X(我)死了,CoxSnell(我)Cox-Snell残差是多少。鞅残差可被看作是死亡人数与死亡人数之间的差值X(我)减去基于模型的预期死亡人数。

  • “Schoenfeld”-舍恩菲尔德残差定义为:s(i,j) = X(i,j) - M(Beta,i,j),在那里X (i, j)j观察的要素,(β,i, j)的期望值是X (i, j),考虑到当时剩余的活体观察的数量。舍恩菲尔德残差可以看作是时间上真死观测值之间的差值以及模型期望死观测在时间上的样子,考虑到剩余的活体观察。残差是为每个协变量计算的,因此它们的列数与学习参数的数量相同。残差仅对发生死亡的时间和观察有效。对于任何经过截尾的观测值,相应的残差为

  • “ScaledSchoenfeld”-缩放的舍恩菲尔德残差是由学习系数的方差缩放的舍恩菲尔德残差。与Schoenfeld残差一样,对于没有死亡的观察和时间,没有定义缩放残差;在这一点上的残差是

  • “分数”-分数残差定义为:分数(i、t) = integral_ {0} ^ {t} (X(我,u) - Xbar (u) dScres(我,u),在那里施罗德(我)观察时的舍恩菲尔德残差是多少,Xbar观测值的平均值在当时是否仍然存在u。残差是为每个协变量计算的,因此它们的列数与学习参数的数量相同。

  • “ScaledScore”-缩放分数残差是由拟合系数的协方差缩放的分数残差。

残差具有与训练数据相同的行数。

数据类型:表格

响应变量名,指定为字符向量。对于响应值在表中的模型,响应变量名是相关表列的名称。否则,ResponseName“T”

数据类型:字符

系数估计的标准误差,以实向量表示。StandardError是对角线的平方根吗CoefficientCovariance矩阵。

数据类型:

训练期间输入分层的唯一组合数组,指定为以下数据类型之一。

  • 数值数组-所有分层变量都是数值。

  • 字符串数组——所有变量都是字符串。

  • 字符串单元格数组——所有变量都是单元格字符串。

  • 分类数组——所有变量都是分类的。

  • 单元格数组——变量是混合类型。

给出一些数据XT,下表显示了什么例子分层包含。

输入数据 例子 产生的分层
mdl = fitcox(X,T,'分层',[1 2;1 - 2;2 2;2 2]); [1 2;2 2]
字符串 mdl = fitcox (X T“分层”,(“猫”、“狗”、“狗”、“鸟”); ["猫";“狗”;“鸟”)
细胞的字符串 mdl = fitcox (X T“分层”,{“猫”、“狗”、“狗”、“鸟”}); {“猫”、“狗”、“鸟”}
分类 mdl = fitcox(X,T,'分层',分类([1;2;3;4])); 分类([1;2;3;4])
混合类型

data =表(X, T(1; 2; 1; 3){‘猫’、‘猫’、‘狗’;‘狗’},VariableNames,{‘X’,‘T’,S1, S2);

mdl = fitcox(数据、“T”、“分层”,{S1, S2的});

{1“猫”;2“猫”;1“狗”;3‘狗’}

数据类型:|字符|字符串|细胞|分类

关于拟合数据的信息,指定为有四列的表:

  • -预测者的类别。

  • 范围-如果预测器不是分类的,则为其最小值和最大值;如果预测器是分类的,则为所有类别的列表。

  • InModel-逻辑指示是否在模型中使用了预测器。响应变量不在模型中。用于训练的预测变量在模型中。

  • IsCategorical-在训练期间,预测器是否被视为分类的逻辑指示。

如果模型没有分类预测因子,并且没有使用公式来拟合模型,则行数为VariableInfo是模型预测器的数量。否则,行数与其中的元素数相同PredictorNames

数据类型:表格

对象的功能

coefci Cox比例风险模型系数的置信区间
discardResiduals 从Cox模型中去除残差
hazardratio 估计Cox模型相对于基线的危险性
linhyptest Cox模型系数的线性假设检验
plotSurvival Cox比例风险模型的生存函数图
生存 计算Cox比例风险模型的生存

例子

全部折叠

具有相同形状参数的威布尔随机变量具有成比例的危险率;看到威布尔分布。带尺度参数的危险率 一个 形状参数 b 在时间 t

b 一个 b t b - 1

从尺度参数为1,5和1/3且形状参数相同的威布尔分布中生成伪随机样本B

rng默认的%用于再现性B = 2;A = ones(100,1);data1 = wblrnd(A,B);A2 = 5* a;data2 = wblrnd(A2,B);A3 = a /3;data3 = wblrnd(A3,B);

创建一个数据表。预测因子是三种变量类型,1、2或3。

predictors = categorical([A;2*A;3*A]);数据= table(predictors,[data1;data2;data3],“VariableNames”, (“预测”“次”]);

对数据进行Cox回归拟合。

MDL = fitcox(数据,“次”
mdl = Cox比例风险回归模型Beta SE zStat pValue _______ _______ _______ __________ Predictors_2 -3.5834 0.33187 -10.798 3.5299e-27 Predictors_3 2.1668 0.20802 10.416 2.0899e-25 Log-likelihood: -1197.917
rate = exp(mll . coefficients . beta)
率=2×10.0278 - 8.7301

进行Cox比例风险回归灯泡数据集,其中包含模拟灯泡的寿命。灯泡数据的第一列包含两种不同类型灯泡的寿命(以小时为单位)。第二列包含一个二进制变量,指示灯泡是荧光灯还是白炽灯;0表示灯泡是荧光灯,1表示灯泡是白炽灯。第三列包含审查信息,其中0表示灯泡被观察到故障,1表示观察被审查。

加载灯泡数据集。

负载灯泡

为灯泡的寿命拟合考克斯比例风险模型,考虑审查。预测变量是灯泡的类型。

coxMdl = fitcox(灯泡(:,2),灯泡(:,1),“审查”灯泡(:3))
coxMdl = Cox比例风险回归模型Beta SE zStat pValue ______ ______ ______ __________ X1 4.7262 1.0372 4.5568 5.1936e-06 Log-likelihood: -212.638

通过评价找出白炽灯和荧光灯的危害率 经验值 B e t 一个

hr = exp(coxmll . coefficients . beta)
Hr = 112.8646

对危险比的估计为 e B e t 一个 = 112.8646,这意味着白炽灯的估计危害是荧光灯的112.86倍。的小值coxMdl.Coefficients.pValue表明两种灯泡的危害率相同的可能性微乎其微,也就是说β= 0。

参考文献

[1] Grambsch, Patricia M.和Terry M. Therneau。基于加权残差的比例风险试验与诊断。生物计量学,第81卷,no。3, 1994,第515-526页。JSTOR,https://www.jstor.org/stable/2337123

版本历史

R2021a中引入