python predictabel_基于R语言PredictABEL包对Logistic回归模型外部验证

1. 背景知识

Logistic回归可以用于建立二分类结局变量的临床预测模型,在医学研究中可用于预测如有效/无效、发生/未发生、复发/未复发等二值化的临床事件。预测模型有优劣之分,好的模型不仅可以较准确的预测终点事件发生概率(校准度好),也可以很好地区分数据集中发生终点事件概率不同的对象(区分度好),还可以从中发现某种因素对终点事件可能的影响(独立风险因素或保护因素)。因此如何判断并验证模型的优劣就显得尤为重要。有关模型优劣的评估指标我们前文已经述及,本文主要介绍Logistic回归模型的外验证问题。

模型验证可采取Out time validation,比方说使用2005-2010年的样本建模后,在2010-2015年的样本中对模型进行验证,这样可以评价模型随着时间推移,预测是否仍然准确;可采取Across modeling techniques,即对于某个数据集,既可以采用逻辑回归建模,也可以使用判别分析、决策树、支持向量机等方式进行建模,从中选择在testing data中表现最好的模型。无论使用何种手段,使用不同于建模时所用的数据集对模型进行外部验证都是非常重要的一环。

建模时,通常会先样本数据集中抽取部分样本用于建模,该部分样本称为training set。建模完成后对模型进行验证时,先使用数据集中的保留样本进行模型的初步评价(internal validation),这部分样本称为testing set。在单个数据集中表现良好的模型在其他数据集中的表现不一定令人满意,因此还需要在全新的数据集中对模型进行外部验证,这个数据集称为validation set。

2. 校准度评价

下面我们使用ResourceSelection包中的hoslem.test()来进行Hosmer-Lemeshow拟合优度检验,通常用来评价Logistic模型的校准度。首先加载所需r包:

#install.packages("ResourceSelection")

library(ResourceSelection)

一、建立Logistic回归模型 我们模拟一个数据集(training set)用于建模,这里将该数据集全部样本拿来建模,也可以抽取部分样本建模,剩余样本即testing set用于对模型进行内部验证:

set.seed(123)

n

x

xb

pr

y

intern.data

mod

对模型进行Hosmer-Lemeshow test,该检验将数据划分为一定的组数g,此处参数g的含义我们在前述章节阐述校准度概念时已作出解释。假设我们预测100个人的结局发生概率,不是指我们真用模型预测出来有病/无病,模型只给我们有病的概率&

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值