数据挖掘模型建好后,我们通常会关注建模时的准确率查全率等指标,但是常常会忽略模型另一个重要指标:模型的衰减程度,也就是模型在实际应用中预测能力的变化(一般都会越用越差)。
为什么会发生模型衰减呢?我们知道数据挖掘的本质是发现过去事物发生的历史规律然后对未来进行预测,因此模型能够准确预测的前提就是,要预测的未来必须是历史规律的延续。但是在几乎所有的商业场景中,市场是在不断变化的,数据也在不断变化的,也就是说历史规律也是在不断的变化。而用来训练模型的数据集通常是一个静态数据集,只能描述某一段历史时期的规律模式,随着市场的变化, 训练数据中的规律模式会逐渐不再准确,这必然导致模型在使用一段时间后会出现预测能力下降,模型结果不可靠。例如,房屋价格的预测模型,使用从 2010 年到 2020 年的数据训练出的模型,可能会能够非常准确的预测 2021 年房屋价格,但是在预测 2050 年的房屋价格时效果就会非常差了,因为房地产市场在未来几十年会不断的在发生变化。
那么,模型衰减程度如何来考察呢,简单来讲可以看模型在训练数据和测试数据上的指标之差,它能够反映模型指标在预测数据(即未知数据)上的下降程度。如下表所示,模型 A 和模型 B 是在同一份数据上建立的两个模型,表中的数值是两个模型分别在训练数据和测试数据的 AUC 指标(AUC 是一种常用的模型评估指标,取值范围 0-1,越大越好)。如果仅从评估指标值的大小来判断显然使用模型 A 效果比较好,但是进一步分析模型在训练数据和测试数据上的指标变化,则发现模型 A 衰减比较快,存在一定程度的过拟合;反而模型 B 的 AUC 虽然低一些,但是衰减很小,在未知