二项分布#
- class scipy.stats.Binomial(*, n, p, **kwargs)[source]#
- 具有规定成功概率和试验次数的二项分布 - 二项分布的概率密度函数为 \[f(x) = {n \choose x} p^x (1 - p)^{n-x}\]- 对于 \(x \in \{0, 1, ..., n - 1, n\}\)。该类接受一个参数化: - n用于 \(n \in \{0, 1, 2, ...\}\),- p用于 \(p \in (0, 1)\)。- 参数:
- tol正浮点数,可选
- 计算所需的相对容差。如果未指定,计算可能会更快;如果提供,计算可能更可能满足所需的精度。 
- validation_policy{None, “skip_all”}
- 指定要执行的输入验证级别。如果未指定,则执行输入验证以确保在边缘情况下(例如,参数超出域、参数超出分布支持等)的适当行为,并提高输出 dtype、形状等的一致性。传递 - 'skip_all'以避免在可以接受粗糙边缘时这些检查的计算开销。
- cache_policy{None, “no_cache”}
- 指定缓存中间结果的程度。如果未指定,则缓存某些计算(例如,分布支持、矩等)的中间结果,以提高未来计算的性能。传递 - 'no_cache'以减少类实例保留的内存。
 
- 属性:
- 所有参数都可作为属性使用。
 
 - 方法 - support()- 随机变量的支持 - plot([x, y, t, ax])- 绘制分布的函数。 - sample([shape, method, rng])- 从分布中抽取随机样本。 - moment([order, kind, method])- 正整数阶的原始矩、中心矩或标准矩。 - mean(*[, method])- 均值(关于原点的原始一阶矩) - median(*[, method])- 中位数(第 50 个百分位数) - mode(*[, method])- 众数(最可能的值) - variance(*[, method])- 方差(中心二阶矩) - standard_deviation(*[, method])- 标准差(中心二阶矩的平方根) - skewness(*[, method])- 偏度(标准化三阶矩) - kurtosis(*[, method, convention])- 峰度(标准化四阶矩) - pdf(x, /, *[, method])- 概率密度函数 - logpdf(x, /, *[, method])- 概率密度函数的对数 - cdf(x[, y, method])- 累积分布函数 - icdf(p, /, *[, method])- 累积分布函数的逆函数。 - ccdf(x[, y, method])- 互补累积分布函数 - iccdf(p, /, *[, method])- 互补累积分布函数的逆函数。 - logcdf(x[, y, method])- 累积分布函数的对数 - ilogcdf(logp, /, *[, method])- 累积分布函数的对数的逆函数。 - logccdf(x[, y, method])- 互补累积分布函数的对数 - ilogccdf(logp, /, *[, method])- 互补累积分布函数的对数的逆函数。 - entropy(*[, method])- 微分熵 - logentropy(*[, method])- 微分熵的对数 - 另请参阅 - 随机变量转换指南
- 教程 
 - 说明 - 以下缩写用于整个文档。 - PDF:概率密度函数 
- CDF:累积分布函数 
- CCDF:互补 CDF 
- entropy:微分熵 
- log-F:F 的对数(例如,log-CDF) 
- inverse F:F 的逆函数(例如,逆 CDF) 
 - API 文档旨在描述 API,而不是用作统计参考。 努力做到在使用的功能所需的水平上是正确的,而不是在数学上是严格的。 例如,连续性和可微性可能被隐式假定。 对于精确的数学定义,请查阅您喜欢的数学文本。 - 示例 - 要使用分布类,必须使用与接受的参数化之一相对应的关键字参数来实例化它。 - >>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy import stats >>> from scipy.stats import Binomial >>> X = Binomial(n=10.0, p=0.34) - 为方便起见, - plot方法可用于可视化分布的密度和其他函数。- >>> X.plot() >>> plt.show()   - 可以使用 - support方法获取底层分布的支持。- >>> X.support() (np.float64(0.0), np.float64(10.0)) - 与所有参数化相关的参数数值可作为属性使用。 - >>> X.n, X.p (np.float64(10.0), np.float64(0.34)) - 要在参数 - x=3.0处评估底层分布的概率密度/质量函数- >>> x = 3.0 >>> X.pdf(x), X.pmf(x) (np.float64(inf), np.float64(0.2572915634331659)) - 累积分布函数、它的补集以及这些函数的对数的评估方式类似。 - >>> np.allclose(np.exp(X.logccdf(x)), 1 - X.cdf(x)) True - 有用于计算中心趋势、离散度、高阶矩和熵的度量的方法。 - >>> X.mean(), X.median(), X.mode() (np.float64(3.4000000000000004), np.float64(3.0), np.float64(3.0)) - >>> X.variance(), X.standard_deviation() (np.float64(2.2439999999999998), np.float64(1.4979986648859203)) - >>> X.skewness(), X.kurtosis() (np.float64(0.21361834793382106), np.float64(2.845632798573975)) - >>> np.allclose(X.moment(order=6, kind='standardized'), ... X.moment(order=6, kind='central') / X.variance()**3) True - >>> X.entropy() 1.816303869320522 - 可以使用 - sample从底层分布中抽取伪随机样本。- >>> X.sample(shape=(4,)) array([2., 2., 6., 4.]) # may vary