数据分析:数据预处理--标准化方法优劣了解(二)

如题所述

第1个回答  2022-06-07

上一篇 数据分析:数据预处理--标准化初解释(一) 是在R中初步实现计算各类标准化的方法,没进一步分析为何要标准的原因,这一次我们借用两个标准化方法极值标准化和Zscore标准化重新解析标准化的原因。更多知识分享请到 https://zouhua.top/

在构建模型过程中,通常使用多变量作为自变量去预测结果,多变量很多时候是具有多个不同的单位和量纲的。如果使用原始值去构建模型或做预测,这会导致每个变量对结果的贡献度不一致,因此常需要对自变量做 transform和standardization。

比如变量A的范围是0-1,000,000;变量B的范围是0-100,在没标准化前,它们对结果的贡献度是不同的。

Notes: 每个变量的范围在[0, 1]之间。极值标准化的缺点是会将数据拉向均值,对离群点不敏感,相反Zscore则考虑到极值的影响(通过除以标准差实现该效果)。

scale函数可用于zscore标准化。

很多时候数据是偏斜分布的(左右两个分布是偏态分布,中间是正态分布)。通常使用log2转换使得其分布符合正态分布。

最近看到一篇文献对数据做了log2transform+median normalization。

质谱数据(蛋白质组+代谢组)的intensity数值是整型且数目巨大,先使用log2transform一可以降低量纲影响二可以使得数据分布服从正态分布。

后面再做median normalization是排除log2transform后数据对预测结果仍然贡献不一致。

问题来了,缺失值该如何处理呢?