scipy.stats.Normal.
sample#
- Normal.sample(shape=(), *, method=None, rng=None)[source]#
- 从分布中获取随机样本。 - 参数:
- shape整数元组,默认值: ()
- 要绘制的样本的形状。如果随机变量的基础分布的参数是形状为 - param_shape的数组,则输出数组的形状将为- shape + param_shape。
- method{None, ‘formula’, ‘inverse_transform’}
- 用于生成样本的策略。默认情况下 ( - None),基础设施在以下选项之间进行选择,按优先级顺序列出。- 'formula': 特定于分布的实现
- 'inverse_transform': 生成均匀分布的样本并返回这些参数下的逆 CDF。
 - 并非所有 method 选项都适用于所有分布。如果选择的 method 不可用,将引发 NotImplementedError`。 
- rngnumpy.random.Generator或 scipy.stats.QMCEngine, 可选
- 伪随机或拟随机数生成器状态。当 rng 为 None 时,将使用来自操作系统的熵创建一个新的 - numpy.random.Generator。除- numpy.random.Generator和 scipy.stats.QMCEngine 之外的类型将传递给- numpy.random.default_rng以实例化- Generator。- 如果 rng 是配置为使用加扰的 scipy.stats.QMCEngine 的实例,并且 shape 不为空,则结果沿第零轴的每个切片都是一个“准独立”的低差异序列;也就是说,它们是可以被视为在统计上独立以用于大多数实际目的的不同序列。对 - sample的单独调用会产生新的准独立的低差异序列。
 
 - 参考文献 [1]- Sampling (statistics), Wikipedia, https://en.wikipedia.org/wiki/Sampling_(statistics) - 示例 - 实例化一个具有所需参数的分布 - >>> import numpy as np >>> from scipy import stats >>> X = stats.Uniform(a=0., b=1.) - 生成一个伪随机样本 - >>> x = X.sample((1000, 1)) >>> octiles = (np.arange(8) + 1) / 8 >>> np.count_nonzero(x <= octiles, axis=0) array([ 148, 263, 387, 516, 636, 751, 865, 1000]) # may vary - >>> X = stats.Uniform(a=np.zeros((3, 1)), b=np.ones(2)) >>> X.a.shape, (3, 2) >>> x = X.sample(shape=(5, 4)) >>> x.shape (5, 4, 3, 2)