- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 xgboost 0.81 中 cox ph 生存模型的新实现中,如何指定事件的开始和结束时间?
谢谢
例如,R 等效函数是:
cph_mod = coxph(Surv(Start, Stop, Status) ~ Age + Sex + SBP, data=data)
最佳答案
XGBoost 不允许启动(即延迟进入)。如果它对应用程序有意义,您可以随时更改基础时间刻度,以便所有主题从 time=0 开始。但是,XGBoost 确实允许正确删失数据。似乎不可能找到关于如何实现 Cox 模型的任何文档/示例,但您可以从源代码中阅读 "Cox regression for censored survival data (negative labels are considered censored)."
这是一个简短的例子,适用于任何想要使用 尝试 XGBoost 的人。 obj="生存:考克斯" .我们可以将结果与 scikit-learn 生存包 进行比较。 sksurv .为了使 XGBoost 更类似于该框架,我们使用线性增强器而不是树增强器。
import pandas as pd
import xgboost as xgb
from sksurv.datasets import load_aids
from sksurv.linear_model import CoxPHSurvivalAnalysis
# load and inspect the data
data_x, data_y = load_aids()
data_y[10:15]
Out[586]:
array([(False, 334.), (False, 285.), (False, 265.), ( True, 206.),
(False, 305.)], dtype=[('censor', '?'), ('time', '<f8')])
# Since XGBoost only allow one column for y, the censoring information
# is coded as negative values:
data_y_xgb = [x[1] if x[0] else -x[1] for x in data_y]
data_y_xgb[10:15]
Out[3]: [-334.0, -285.0, -265.0, 206.0, -305.0]
data_x = data_x[['age', 'cd4']]
data_x.head()
Out[4]:
age cd4
0 34.0 169.0
1 34.0 149.5
2 20.0 23.5
3 48.0 46.0
4 46.0 10.0
# Since sksurv output log hazard ratios (here relative to 0 on predictors)
# we must use 'output_margin=True' for comparability.
estimator = CoxPHSurvivalAnalysis().fit(data_x, data_y)
gbm = xgb.XGBRegressor(objective='survival:cox',
booster='gblinear',
base_score=1,
n_estimators=1000).fit(data_x, data_y_xgb)
prediction_sksurv = estimator.predict(data_x)
predictions_xgb = gbm.predict(data_x, output_margin=True)
d = pd.DataFrame({'xgb': predictions_xgb,
'sksurv': prediction_sksurv})
d.head()
Out[13]:
sksurv xgb
0 -1.892490 -1.843828
1 -1.569389 -1.524385
2 0.144572 0.207866
3 0.519293 0.502953
4 1.062392 1.045287
d.plot.scatter('xgb', 'sksurv')
关于Xgboost cox 生存时间输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53562813/
在 xgboost 0.81 中 cox ph 生存模型的新实现中,如何指定事件的开始和结束时间? 谢谢 例如,R 等效函数是: cph_mod = coxph(Surv(Start, Stop, S
我正在尝试运行一个具有时间交互变量的非比例 cox 回归模型,如 Singer 和 Willett 所著的应用纵向数据分析 第 15 章(第 15.3 节)所述。但是我似乎无法得到与这本书一致的答案。
您好,我正在使用生命线包进行 Cox 回归。我想检查非二元分类变量的影响。有内置的方法吗?或者我应该将每个类别因子转换为一个数字?或者,在生命线中使用 kmf fitter,是否可以对每个因素执行此操
我有以下模型: coxph(Surv(fulength, mortality == 1) ~ pspline(predictor)) 其中 fulength 是随访时间(包括死亡率),predicto
我建立了一个生存 cox 模型,其中包括一个 covariate * time相互作用(检测到非比例性)。 我现在想知道如何才能最轻松地从我的模型中获得生存预测。 我的模型被指定: coxph(for
我有一个带有 5 个时间相关变量和 2 个时间独立变量的 coxph 模型。我想使用 cox.zph 测试比例风险假设以及鞅和偏差残差。我的问题是,这个函数如何处理与时间相关的协变量? 阅读 Gran
cellphone = read.csv("/Users/crystalchau/Desktop/UICT-CELL_IND.csv", nrows = 25, colClasses = c(NA,N
我需要为几个变量运行cox回归模型,所以我想写一个循环来实现它。但它无论如何都行不通。下面是我使用的代码 names(Gen) varlist <- names(hsb2)[8:11] ## get
Python中有生存分析的包吗?具体来说,我有兴趣执行 Cox 回归? 我知道这个example但它在 R 中。我们可以将 Python 与 R 连接起来吗(例如,使用 rpy2 )? 最佳答案 Py
早上好, 在匹配案例/对照研究后,我一直试图在 R 中进行分层逻辑回归,但遇到了我认为意外的错误。我使用 mtcars 数据集重现了错误: test=mtcars test$am=as.factor(
我正在对竞争风险比例风险模型进行交叉验证。在 mstate 的帮助下pacakge,我已经准备好我的数据并且正在用 survival::coxph 拟合它.我为我的训练数据获得了一个拟合的 Cox 模
有谁知道似然比检验,如 lmtest 包中的 lrtest ,它适用于使用 coxph 生成的 cox 比例风险模型? lrtest 似乎不适用于 coxph 模型。 谢谢 最佳答案 pkg:surv
我有一个 Cox 回归,它使用 strata() 和一个 tt()。 是否有任何软件包可以帮助以表格格式生成美观、信息丰富的结果输出?虽然 ggforest() 处理 tt(),但它不处理 strat
我有一个 Cox 回归,它使用 strata() 和一个 tt()。 是否有任何软件包可以帮助以表格格式生成美观、信息丰富的结果输出?虽然 ggforest() 处理 tt(),但它不处理 strat
我正在尝试在 theano 中实现 cox 回归。 我使用逻辑回归教程 (http://deeplearning.net/tutorial/logreg.html) 作为框架,并将逻辑对数似然 (LL
我正在使用 SciPy's boxcox function执行 Box-Cox transformation在一个连续变量上。 from scipy.stats import boxcox impor
我正在使用生存包在 R 中进行分层 cox 回归: cox <- coxph(response~strata(x), data=data) 这很好用,但是当使用 sampling 包时,surviva
在 R 中运行 Cox PH 回归后,我需要在数据框中添加预测风险比的列。数据框是面板数据,其中 numgvkey 如果公司标识符和年龄是时间标识符。您可以从此链接下载日期的一小部分: https:/
我在 R 中使用以下代码建立了一个 Cox 比例风险模型,该模型可以预测死亡率。添加协变量 A、B 和 C 只是为了避免混淆(即年龄、性别、种族),但我们真正对预测变量 X 感兴趣。X 是一个连续变量
我想通过计算方差膨胀因子 (VIF) 来评估 cox 比例风险模型中的多重共线性。 {car} 等包中的 vif 函数不接受 coxph 对象。 有没有办法计算 R 中 cox 模型的 VIF? 最佳
我是一名优秀的程序员,十分优秀!