一般来说,处理缺失的输入值总是有问题的。据我所知,现有的任何方法都无法在不对模型引入一些偏差的情况下处理它,因此您必须在研究期间考虑这一点。至少有几个可能的选择:
- 忽略具有缺失值的数据(我相信你现在会这样做),这是“最安全”的选择,但可能导致留下的数据不足,无法训练一个好的模型
- 用数据的一些统计分析填充缺失值 - 例如:
- 特定特征/维度的平均值(对于实值变量)
- 特定特征/维度的中值(对于分类的)
- 训练一个单独的模型来预测缺失值,例如让我们想象中的数据,并且每个维度都可能缺少输入,然后您可以创建个模型,每个模型都用于使用其余的预测第个维度,所以,你用它来预处理你的数据XkkMiiMi:Xk−1→X
- 使用一些生成模型,它可以自己填充缺失值,一种可能性是受限玻尔兹曼机
如前所述,每种方法都会在分析中引入一些偏差(这已在许多论文、许多模型中得到证明),但它也可以帮助您建立更好的模型:一切都取决于您的数据。
编辑(澄清后)
一些个特征/维度的缺失值是缺乏关于它具有什么特定值可以想象这样一种情况,我们要求人们填写一份多页调查表,但在获得所有数据后发现我们没有该人的任何一页。我们不知道他/她的反应是什么,但我们很确定有一个。另一方面,一个人可以给出一个空白问题(没有答案)或写一些类似“我不会回答这个问题”的内容,这不会丢失信息;事实上,这与选择其中一个预定义框一样提供信息。在这种情况下,我们只是有一个分类特征,ifi∈Xx∈Xf′i∈X∪{∅}. 我们既可以将其表示为多值特征,也可以通过将替换为个新的二元特征来将其编码为一元形式,其中每个使得。这些方法之间的选择取决于模型和数据。f′i|X|+1f′′ijj∈X∪{∅}f′′ij=1⟺f′i=j