如何处理机器学习中的偏见特征(日期)

数据挖掘 机器学习 特征选择
2022-02-26 21:41:00

我有一个模型可以预测马的寿命。该数据集包含从 1980 年到 2019 年的样本,其中有一个名为birth_date的特征,标有每匹马的寿命年数。问题是知道一匹马的寿命通常在 20 到 30 年之间,如果我们查看 1980 年到 1990 年的马匹及其寿命的完整列表,但从 2000 年到 2019 年,我们只看到在其中出生和死亡的马的样本这个时间跨度而不是当前生活的时间跨度,因此birth_date是一个有偏见的特征。

有没有办法使用birth_date 功能而不必担心有偏差的数据,或者有什么技术可以最大限度地减少他对最终预测的影响?

1个回答

您所描述的是生存分析中的审查观察。事实上,那些还活着的人显然会死去,但只是在我们研究日期之后的时间框架内的一个更晚的、可观察的日期。通过将它们计算为在逻辑回归上幸存下来,我们显然会使我们的模型偏向于有利于那些特定马的幸存,这是不切实际的。

因此,您有生存数据,应该像这样处理它。Cox 比例风险率模型允许您将风险率函数与预测变量相关联,虽然许多人使用线性模型作为“预测变量”部分,但还有其他 ML 方法,如 xgboost 和随机森林,它们能够返回 Cox PH 模型。正如您所描述的,这些模型允许审查观察。