web-dev-qa-db-ja.com

Pythonでのホワイトノイズプロセスの定義

特定の積分を数値的に実装するには、ホワイトノイズプロセスからサンプルを引き出す必要があります。

Python(つまり、numpy、scipyなど)でこれをどのように生成しますか?

14
dbliss

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()

1000 random samples drawn from a Gaussian distribution of mean=0, std=1

19
Sam

短い答えはnumpy.random.random()です。 Numpyサイトの説明

しかし、numpy.random.normalと書かれた同様の質問に対する答えがどんどん見つかっているので、少し説明が必要だと思います。ウィキペディア(および大学でのいくつかのレッスン)を正しく理解していれば、ガウスとホワイトノイズは2つに分かれています。ホワイトノイズは、正規(ガウス)ではなく均一な分布をします。

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()

Image: Result

これが私の最初の答えです。私がここで犯した可能性のある間違いを修正した場合は、喜んで更新します。ありがとう=)

3
user8866568

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

enter image description here

1