主要内容

fitcox

创建Cox比例风险模型

描述

fitcox函数为寿命数据创建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比例风险模型的扩展

coxMdl = fitcox (XT返回Cox比例风险模型对象coxMdl使用预测值X和活动时间T

例子

coxMdl = fitcox (XT名称,值使用一个或多个来修改适合名称,值例如,当数据包含审查(未观察到的值)时审查参数指定被审查的数据。

例子

全部折叠

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

b 一个 b t b - 1

从具有比例参数1、5和1/3且具有相同形状参数的Weibull分布生成伪随机样本B

rng违约%的再现性B = 2;一个= 1 (100 1);data1 = wblrnd (A, B);A2 = 5 *;data2 = wblrnd (A2, B);A3 / 3 =;data3 = wblrnd (A3, B);

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

预测值=分类([A;2*A;3*A]);数据=表格(预测值[data1;data2;data3],“变化无常”,[“预测”“次”]);

对数据拟合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
速率=经验(mdl.系数β)
率=2×10.0278 8.7301

执行一个Cox比例风险回归灯泡数据集,其中包含灯泡的模拟寿命。灯泡数据的第一列包含两种不同类型灯泡的生存期(以小时为单位)。第二列包含一个二元变量,该二元变量指示灯泡是荧光灯还是白炽灯;0表示灯泡为荧光灯,1表示灯泡为白炽灯。第三列为截尾信息,其中0表示观察到灯泡失效,1表示观察到截尾。

加载灯泡数据集。

负载灯泡

拟合灯泡寿命的Cox比例危险模型,考虑了审查。预测变量是灯泡的类型。

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

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

hr=exp(coxMdl.系数β)
hr = 112.8646

风险比的估计为 e B e t 一个 = 112.8646,这意味着白炽灯的估计危害是荧光灯的112.86倍。的小价值coxMdl.coverties.pValue表明两种灯泡具有相同的危险率的可能性可以忽略不计,这意味着贝塔= 0。

输入参数

全部折叠

预测值,指定为矩阵或表。

  • 一个矩阵包含每个预测器的一列和每个观察的一行。

  • 对于每个观察,一个表包含一行。表还可以包含时间数据和预测器。

默认情况下,如果预测器数据在表中,fitcox假设变量是分类变量,如果它是逻辑向量、分类向量、字符数组、字符串数组或字符向量的单元格数组。如果预测器数据是矩阵,fitcox假设所有预测器都是连续的。要将任何其他预测器标识为分类预测器,请使用CategoricalPredictors名称-值参数。

如果XT的价值“频率”的价值“分层”包含值,然后fitcox删除行当拟合Cox模型时,所有数据的值。

数据类型:|桌子|分类

事件时间,指定为以下之一:

  • 真正的列向量。

  • 两列表示开始和停止时间的实矩阵。

  • 表中某一列的名称X

  • 表格的威尔金森表示法公式X。例如,要指定表中的列“x”“y”是在模型中,使用吗

    + T + x + y'

    看到威尔金森符号

对于向量或矩阵项,表示的行数T必须与的行数相同X

使用的两栏形式T拟合一个时变系数的模型。看到具有时变协变量的Cox比例风险模型

数据类型:仅有一个的||字符|字符串

名称-值参数

指定可选的逗号分隔的对名称,值参数。名称参数名和价值是对应的值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:用删失值拟合数据审查具体说明“审查”,岑

X用于计算基线危险值的值,指定为实标量或行向量。如果基线是行向量,它的长度是预测器的数量,因此每个预测器都有一个基线。

连续预测值的默认基线为意思是(X),则默认风险率为X这些预测是h(t)*exp((X-平均值(X))*b). 分类预测因子的默认基线为0。输入0计算所有预测因子相对于0的基线,因此在Xh(t)*exp(X*b)。改变基线会改变危险比,但不影响系数估计值。

对于已识别的分类预测因子,fitcox创建虚拟变量。fitcox创建的虚拟变量少于类别数。有关详细信息,请参阅虚拟变量的自动创建

例子:“基线”,0

数据类型:

系数初值,指定为系数值的数值向量。这些值启动了执行的可能性最大化迭代fitcox

数据类型:

分类预测器列表,指定为该表中的值之一。

价值 描述
正整数向量 向量中的每个条目都是对应于预测数据列的索引值(X)包含分类变量的。
逻辑向量 一个符合事实的输入表示预测器数据的相应列(X)是一个分类变量。
字符矩阵 矩阵的每一行都是表中一个预测变量的名称X。名称必须与里面的条目相匹配PredictorNames. 用额外的空格填充名称,使字符矩阵的每一行具有相同的长度。
字符向量的字符串数组或单元格数组 数组中的每个元素都是表中一个预测变量的名称X。名称必须与里面的条目相匹配PredictorNames
“所有” 所有的预测都是绝对的。

默认情况下,如果预测器数据在表中,fitcox假设变量是分类变量,如果它是逻辑向量、分类向量、字符数组、字符串数组或字符向量的单元格数组。如果预测器数据是矩阵,fitcox假设所有预测器都是连续的。要将任何其他预测器标识为分类预测器,请使用“CategoricalPredictors”名称-值参数。

对于已识别的分类预测因子,fitcox创建虚拟变量。fitcox创建的虚拟变量少于类别数。有关详细信息,请参阅虚拟变量的自动创建

例子:“分类预测因子”,“全部”

数据类型:仅有一个的||逻辑|字符|字符串|细胞

用于审查的指示符,指定为布尔向量,行数与X或表中某一列的名称X。用1表示被右删的观察,用0表示完全被观察的观察。默认情况下,所有观察结果都被完全观察到。例如,请参见删失数据的Cox比例风险模型

例子:“审查”,岑

数据类型:逻辑

观测的频率或权重,指定为大小相同的数组T包含非负标量值。数组可以包含与观测频率相对应的整数值或与观测权重相对应的非负值。

默认值为每行1个XT

如果XT的价值“频率”的价值“分层”包含值,然后fitcox删除行当拟合Cox模型时,所有数据的值。

例子:“频率”,w

数据类型:

算法控制参数为迭代算法fitcox用于估计指定为结构的解决方案。使用创建此结构statset。参数名称和默认值请参见下表或输入statset(“fitcox”)

在表中,“终止公差”表示如果内部迭代导致规定值的变化小于公差,则迭代停止。

结构中的场 描述
陈列 返回到命令行的信息量
  • “关闭”——没有一个(默认)

  • “最后一次”——最终输出

  • “通路”-每次迭代输出

MaxFunEvals 函数求值的最大数目 正整数;默认是200
麦克斯特 最大迭代次数 正整数;默认是100
TolFun 可能性变化的终止容差;参见Cox比例风险模型 正标量;默认值为1 e-8
收费 参数(预测器估计)变化的终止公差 正标量;默认值为1 e-8

例子:“优化选项”,statset('TolX',1e-6,'MaxIter',200)

预测器变量名,指定为唯一名称的字符串数组或唯一字符向量的单元格数组“PredictorNames”这取决于你如何提供培训数据。

  • 如果你提供X作为数字数组,则可以使用“PredictorNames”为中的预测变量指定名称X

    • 名字的顺序PredictorNames必须对应于的列顺序X。也就是说,PredictorNames {1}X (: 1)PredictorNames {2}X (:, 2),等等。同时,尺寸(X,2)元素个数(PredictorNames)必须是相等的。

    • 默认情况下,PredictorNames{X1, X2,…}

  • 如果你提供X作为一张桌子,您可以使用“PredictorNames”选择在训练中使用的预测变量。即,fitcox仅使用中的预测变量PredictorNames以及训练期间的时间变量。

    • PredictorNames一定是?的子集X.Properties.VariableNames且不能包含时间变量的名称T

    • 默认情况下,PredictorNames包含所有预测变量的名称。

    • 指定使用这两种方法进行训练的预测器“PredictorNames”或者威尔金森表示法中的公式,但不能两者兼而有之。

例子:PredictorNames,{“性别”、“年龄”、“重量”,“烟民”}

数据类型:字符串|细胞

分层变量,指定为实值矩阵,表中某一列的名称X,或分类变量数组。矩阵必须有相同的行数T,每行对应一个观察值。

默认值[]不是分层变量。

如果XT的价值“频率”的价值“分层”包含值,然后fitcox删除行当拟合Cox模型时,所有数据的值。

例子:“分层”,性别

数据类型:仅有一个的||字符|字符串|分类

处理绑定故障时间的方法,指定为“布雷斯洛”(‘健康的方法)“埃夫隆”(埃夫隆的方法)。看到捆绑事件的部分似然函数

例子:“TieBreakMethod”、“埃夫隆”

数据类型:字符|字符串

介绍了R2021a