【问题标题】:Approximate missing value for input given a data set给定数据集的输入的近似缺失值
【发布时间】:2017-05-27 05:07:08
【问题描述】:

我有一个包含 x 属性和 y 记录的数据集。给定一个包含最多 x-1 个缺失值的输入记录,我将如何合理地近似剩余的缺失值之一?

因此,在下面的示例中,输入记录有两个值(属性 2 和 6,其余部分缺失),我想近似属性 8 的值。

我知道缺失值是通过“插补”处理的,但我通常会找到有关预处理数据集的示例。我正在寻找一种解决方案,它使用回归来确定缺失值,并在理想情况下使用构建一次的模型(如果可能,不必每次都生成一个)。

【问题讨论】:

  • 如果您以文本而不是图像的形式提供示例数据,将会很有帮助。我们无法剪切和粘贴图像。

标签: machine-learning classification regression imputation


【解决方案1】:

属性存在或不存在的可能性的数量使得能够维护一个模型集合(如涵盖所有情况的线性回归)似乎是不切实际的。对我来说似乎实用的一种模型是您没有完全制作任何模型的模型——最近邻回归。我的建议是使用您可用的任何属性并计算到您的训练点的距离。您可以使用最近邻居的值或几个最近邻居的(可能加权)平均值。在您的示例中,我们将仅使用属性 2 和 6 来计算距离。最近的点是最后一个点 (3.966469, 8.911591)。该点的属性 8 值为 6.014256,因此这是您对新点的属性 8 的估计。

或者,您可以使用三个最近的邻居。这些是第 17、8 和 12 点,因此您可以使用这些点的属性 8 值的平均值,或加权平均值。人们有时使用权重 1/dist。当然,三个邻居只是一个例子。你可以再选一个k。

这可能比对属性 8 的所有缺失值使用全局平均值 (8.4) 更好。

【讨论】:

  • 感谢您的回答。使用 k-nearest 算法虽然不会超出训练集的范围,不是吗?如果两个属性之间存在 1:1 的相关性,例如: (4,4) (5,5) (5,5) (6,6) (7,7) (7,7) (8,8) 和我有以下输入:(2,x) 使用 3 个最近邻意味着预测的 x 值为 4.67,(或者如果按 1/dist 加权,则为 4.57)。
  • 你描述的情况会产生令人怀疑的结果是对的,但任何方法都是如此。在您的示例中,我认为您正在假设数据模型(一条线)。如果您知道该模型并且只需要估计参数,您可能(如您的示例中)能够做得更好。但是假设您的函数是二次函数并且在测量中有误差。外推效果不佳。如果你不知道函数的基本形式,而只是使用了适合训练数据的东西,那该怎么办。同样,外推是危险的。
猜你喜欢
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 2017-10-06
  • 2018-12-06
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多