许多关于监督(和无监督)学习中缺失数据的讨论涉及各种插补方法,如平均值或 EM。但在某些情况下,作为数据生成过程的必然结果,数据会丢失。
例如,假设我正在尝试预测学生的成绩,而我要分析的输入之一是学生兄弟姐妹的平均成绩。如果某个学生是独生子女,那么该值将丢失,不是因为我们未能收集数据,而是因为逻辑上没有数据可收集。这与学生有兄弟姐妹但我们无法找到他们的成绩的情况不同。
其他例子比比皆是:假设我们在大学招生中,我们想要包括学生的 AP 考试成绩,但并非所有学生都参加了 AP 考试。或者我们正在查看社交网络数据,但并非所有受试者都有 facebook 和/或 twitter 帐户。
这些数据丢失了,但它们肯定不是随机丢失的。许多算法,例如 scikit-learn 中的所有监督学习包,都只是要求数据集中完全没有缺失值。
人们过去是如何处理这个问题的,有哪些现成的解决方案?例如,我相信 R 中的梯度提升算法使用具有三个可能分支的树:左、右和缺失。还有其他选择吗?