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 非常慢。该函数不进行向量化。