【问题标题】:Confusion on adding noise using normal distribution in Python在 Python 中使用正态分布添加噪声的困惑
【发布时间】:2014-08-05 21:53:04
【问题描述】:

我很困惑如何在 Python 中使用正态分布(高斯 pdf)对测量误差进行采样。

我想要做的只是在高斯 pdf 下产生噪声(误差)并将其添加到测量值中。总之,我把问题如下:

输入:

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

输出:

  • M_noisy(i) = M(i) + 噪声(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) - ?

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

【问题讨论】:

  • 您的问题找到答案了吗?

标签: python statistics scipy probability-theory


【解决方案1】:
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

可能是你所追求的?

【讨论】:

  • 谢谢,但您的回答不清楚。 random_scale 是什么意思?为什么要放置不等于n的np.arange(100)?假设我的测量数据是摄氏度的温度。然后,我想添加一些噪音(正如我们所讨论的),其测量单位也应该以摄氏度为单位。这意味着在噪声项中不应考虑任何“负”数据,对吧?!您的代码中的第 3 行与我所说的完全相同吗?
猜你喜欢
  • 2023-01-20
  • 2019-06-29
  • 1970-01-01
  • 2018-08-06
  • 1970-01-01
  • 2020-02-18
  • 2020-06-14
  • 1970-01-01
  • 2011-08-16
相关资源
最近更新 更多