我有一个分类问题,我正在处理高维(~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 |
问题:
如何处理具有系统地不相交的维度集的数据?
我相信对于高维子集中的许多变量来说没有问题,因为对于不在该子集中的任何数据点,它们将简单地等于零。但既然是分类问题,为了数值稳定性,将工资数据标准化似乎是恰当的() 具有类似于标准高斯的值。因此,对于低维观察,我无法将 NaN 设置为零,因为零将是一个有意义的值。
我可以想到几种方法,一种是使用一种非线性“开关”变量来打开和关闭更高的维度:
尽管我看不到如何在许多标准方法中实现这一点。
另一种选择可能是只复制值到那些不存在的行的列价值。在我看来,这似乎将大量结构强加到难以证明的数据上。也许如果我在此之上添加另一个二进制“开关”变量,它可以分离我数据空间中的类?
我知道这可能是一个非常问题/特定于域的问题,但我想知道是否有任何标准处理具有这种结构的数据,因为我确信这是一个非常常见的场景。有什么建议可以思考这个问题或其他领域的类似问题吗?