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;
下面的输出:
我模型的当前状态
您的模型具有非常高的关联百分比(关联百分比 = 32.8%)和只有 56.7% 的一致性。所以,你的模型的准确性不好。 'c' 0.729 或 72.9% 的值并未给出模型的真实图片。 'c' 值或 AUC = (0.567+(0.328/2))。这意味着您的 c 值因高百分比的关系而产生偏差。
高百分比关系你们很多数据点导致预测在边界处,即既不是 0 也不是 1。
II 所以,你需要做什么:-
您需要减少 % ties 并尝试实现高一致性、高精度和可接受的 GOF 参数
III 如何改进你的模型
我经常做的事情之一,通常是使用 BOOTSTRAPPING
,如逐步或向后选择失败。最简单稳健的算法之一,可帮助我们使用多个样本获得最相关的变量,从而有助于提高模型的准确性和稳定性
如果BOOTSTRAPPING
也失败了,那么尝试Machine Learning techniques
像随机森林,GBM等。随机森林被认为是最稳健的分类算法之一
如果个别算法也失败,则尝试stacking
。多种分类算法的预测能力的简单组合。注意:- 当上述所有选项都已用尽时使用此选项。
希望对您有所帮助:-)
从那以后,我读到在处理大型数据集时,拟合优度测试本身就存在问题,因此,根据文献,我选择忽略它们,转而采用考虑 p 值的交叉验证方法,零假设检验、ROC AUC c 统计量、置信区间和最大重新调整的 R 方统计量(Johnson 和 Wichern 1992)(Shmueli、Lin 和 Lucas Jr. 2013)(Li 2013)
我正在使用 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;
下面的输出:
我模型的当前状态
您的模型具有非常高的关联百分比(关联百分比 = 32.8%)和只有 56.7% 的一致性。所以,你的模型的准确性不好。 'c' 0.729 或 72.9% 的值并未给出模型的真实图片。 'c' 值或 AUC = (0.567+(0.328/2))。这意味着您的 c 值因高百分比的关系而产生偏差。
高百分比关系你们很多数据点导致预测在边界处,即既不是 0 也不是 1。
II 所以,你需要做什么:-
您需要减少 % ties 并尝试实现高一致性、高精度和可接受的 GOF 参数
III 如何改进你的模型
我经常做的事情之一,通常是使用
BOOTSTRAPPING
,如逐步或向后选择失败。最简单稳健的算法之一,可帮助我们使用多个样本获得最相关的变量,从而有助于提高模型的准确性和稳定性如果
BOOTSTRAPPING
也失败了,那么尝试Machine Learning techniques
像随机森林,GBM等。随机森林被认为是最稳健的分类算法之一如果个别算法也失败,则尝试
stacking
。多种分类算法的预测能力的简单组合。注意:- 当上述所有选项都已用尽时使用此选项。
希望对您有所帮助:-)
从那以后,我读到在处理大型数据集时,拟合优度测试本身就存在问题,因此,根据文献,我选择忽略它们,转而采用考虑 p 值的交叉验证方法,零假设检验、ROC AUC c 统计量、置信区间和最大重新调整的 R 方统计量(Johnson 和 Wichern 1992)(Shmueli、Lin 和 Lucas Jr. 2013)(Li 2013)