np.random.normal()から正規分布へのフィッティング操作
2808 ワード
まず偉大なガウス分布の確率密度関数を見ます。
numpyに対応する:
この確率分布の平均値(分布全体の中心centreに対応)
この確率分布の標準偏差(分布の幅に対応して、scaleが大きければ大きいほど低くなり、scaleが小さいほど、高くなります。)
出力されたshopは、デフォルトはNoneです。一つの値だけを出力します。
私たちがもっとよく使うnp.randm.randn(size)いわゆる標準正規分布
np.randowm.normal(loc=0、scale=1、size)に対応します。
サンプル(sampling)
matplotlib.pylotを使って便利で強力な文法でガウス分布のフィッティングをどうやって行いますか?
np.random.normalの意味と実例
これはランダムに正規分布を生成する関数です。normal表正態)
まず公式説明を見てみます。
三つのパラメータがあります
いくつかのインラインコードのチップを示します。
以下は公式文書です。
以上は個人の経験ですので、参考にしていただければと思います。
numpyに対応する:
numpy.random.normal(loc=0.0, scale=1.0, size=None)
パラメータの意味は:loc
:floatこの確率分布の平均値(分布全体の中心centreに対応)
scale
:floatこの確率分布の標準偏差(分布の幅に対応して、scaleが大きければ大きいほど低くなり、scaleが小さいほど、高くなります。)
size
:int or tuple of ints出力されたshopは、デフォルトはNoneです。一つの値だけを出力します。
私たちがもっとよく使うnp.randm.randn(size)いわゆる標準正規分布
np.randowm.normal(loc=0、scale=1、size)に対応します。
サンプル(sampling)
# ( )
mu, sigma = 0, .1
s = np.random.normal(loc=mu, scale=sigma, size=1000)
scipyライブラリ内の関連アプリ(ここのクラスと関数は数理統計における直感により適合している)を使用することもできる。
import scipy.stats as st
mu, sigma = 0, .1
s = st.norm(mu, sigma).rvs(1000)
平均値と分散を検証:
>>> abs(mu < np.mean(s)) < .01
True
>>> abs(sigma-np.std(s, ddof=1)) < .01
True
# ddof,delta degrees of freedom,
# 1, ,
フィッティングmatplotlib.pylotを使って便利で強力な文法でガウス分布のフィッティングをどうやって行いますか?
import matplotlib.pyplot as plt
count, bins, _ = plt.hist(s, 30, normed=True)
# normed
# count bin , Normed True ,
plt.plot(bins, 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-(bins-mu)**2/(2*sigma**2), lw=2, c='r')
plt.show()
または:
s_fit = np.linspace(s.min(), s.max())
plt.plot(s_fit, st.norm(mu, sigma).pdf(s_fit), lw=2, c='r')
np.random.normalの意味と実例
これはランダムに正規分布を生成する関数です。normal表正態)
まず公式説明を見てみます。
三つのパラメータがあります
loc
:正規分布の平均値は、この分布の中心に対応しています。下図のようにμscale
:正規分布の標準偏差、分布の幅に対応して、scaleが大きいほど、正規分布の曲線は低くて太いほど、scaleが小さいほど、曲線は高くて痩せます。下図のようなσsize
:データのshopを入力してください。例:いくつかのインラインコードのチップを示します。
// An highlighted block
a=np.random.normal(0, 1, (2, 4))
print(a)
:
[[-0.29217334 0.41371571 1.26816017 0.46474676]
[ 1.33271487 0.80162296 0.47974157 -1.49748788]]
この図を見て直観してください。以下は公式文書です。
以上は個人の経験ですので、参考にしていただければと思います。