当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R coxph.control 控制 coxph 拟合的辅助参数


R语言 coxph.control 位于 survival 包(package)。

说明

这用于设置控制 Cox 模型拟合的各种数值参数。通常,它仅用于调用 coxph

用法

coxph.control(eps = 1e-09, toler.chol = .Machine$double.eps^0.75,
iter.max = 20, toler.inf = sqrt(eps), outer.max = 10, timefix=TRUE)

参数

eps

继续迭代,直到对数偏似然的相对变化小于 eps,或者绝对变化小于 sqrt(eps)。必须是正的。

toler.chol

在方差矩阵的 Cholesky 分解期间检测奇异性的容差,即检测冗余预测变量。

iter.max

尝试收敛的最大迭代次数。

toler.inf

有关可能的无限系数值的警告消息的容差标准。

outer.max

对于惩罚的 coxph 模型,例如对于 pspline 项,有一个迭代的外循环来确定惩罚参数;该外循环的最大迭代次数。

timefix

解决时间变量中的任何接近关系。

细节

收敛公差是一种平衡。用户认为他们想要似然面的最大点,并且对于表现良好的数据集,其在最大值附近是二次的,高精度是相当便宜的:每次迭代正确数字的数量大约增加一倍。相反,在任何给定方向上从最大值下降 0.0001 将仅对应于系数标准误差变化的约 1/20。从统计数据来看,比这更精确的是对小昆虫的紧张。基于此,作者最初将容差设置为 1e-5,但面对多个“为什么答案与包 X 不同”的查询,态度有所缓和。

要求太接近机器精度 (double.eps) 的结果是愚蠢的事情;合理的标准通常是该精度的平方根。然而,Cholesky 分解需要遵守比整体收敛标准更高的标准。 tolerance.inf 值控制警告消息;如果太小,可能会出现不正确的警告,如果太大,将无法检测到无限系数的某些实际情况。

最困难的情况是 MLE 系数无穷大的数据集;一个例子是一个数据集,其中在每个死亡时间,死亡的是具有最大协变量值的受试者。在这种情况下,系数在每次迭代时都会增加,而对数似然则渐近至最大值。随着迭代的进行,三个端点存在竞争条件:exp(coef) 溢出、Hessian 矩阵变为奇异、或者 loglik 的变化足够小以满足收敛标准。前两个很难预测并导致数字困难,这是选择 eps 时适度选择的另一个论点。

有关 timefix 选项的更详细说明,请参阅小插图“舍入误差和绑定时间”。简而言之,当通过减法创建时间间隔时,由于浮点舍入误差,实际上相同的两个时间间隔可能会显得不同,这反过来又会使 coxphsurvfit 结果取决于诸如操作完成的顺序或运行操作的特定计算机。不幸的是,此类案例在实践中并不少见。 timefix=TRUE 选项添加与 all.equal 类似的逻辑,以确保结果可靠。然而,在分析模拟数据集时,根据定义通常不能有重复项,因此通常需要将该选项设置为 FALSE 以避免对接近的数值进行虚假合并。

包含上述每个常量的值的列表

也可以看看

coxph

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Ancillary arguments for controlling coxph fits。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。