我需要从一个白噪声过程中提取样本,以便在数值上实现特定积分。
如何使用Python(即numpy,scipy等)生成它?
我需要从一个白噪声过程中提取样本,以便在数值上实现特定积分。
如何使用Python(即numpy,scipy等)生成它?
numpy.random.normal
函数来实现,它从高斯分布中抽取指定数量的样本。 import numpy
import matplotlib.pyplot as plt
mean = 0
std = 1
num_samples = 1000
samples = numpy.random.normal(mean, std, size=num_samples)
plt.plot(samples)
plt.show()
numpy.random.random()
。Numpy网站描述
但是,由于我发现越来越多类似问题的答案写成numpy.random.normal
,我怀疑需要一些描述。如果我正确理解维基百科(和大学中的一些课程),高斯和白噪声是两个不同的东西。白噪声具有均匀分布,而不是正态(高斯)分布。import numpy.random as nprnd
import matplotlib.pyplot as plt
num_samples = 10000
num_bins = 200
samples = numpy.random.random(size=num_samples)
plt.hist(samples, num_bins)
plt.show()
这是我的第一个回答,如果您发现我在这里可能犯的错误,请告诉我,我会很乐意更新它。谢谢 =)
import numpy as np
import seaborn as sns
mu, sigma = 0, 1 # mean and standard deviation
s = np.random.normal(mu, sigma, size=1000) # 1000 samples with normal distribution
# seaborn histogram with Kernel Density Estimation
sns.distplot(s, bins=40, hist_kws={'edgecolor':'black'})
numpy.random.standard_normal(size=num_samples)
。 - papahabla