处理一个数据集,其中点的子集位于更高维空间中

数据挖掘 分类 数据清理 特征工程 预处理 特征构造
2022-03-03 04:42:13

我有一个分类问题,我正在处理高维(~400)空间中的经济数据,其中包括日期、地址、工资和许多其他变量。大多数变量由离散类别组成,因此这些最终被编码为二进制变量的许多维度。

有一个数据子集,其中观察是在两个不同的位置而不是一个位置进行的。因此,该子集的许多维度都是重复的。大多数重复数据会导致二元类变量的额外维度,对于观察的互补集(即只有一个位置)而言,这将是零。但是,一个维度是工资,其中 2 个位置子集有实际值,但其余数据有 Nans。为了显示:

Obs | pay_1 | loc_1_A | loc_1_B| ... | job_1_A | job_1_B | ... | pay_2 | loc_2_A | ...
======================================================================================
1   | 50k   |   1     |   0    |     |   1     |   0     |     |   40k |   1     |
2   | 40k   |   0     |   1    |     |   1     |   0     |     |   45k |   1     |
3   | 70k   |   1     |   0    |     |   0     |   1     |     |  NaN  |   0     |
4   | 50k   |   1     |   0    |     |   1     !   0     |     |  NaN  |   0     |

问题:

如何处理具有系统地不相交的维度集的数据?

我相信对于高维子集中的许多变量来说没有问题,因为对于不在该子集中的任何数据点,它们将简单地等于零。但既然是分类问题,为了数值稳定性,将工资数据标准化似乎是恰当的(pay2) 具有类似于标准高斯的值。因此,对于低维观察,我无法将 NaN 设置为零,因为零将是一个有意义的值。

我可以想到几种方法,一种是使用一种非线性“开关”变量来打开和关闭更高的维度:

y=Apay1+Bloc_1_A+...+S(Mpay2+Nloc_2_A+...)

尽管我看不到如何在许多标准方法中实现这一点。

另一种选择可能是只复制pay1值到pay2那些不存在的行的列pay2价值。在我看来,这似乎将大量结构强加到难以证明的数据上。也许如果我在此之上添加另一个二进制“开关”变量,它可以分离我数据空间中的类?

我知道这可能是一个非常问题/特定于域的问题,但我想知道是否有任何标准处理具有这种结构的数据,因为我确信这是一个非常常见的场景。有什么建议可以思考这个问题或其他领域的类似问题吗?

1个回答

为什么不直接将 pay_2 40k 和 45k 的数据放入另外两行?

此外,您可以添加一个指示变量 loc_1_2 并根据位置将其设置为 1 或 2。

一般来说,虚拟编码可能很危险。相反,您可以将您的地址或位置转换为物理坐标(纬度和经度),或者只是与城市中心或国家中心的距离(取决于您的数据)。

编辑

好的,我现在看到将带有 pay_2 的数据放入其他行是行不通的。

但由于这是一个分类问题,为了数值稳定性,将工资数据(pay2)标准化为具有类似于标准高斯的值似乎是相关的。

供您参考:并非所有分类算法都需要标准化数据,例如您可能需要考虑随机森林或 GBM。如果您坚持使用 SVM、正则化逻辑回归或类似方法,那么我同意,标准化是有意义的。

因此,对于低维观察,我无法将 NaN 设置为零,因为零将是一个有意义的值。

您询问的标准方法将取决于分类器的属性。我知道以下选项:

  1. 如果您的分类器可以处理 NaN (NA),例如 xgboost 的 R 版本,那么您可以使用上表中显示的数据。
  2. 如果您必须标准化数据,那么您可以使用均值插补。当然,用于标准化的平均值和标准偏差应该在非 NaN 数据上进行估计(pay_2 列不包括 NaN)。通常,为了防止数据泄漏,您不应使用来自保留数据子集(或“测试”、“验证”或任何您称之为的)的数据来计算平均值和标准差。
  3. 如果您的分类器不需要标准化,您可以放置​​一些数字标记值而不是 NaN,例如 -1、0 或 -9999。

如果您选择选项 2 或 3,则需要添加一个二进制预测器来指示 pay2 列是否被修改(NaN 与否)。

重新虚拟编码:您没有明确询问过它,并且在不知道名义变量的基数的情况下很难提出任何具体的建议,所以我只是在这里放了我关于影响编码的答案的链接