np.random.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]]
この図を見て直観してください。

以下は公式文書です。
在这里插入图片描述
在这里插入图片描述
以上は個人の経験ですので、参考にしていただければと思います。