在 Python 中定义白噪声过程

Defining a white noise process in Python

我需要从白噪声过程中抽取样本,以便在数值上实现特定的积分。

如何使用 Python(即 numpy、scipy 等)生成此文件?

您可以通过 numpy.random.normal function 实现这一点,它从高斯分布中抽取给定数量的样本。

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 site description

但由于我发现越来越多类似问题的答案写成 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()

这是我的第一个回答,所以如果你纠正我在这里可能犯的错误,我会很乐意更新它。谢谢=)

创建具有正态分布(高斯)的随机样本 numpy.random.normal:

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'})