在Python中使用正态分布添加噪声的困惑

时间:2014-08-05 21:53:04

标签: python statistics scipy probability-theory

我很担心如何使用Python中的正态分布(Gaussian pdf)来测量测量误差。

我想要做的只是在Gaussian pdf下创建噪音(错误)并将其添加到测量值。简而言之,我把问题写成如下:

输入:

  • M(i) - 测量值; i = 1 ... n,n - 测量次数;

输出:

  • M_noisy(i)= M(i)+ noise(i);

    其中,noise(i) - 测量中的噪音; M(i) - 测量值。

重要事项:此噪音应为零均值高斯噪声,方差等于测量值的10%。

我输入以下代码,但我无法继续......

我的代码:

import numpy as np

# sigma - standard deviation of M
# mu - mean value of M
# n - number of measurements

# I dont know if this is correct or not:
noise = sigma * np.random.randn(n) + mu;

## M_noisy(i) - ?

提前感谢您的任何答案/建议。

1 个答案:

答案 0 :(得分:0)

random_scale_ammounts = np.random.randn(n) 
#creates a list of values between -1 and 1
offset_from_mean = sigma *random_scales   #randomly -std to +std
noise =  offset_from_mean + mu;

clean_y_data = np.arange(n)
noisy_y_data = clean_y_data + noise

可能就是你追求的目标?