数据应该在缺失数据插补之前还是之后进行归一化?

机器算法验证 正常化 数据插补
2022-03-12 04:02:59

我正在研究一个包含 81 个样本 x 407 个变量的代谢组学数据集,其中约 17% 的数据缺失。我想比较一些插补方法,看看哪种方法最适合我的数据。

预处理数据集的顺序是否有一般规则?我应该先归一化,然后规范化还是先规范化?

我已经尝试了 k-最近邻插补和对中位数进行归一化的两种方法,并使用 PCA 比较了结果,因子映射几乎没有差异。

然而,当使用随机森林插补时,如果我首先对数据进行归一化(归一化数据 NRMSE = 0.708,原始数据 NRMSE = 0.122),则插补误差会高得多。

我的两个主要问题是:

  1. 应该首先进行数据的插补或规范化吗?

  2. 顺序是否取决于使用的插补函数?

1个回答

在我看来,由于您使用的是 kNN 插补,并且 kNN 基于距离,因此您应该在插补 kNN 之前对数据进行归一化。问题是,标准化会受到 NA 值的影响,应该忽略。

例如,以大肠杆菌为例,其中变量的大小非常均匀。为从 0.05 到 0.20 的百分比人工创建 0.1 的 NA 将在原始数据集和估算数据集之间产生均方误差 (MSE),如下所示:

0.08380378; 0.08594711; 0.09165323; 0.1005489; 0.09978495; 0.1120758; 0.1046071; 0.1048477; 0.1087384; 0.1283818; 0.1201014; 0.1264724; 0.1337024; 0.1457246; 0.1365055; 0.154879;

否则,如果您采用乳腺组织数据集,您将拥有的数据具有不同的量级,

889.4696;927.6151;773.7256;1229.74; 3356.833; 645.8142;755.98; 2110.523;987.5008;1796.339; 1603.461;1476.863; 2887.509;2001.222; 905.6305;2334.935;

也就是说,通过标准化,您可以合理地跟踪 MSE。