随机抽样
numpy.random.seed(seed=None)
: 指定相同的seed会生成相同的随机数;若不指定则跟随时间差异不同。
离散型随机变量
二项分布
numpy.random.binomial(n, p, size=None)
表示对一个二项分布进行采样,size表示采样的次数,n表示做了n重伯努利试验,p表示成功的概率,函数的返回值表示n中成功的次数。
- 期望:E(x) = np
- 方差:Var(x) = np(1-p)
泊松分布
numpy.random.poisson(lam=1.0, size=None)
表示对一个泊松分布进行采样,size表示采样的次数,lam表示一个单位内发生事件的平均值,函数的返回值表示一个单位内事件发生的次数。
超几何分布
numpy.random.hypergeometric(ngood, nbad, nsample, size=None)
表示对一个超几何分布进行采样,size表示采样的次数,ngood表示总体中具有成功标志的元素个数,nbad表示总体中不具有成功标志的元素个数,ngood+nbad表示总体样本容量,nsample表示抽取元素的次数(小于或等于总体样本容量),函数的返回值表示抽取nsample个元素中具有成功标识的元素个数。
- 均值E(x) = N(n/M)
- 方差Var(x) = N(n/M)(1-n/M)((M-N)/(M-1))
- 注释:考虑n次实验的超几何分布,令p=n/M,当总体容量足够大时((M-N)/(M-1))近似于1,此时数学期望为Np,方差为Np(1-p).
连续型变量
均匀分布
numpy.random.uniform(low=0.0, high=1.0, size=None))
样本均匀分布在low到high的区间内,左闭右开。
numpy.random.rand(d0, d1, ..., dn)
创建给定形状的数组,数值为[0,1)的均匀分布值。
numpy.random.randint(low, high=None, size=None, dtype='l')
返回指定形状,且均匀分布在[low,high)的整数值。
PS:若high = None 则均匀区间为 [0,low)
正态分布
numpy.random.randn(d0, d1, ..., dn)
返回指定形状的标准正态分布。
- 期望:E(x) = 0
- 方差:Var(x) = 1
numpy.random.normal(loc=0.0, scale=1.0, size=None)
指数分布
numpy.random.exponential(scale=1.0, size=None)
返回指数分布的样本,其中scale = 1/lambda
其他随机函数
随机从系列中抽取元素
numpy.random.choice(a, size=None, replace=True, p=None)
从序列中获取元素,若a<