SAS PROC LOGISTIC - 为什么拟合优度测试拒绝模型?

SAS PROC LOGISTIC - why is Goodness of Fit test rejecting model?

我正在使用 SAS (9.2) 中的 PROC LOGISTIC 为大学申请者数据集建模。目标变量是 'Enrolled y/n',我针对 13 个变量(指标、连续和 class 的混合)建模,包括:提交的申请数量、参加的活动数量、申请人年龄、等等

我使用整个数据集的 50% 来训练模型,这为我提供了不到 15,000 个观察值的样本量(用于训练)。

当我 运行 PROC LOGISTIC 时,输出报告大多数变量在 <.0001 时非常显着。

'Testing Global Null Hypothesis: BETA=0' 统计数据还报告该模型在 <.0001 方面表现出色,关联统计数据 table 报告预测概率的高百分比 (90%+) 是一致的。

所有这些看起来都很棒,直到我得到拟合优度的偏差统计数据。 Pearson、Deviance 和 Hossmer/Lemeshow 测试也都报告了 <.0001 的 Pr>ChiSq 值。如果我对此的解释正确(参考 Paul Allison),这个显着性水平意味着该模型应该以拟合不佳为由被拒绝。

我试过使用 STEPWISE 来减少模型,但这只会导致拒绝一个因素,并且 GOF 统计数据不受影响。

怀疑存在多重共线性,我已经尝试针对因变量对单一效应进行建模,但我仍然得到类似的结果 - 参数估计 p 值的显着性很高,而且 GOF 测试中的显着性值也很高...

我的模型是否存在根本性错误 - 还是我在这种情况下误解了 GOF 测试?请问有人能告诉我需要调查什么吗?

我一直 运行 的代码只是为了一个单一的效果,但它产生了与包含所有因素的模型相同的有问题的结果:

/*Applicant_Factors_TRAIN: Single Factor*/
proc logistic DATA=Applicant_Factors_TRAIN;
MODEL Applicant_Enrolled(EVENT='1')= Total_campus_visits/ AGGREGATE SCALE = NONE LACKFIT RSQ;
run;

下面的输出:

我模型的当前状态

  1. 您的模型具有非常高的关联百分比(关联百分比 = 32.8%)和只有 56.7% 的一致性。所以,你的模型的准确性不好。 'c' 0.729 或 72.9% 的值并未给出模型的真实图片。 'c' 值或 AUC = (0.567+(0.328/2))。这意味着您的 c 值因高百分比的关系而产生偏差。

  2. 高百分比关系你们很​​多数据点导致预测在边界处,即既不是 0 也不是 1。

II 所以,你需要做什么:-

您需要减少 % ties 并尝试实现高一致性、高精度和可接受的 GOF 参数

III 如何改进你的模型

  1. 我经常做的事情之一,通常是使用 BOOTSTRAPPING,如逐步或向后选择失败。最简单稳健的算法之一,可帮助我们使用多个样本获得最相关的变量,从而有助于提高模型的准确性和稳定性

  2. 如果BOOTSTRAPPING也失败了,那么尝试Machine Learning techniques像随机森林,GBM等。随机森林被认为是最稳健的分类算法之一

  3. 如果个别算法也失败,则尝试stacking。多种分类算法的预测能力的简单组合。注意:- 当上述所有选项都已用尽时使用此选项。

希望对您有所帮助:-)

从那以后,我读到在处理大型数据集时,拟合优度测试本身就存在问题,因此,根据文献,我选择忽略它们,转而采用考虑 p 值的交叉验证方法,零假设检验、ROC AUC c 统计量、置信区间和最大重新调整的 R 方统计量(Johnson 和 Wichern 1992)(Shmueli、Lin 和 Lucas Jr. 2013)(Li 2013)