如何为数据集中的所有值生成相同数量的噪声?

How to generate same amount of noise to all the values in the dataset?

我想为数据集中的所有值生成相同数量的噪声。我的数据集包含 500 个值。我听说随机种子用于产生相同的噪音,但我不知道如何在这里使用它。我的代码是:

for i in range(0,500)
    x= x + np.random.normal(0,0.002,1) # velocity
    y = y + np.random.normal(0,0.0092,1) # rotation
    z = z + np.random.normal(0,0.7,1) # rotation

我想你只是想要这样的东西:

import numpy as np

n = 500
x = np.random.normal(0, 0.002,  n)
y = np.random.normal(0, 0.0092, n)
z = np.random.normal(0, 0.7,    n)

请注意,第二个 scale 参数是标准差(即方差的平方根),因此您可能想在其中调用 np.sqrt 速度方差确实是 0.002

以上使用“矢量化”一次生成 500 个样本,而不是对每个值单独调用。如果你想在循环中生成,你会做类似的事情:

x = np.zeros(n)
for i in range(n):
  x[i] = np.random.normal(0, 0.002)

对于每个参数,但是这样写起来更繁琐并且 运行 更慢所以大多数人不会这样做