非正态特征的标准化

机器算法验证 正态分布 方差 标准化
2022-03-02 08:03:33

假设我们有几个特征(例如20) 不遵循高斯分布如果我们对数据应用标准化,我们是否必须担心特征不遵循高斯分布?

即,即使特征最初不遵循正态分布,它们在均值标准化后是否也遵循高斯分布0和方差1?

1个回答

简短的回答:是的,您确实需要担心数据的分布不正常,因为标准化不会改变数据的底层分布结构。如果XN(μ,σ2)然后您可以通过标准化将其转换为标准法线:Y:=(Xμ)/σN(0,1). 然而,这是可能的,因为X首先已经遵循正态分布。如果X具有非正态分布,以与上述相同的方式对其进行标准化通常不会使数据呈正态分布。

指数分布数据及其标准化版本的简单示例:

x <- rexp(5000, rate = 0.5)
y <- (x-mean(x))/sd(x)
par(mfrow = c(2,1))
hist(x, freq = FALSE, col = "blue", breaks = 100, xlim = c(min(x), quantile(x, 0.995)),
     main = "Histogram of exponentially distributed data X with rate = 0.5")
hist(y, freq = FALSE, col = "yellow", breaks = 100, xlim = c(min(y), quantile(y, 0.995)),
     main = "Histogram of standardized data Y = ( X-E(X) ) / StDev(X)")

现在如果我们检查原始数据的均值和标准差x,我们得到

c(mean(x), sd(x))
[1] 2.044074 2.051816

而对于标准化数据y, 对应的结果是

c(mean(y), sd(y))
[1] 7.136221e-17 1.000000

正如你所看到的,标准化后的数据分布绝对不是正态分布,即使平均值(实际上)为 0,方差为 1。换句话说,如果特征在标准化之前不遵循正态分布,它们将不会在标准化之后遵循它。