scipy.stats.rv_discrete.

expect#

rv_discrete.expect(func=None, args=(), loc=0, lb=None, ub=None, conditional=False, maxcount=1000, tolerance=1e-10, chunksize=32)[source]#

通过数值求和计算离散分布关于分布的函数的期望值。

参数:
func可调用对象,可选

计算期望值的函数。仅接受一个参数。默认值为恒等映射 f(k) = k。

args元组,可选

分布的形状参数。

loc浮点数,可选

位置参数。默认值为 0。

lb, ub整数,可选

求和的上下界,默认设置为分布的支持范围,包含 (lb <= k <= ub)。

conditional布尔值,可选

如果为真,则期望值将根据求和区间的条件概率进行修正。返回值是函数 func 的期望值,条件是位于给定区间(满足 lb <= k <= ub 的 k)。默认值为 False。

maxcount整数,可选

要评估的最大项数(以避免无限和的无限循环)。默认值为 1000。

tolerance浮点数,可选

求和的绝对容差。默认值为 1e-10。

chunksize整数,可选

以这个大小的块迭代分布的支持范围。默认值为 32。

返回值:
expect浮点数

期望值。

注意

对于重尾分布,期望值可能存在也可能不存在,具体取决于函数 func。如果期望值存在,但求和收敛缓慢,则结果的精度可能相当低。例如,对于 zipf(4),示例中的平均值和方差的精度仅为 1e-5。增加 maxcount 和/或 chunksize 可能会提高结果,但也可能使 zipf 非常慢。

该函数不进行向量化。