我有两个数据集(培训和验证),用于构建和验证Cox模型。
使用训练数据集,我使用逐步选择方法拟合了一个cox模型。
模型中的重要变量是验证模型中包含的唯一变量。 这是正确的做法吗?
在验证模型时,我意识到变量在验证模型中并不重要,并且cox模型的假设也不成立(我检查了验证数据的假设)。 我是否应该忽略变量无关紧要的事实,并继续在验证数据中对模型假设的问题进行修正?
第三,在训练和验证数据中,我都有一个变量治疗'有三组。在训练中,组是标准,新药和混合物,而在验证数据中,组是标准,新药和X(是与训练数据中的混合物不同的治疗)。 在两个模型中包含此变量是否正确,或者我应该删除不匹配的组;来自训练数据的混合物和来自验证数据的X,还是应该像这样使用它?我不确定这会如何影响我的分析。
感谢您的回复。
答案 0 :(得分:1)
回答你的第一个问题:是的,这是正确的方法。训练和验证集的整个想法是,您根据训练集做出关于模型的所有决策(此处:要添加的变量)。然后使用验证集来评估您在训练集中的结果的稳健性。这样您就可以检查过度拟合,异常值,数据错误等。
但是,我不推荐逐步回归方法。请参阅此帖子的最佳答案:https://stats.stackexchange.com/questions/115843/backward-selection-for-cox-model-using-r。
第二个问题:不,你不应该忽视那些微不足道的变量。这正是您拥有验证集的原因。也许你的训练集有几个非常有影响的观察(异常值)?或者是其他东西?无论如何,你必须做一些额外的研究。
你的意思是什么?我认为你的意思是比例风险(PH)假设不成立,因为这种假设经常被违反。与第一个问题的答案相同的推理。首先在训练集上检查假设。如果它也没有,请在模型中进行调整。如果它确实是变量违反的PH假设,则添加时间交互或制作分层的cox模型。 [例如:http://www.dbc.wroc.pl/Content/27006/Borucka_Extensions_of_Cox_model_For_non_proportional.pdf]
我对第三个问题的答案并不完全确定,但这里是:如果您的验证模型中没有包含X,那么将其包含在您的培训模型中是不对的。变量处理是一个因素,因此在回归中它基本上变为每个级别的虚拟(0/1)变量。因此,包含X与在验证模型中引入全新变量相同,这是违反直觉的。
希望这有帮助!