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

时间:2016-06-08 16:12:21

标签: statistics mean variance

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

1 个答案:

答案 0 :(得分:0)

我们假设您的集合名为 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 向量。