Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中定义白噪声进程_Python_Numpy_Scipy_Probability_Noise - Fatal编程技术网

在Python中定义白噪声进程

在Python中定义白噪声进程,python,numpy,scipy,probability,noise,Python,Numpy,Scipy,Probability,Noise,我需要从白噪声过程中提取样本,以便在数值上实现特定的积分 如何使用Python(即,numpy、scipy等)生成此结果?您可以通过从高斯分布中提取给定数量的样本来实现此目的 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) p

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


如何使用Python(即,numpy、scipy等)生成此结果?

您可以通过从高斯分布中提取给定数量的样本来实现此目的

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.random.normal
的形式编写的,我怀疑需要一些描述。如果我正确理解维基百科(以及大学里的一些课程),高斯和白噪声是两个不同的东西。白噪声具有均匀分布,而不是正态分布(高斯分布)


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

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

numpy.random.standard\u normal(size=num\u samples)
也可以在平均值=0,标准值=1时使用,只要信号中没有自相关,就可以通过任何类型的分布实现这一点。“numpy.random.uniform(低=0.0,高=1.0,大小=1000)”,“np.random.triangular(-3,0,8,100000)”也会得到白噪声。您还可以使用相关信号处理,并使用“numpy.random.shuffle”将其随机化以获得白噪声。
白噪声具有均匀分布,而不是正态(高斯)。
白噪声必须在频率上具有均匀分布,但可以随时间具有任何分布(例如正态)。正如维基百科所说:“白噪声是在不同频率下具有相同强度的随机信号“。这意味着,只要没有临时相关性,就可以为信号生成任何类型的PDF。所以白噪声可以有均匀分布、正态分布或其他类型的分布。这个答案是错误的。白噪声是任何不相关随机过程的连续过程,如均匀或正态。但是,如果将其数字化,则必须在奈奎斯特频率处应用带通滤波器,否则连续过程的近似值会包含混叠。结果表明,带通白噪声会导致离散随机过程,其中每个样本都是从高斯/正态分布中选取的。这是你困惑的结果。高斯噪声和白噪声在离散过程中是相同的。高斯是连续白噪声过程的子集。@Vortico有趣的评论!为了理解你说的话,我打开了一个:)。
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'})