Hosmer-Lemeshow检验(HL检验)

Hosmer-Lemeshow检验(HL检验)为模型拟合指标,其原理在于判断预测值与真实值之间的gap情况,如果p值大于0.05,则说明通过HL检验,即说明预测值与真实值之间并无非常明显的差异。反之如果p值小于0.05,则说明没有通过HL检验,预测值与真实值之间有着明显的差异,即说明模型拟合度较差。

二元logit回归分析步骤一般如下:

数据预处理 因为二元logistic回归的因变量为二分类变量并且只能为0和1,所以如果数据不是0和1,需要在分析前进行处理,可以利用SPSSAU进行数据编码,即可满足分析要求。

单因素显著性检验(可不做)

当因变量满足要求后,接下来我们可以对因变量和自变量进行简单初步判断,研究自变量对因变量是否存在显著性差异,由于数据类型可能存在不同,所以检验的方法也会不同,最常用的三种方法分别是卡方检验(定类和定类)、t检验(定类和定量,定类数据为两组),可以通过判断分析结果的p值判断自变量对因变量是否存在显著性差异。由于例子中自变量没有定类变量所以进行t检验进行演示:

从上表可以看出,X1、X2、X3、X4四项p值均小于0.05,所以这四项对Y均有显著性差异,并且观察平均值和标准差,每项选择否和是的均值差距也较大,利用可视化图形能够更直观的观察到,比如Y和X1,Y和X2如下:

构建二元Logistic回归模型

由单个因素进行分析发现X1-X4对于因变量Y都有显著性差异,所以在分析时可以将自变量都放进模型中,对于二元logistic回归分析SPSSAU共提供三种方式分别是逐步法,向前法和向后法。

逐步法

通过在基于 F 检验的现有模型中添加或删除预测变量,执行变量选择。逐步法是向前选择法与向后消元法程序的组合。如果初始模型使用所有的自由度,则逐步选择操作不会继续。

向前法

确定要在模型中保留哪些项的方法。向前选择法会使用与逐步过程相同的方法向模型添加变量。

向后法

确定要在模型中保留哪些变量的方法。向后消元法以包含所有项的模型开始,然后使用与逐步过程相同的方法一次一个删除这些项。不能将变量重新输入模型。当模型中的变量不包含大于删除用 Alpha中指定值的 p 值时,默认向后消元过程将结束。

本例子选取逐步法进行分析并展示结果。

自变量为X1、X2、X3、X4因变量为Y,二元logit回归分析方法选择逐步法,最后模型留下的自变量为X2、X3和X4。可以发现此三项对因变量的解释程度约为0.6。由表格中的回归系数可以看出,X2的回归系数为0.038,X3的回归系数为0.076,X4的回归系数为0.012,截距的回归系数为-9.897,所以模型公式为:ln(p/1-p)=-9.897 + 0.038*X2 + 0.076*X3 + 0.012*X4(其中p代表Y为1 的概率,1-p代表Y为0的概率)。接下来对模型进行评估。

模型评估

从三个方面进行说明,其中模型有效性检验、拟合优度以及预测准确性。

模型有效性

对于-2倍对数似然值常用来反映模型的拟合程度,其值越小,表示拟合程度越好,一般用于不同模型之间比较等。从结果可以看出p值远小于0.05,从而可以说明本次模型构建有效。接下来查看拟合优度。

拟合优度

对于H-L检验,一般p值大于0.05,说明模型拟合良好,p<0.05说明模型拟合欠佳,从结果可得p值大于0.05,说明模型拟合良好。

预测准确性

通用预测准确率汇总,最终可以发预测准确率为91.35%,预测错误率为8.65%,所以预测较为准确(如果研究者分析目的不在于预测模型,则此步可省略)。

### Hosmer-Lemeshow (HL) 检验用于评估列线图校准曲线 #### 方法概述 Hosmer-Lemeshow检验是一种常用的统计方法,用来评估预测模型的校准度。该检验通过将观测数据按照风险分层成若干组(通常为10组),比较每组内实际事件发生率与预期事件发生率之间的差异。如果模型具有良好的校准性能,则这两者应该接近一致[^1]。 #### 实现过程 为了执行Hosmer-Lemeshow检验并获得校准曲线及其对应的P值,在R语言环境中可采用如下步骤: - 首先安装必要的包 `ResourceSelection` 和加载它; - 使用函数 `hoslem.test()` 来计算给定二分类逻辑回归模型下的HL统计量以及相应的p-value; ```r install.packages("ResourceSelection") # 安装所需软件包 library(ResourceSelection) # 假设已有logistic regression model对象model_fit, 及测试集test_data hl_test_result <- hoslem.test(model_fit$fitted.values, test_data$target_variable) print(hl_test_result$p.value) # 输出p-value ``` 此代码片段展示了如何利用已有的逻辑回归模型来进行HL检验,并打印出所得到的P值[^2]。 #### 结果解释 当从上述过程中得出较低的P值时(一般认为小于0.05),这表明存在显著性的偏差,即模型可能未能很好地拟合数据或其预测能力有限。相反,较高的P值意味着没有足够的证据拒绝零假设——也就是说,模型表现良好且具备较好的校准性质。 除了数值上的衡量外,还可以借助于**校准图**(Calibration Curve),这是一种能够直观展示预测概率同真实情况之间关系的有效工具。绘制这样的图表有助于更清晰地理解模型的表现特性[^3]。 ```r plot(calibration_curve ~ predicted_probabilities, data = your_dataframe_with_predictions_and_outcomes, main="Calibration Plot", xlab="Predicted Probability", ylab="Observed Proportion") abline(0,1,col='red') # 添加理想情况下的一致性直线 ``` 这段代码说明了怎样创建一个简单的校准图来辅助分析模型的质量[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值