随机抽样
本节复习概率论学过的几种概率分布。
离散型分布
分布名称 | 数学表示 | numpy方法 | 解释 |
---|---|---|---|
二项分布 | P { X = k } = ( n k ) p k ( 1 − p ) n − k P\{X=k\}=\left(\begin{array}{c}n \\ k\end{array}\right) p^{k}(1-p)^{n-k} P{X=k}=(nk)pk(1−p)n−k | np.random.binomial(n, p, size=None) | n个独立的成功/失败试验中成功的次数的离散概率分布,其中每次试验的成功概率为p |
泊松分布 | P ( X = k ) = λ k k ! e − λ , k = 0 , 1 , ⋯ P(X=k)=\frac{\lambda^{k}}{k !} e^{-\lambda}, k=0,1, \cdots P(X=k)=k!λke−λ,k=0,1,⋯ | np.random.poisson(lam=1.0, size=None) | 泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生次数。 泊松分布适合于描述单位时间内随机事件发生的次数。 |
超几何分布 | P ( X = k ) = C M k C N − M n − k C N n , k = 0 , 1 , 2 … min { n , M } P(X=k)=\frac{C_{M}^{k} C_{N-M}^{n-k}}{C_{N}^{n}}, \mathrm{k}=0,1,2 \ldots \min \{\mathrm{n}, \mathrm{M}\} P(X=k)=CNnCMkCN−Mn−k,k=0,1,2…min{n,M} | np.random.hypergeometric(ngood, nbad, nsample, size=None) | size 表示采样的次数,ngood 表示总体中具有成功标志的元素个数,nbad 表示总体中不具有成功标志的元素个数,ngood+nbad 表示总体样本容量,nsample 表示抽取元素的次数(小于或等于总体样本容量),函数的返回值表示抽取nsample 个元素中具有成功标识的元素个数。 |
离散型分布
分布名称 | 数学表示 | numpy方法 | 解释 |
---|---|---|---|
均匀分布 |
f
(
x
)
=
1
b
−
a
,
a
<
x
<
b
f(x)=\frac{1}{b-a}, a<x<b
f(x)=b−a1,a<x<b f ( x ) = 0 , f(x)=0, f(x)=0, else | np.random.uniform(low=0.0, high=1.0, size=None) | 均匀分布也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。 在两个边界a和b处的 f ( x ) f(x) f(x)的值通常是不重要的,因为它们不改变任何 f ( x ) d x f(x)dx f(x)dx的积分值。 |
正态分布 | f ( x ) = exp ( − x 2 / 2 ) 2 π f(x)=\frac{\exp \left(-x^{2} / 2\right)}{\sqrt{2 \pi}} f(x)=2πexp(−x2/2) | np.random.randn(d0, d1, ..., dn) | [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MzQhzT8M-1606317441812)(https://bkimg.cdn.bcebos.com/formula/e6b20bcfc55c968323c5ecd6f3584bfb.svg)]若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。 |
指数分布 | P ( x ; λ ) = λ e − λ x P(x; \lambda) = \lambda e^{-\lambda x} P(x;λ)=λe−λx | np.random.exponential(scale=1.0, size=None) | 的积分值。其中λ > 0是分布的一个参数,常被称为率参数(rate parameter)。即每单位时间内发生某事件的次数。指数分布的区间是[0,∞)。 如果一个随机变量X呈指数分布,则可以写作:X~ E(λ)。 |
其他随机函数
随机方法 | numpy方法 | 解释 |
---|---|---|
随机从序列中获取元素 | np.random.choice(a, size=None, replace=True, p=None) | 从序列中获取元素,若a 为整数,元素取值从np.range(a) 中随机获取;若a 为数组,取值从a 数组元素中随机获取。该函数还可以控制生成数组中的元素是否重复replace ,以及选取元素的概率p 。 |
对数据集进行洗牌操作 | np.random.shuffle(x) | 对x 进行重排序,如果x 为多维数组,只沿第 0 轴洗牌,改变原来的数组,输出为None。 |