- 正态分布公式
f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^\frac{(x-\mu)^2}{2\sigma^2}
-
numpy中API:
numpy.random.normal(loc=0.0, scale=1.0, size=None) # 参数意义 loc:float 此概率分布的均值(对应着整个分布的中心centre) scale:float 此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高) size:int or tuple of ints 输出的shape,默认为None,只输出一个值
我们更经常会用到的np.random.randn(size)所谓标准正态分布(μ=0,σ=1),对应于np.random.normal(loc=0, scale=1, size)。
采样(sampling)
# 从某一分布(由均值和标准差标识)中获得样本 mu, sigma = 0, .1 s = np.random.normal(loc=mu, scale=sigma, size=10) # 返回值 print(type(np.random.normal(loc=mu, scale=sigma, size=10))) <class 'numpy.ndarray'> print(np.random.normal(loc=mu, scale=sigma, size=10)) [ 0.02209435 0.05718694 -0.01208541 -0.11695638 -0.04458872 -0.00911772 0.04680767 -0.01565801 -0.13952053 0.20603296]
-
scipy库中的相关api:
from scipy import stats mu, sigma = 0, .1 s = stats.norm(mu, sigma).rvs(10) print(type(s)) [-0.15044448 -0.09331485 0.15408532 0.08731711 0.09710055 -0.11716614 -0.02795152 0.0211683 0.02257346 -0.00067976] print(s) <class 'numpy.ndarray'>