2016-06-08 73 views
0

我有一组4个值。我想生成一个随机数,它将被添加到每个集合中。但添加后,平均值和方差的值不应改变。 意味着添加之前的集合的均值和方差应该与添加该数字之后的相同。我试图用遗传算法来处理它。任何人都可以请给我更多的见解吗?可以将一个随机数加到一个集合中,例如它的均值和方差不会改变

+0

当你说“平均数和方差不应该改变”时,你的意思是他们应该保持完全一样,还是你的意思是说他们必须与原来的距离保持一定的距离? –

回答

0

让我们假设你的套件叫做x。我们还假设您将为x添加值使其成为。在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载体。

相关问题