是否可以将随机数添加到集合中,使其均值和方差不会改变



我有一组 4 个值。 我想生成一个随机数,该随机数将添加到每个集合中。但是相加后,均值和方差的值应该不会改变。添加前集合的含义和方差应与添加数字后相同.我试图用遗传算法接近它.任何人都可以给我更多关于这一点的见解吗?

假设你的集合叫做x。我们还假设您将向 x 添加值以使其成为 y。在 R 中,这可以通过

x <- rnorm(4, mean = 5, sd = 2)
x
[1] 5.124843 3.070105 4.444706 6.657949
rand <- rnorm(0, sd(x))/1000 # Divide by 1000 so rand will have minimum 
                             #impact on the mean and variance of x when added
y    <- x + rand
y
[1] 5.124799 3.066977 4.444524 6.656452
mean(x); mean(y)
[1] 4.824401
[1] 4.823188

现在,这将显示一些增量更改,但为了最大程度地减少增量更改,您可以通过将其除以大数(如我所做的)或将其乘以小数来缩放rand。解决此问题的另一种方法是使用 R 中的 jitter 函数。此函数使用以 0 为中心的小均匀分布对数据进行采样和添加噪声。

x <- c(1, -.5, 2, -1.2)
jitter(x)
[1]  1.1117953 -0.5391391  2.0695948 -1.1145638

jitter的唯一缺点是您无法从功能外部缩放噪音。它将缩放您的整个 x 向量。

最新更新