我试图想出最好的方法来预测托收机构的付款金额。只有在付款后,因变量才非零。可以理解的是,由于无法联系到大多数人或无法偿还债务,因此存在大量零。
债务金额与还款概率之间也存在非常强的负相关。通常,我会创建一个逻辑模型来预测支付/未支付的概率,但这会导致找到余额最低的人的不幸结果。
有没有办法将物流支付/非支付模型与预测支付金额的单独模型结合起来?
我试图想出最好的方法来预测托收机构的付款金额。只有在付款后,因变量才非零。可以理解的是,由于无法联系到大多数人或无法偿还债务,因此存在大量零。
债务金额与还款概率之间也存在非常强的负相关。通常,我会创建一个逻辑模型来预测支付/未支付的概率,但这会导致找到余额最低的人的不幸结果。
有没有办法将物流支付/非支付模型与预测支付金额的单独模型结合起来?
gui11aume 构建两阶段模型的想法是正确的方法,但是,需要考虑设置的特殊难度,即债务金额与付款概率之间存在非常强的负相关
这里建立一个两阶段模型的主要问题是,第二个模型(用于预测债务),当仅建立在“非零”基础上时,是建立在最可能的非随机人口样本上(即整个数据集),但组合模型必须再次应用于整个人口。这意味着第二个模型将不得不对其从未见过的部分数据进行预测,从而导致准确性下降。这称为样本选择偏差(为了从 ML 角度进行概述,我推荐Smith 和 Elkan的 A Bayesian Network Framework for Reject Inference)。
KDD-Cup-98处理了一个类似的问题,人们应该预测退伍军人组织的捐赠者是否可能再次捐赠以及可能捐赠多少。在这个数据集中,再次捐赠的概率也与预期的金额呈负相关。样本选择偏差也出现了。
给我印象最深的解决方案可以在Bianca Zadrozny 和 Charles Elkan 的《成本和概率都未知时的学习和决策》一书中找到。他们基于Heckman 校正创建了一个成本敏感的解决方案,据我所知,这是纠正(样本)选择偏差的第一个系统方法。
这是一个非常好的问题(+1)。
为什么不把 0 当作 NA 来对待呢?
您可以添加一个虚拟响应,指示是否已收回任何钱(即,当值为 0 时等于 0,当值为正时等于 1)并使用相同的预测变量在此二元响应上拟合逻辑模型。您将适合 2 个模型:使用所有数据点的二进制响应,以及仅使用非零数据点的连续响应(符合将 0 视为 NA 的想法)。
您仍然可以通过使用两组参数来测试每个模型中参数的无效性并计算预期增益。