如何使用 Python 研究评分模型中变量的单调性和稳定性

如何验证变量是否具有一致的风险?如何使用 Python 研究评分模型中变量的单调性和稳定性一文首先出现在 Towards Data Science 上。

来源:走向数据科学

我要感谢所有花时间阅读和参与我的文章的人。非常感谢您的支持和反馈。

您可以在我的 GitHub 存储库上重现分析:使用 Python 进行信用评分。

不仅仅是训练机器学习算法并使用 AUC 或基尼系数评估其性能。

许多建模初学者都急于进行模型训练,跳过了决定模型是否真正稳健且可解释的关键步骤。这种热情只持续几分钟——“刚好足以让性能指标出现在屏幕上”——通常会掩盖此阶段之前更深入、更严格的工作。

在信用风险中,模型的质量在很大程度上取决于它使用的变量。在训练数据集中看似具有预测性的变量可能在不同时间或不同人群中表现不一致。如果我们忽视这一点,我们就会冒着建立一个在开发中表现良好但在生产中失败的模型的风险。

这提出了三个基本问题。所选变量是否随着时间的推移表现出恒定的信用风险?该风险的趋势每年是否保持稳定?这些变量的分布在训练、测试和期外数据集中是否保持可比性?

– 我首先定义信用评分中单调性和稳定性的概念。

–然后我将这些概念应用于我上一篇文章中选择的七个变量。

– 最后,我使用群体稳定性指数 (PSI) 跨年份以及跨训练、测试和超时数据集来评估数据集稳定性。

呈现数据

在我之前的文章中,我提出了一种简单的方法,它将变量关系分析与交叉验证相结合,为评分模型稳健地选择变量。该方法易于理解、易于实现且功能强大,特别是与逻辑回归结合使用时,逻辑回归仍然是信用评分中的参考模型。

在选择过程后我保留了七个变量:

摘要

结论