我试图计算分布的预期值(假设我知道参数或者我可以估计它们)但它可能是无限样本空间上的分布。是否有一个库(例如 python、numpy 或其他)能够以合理的速度和准确性计算这样的预期值?
对于任意分布,这似乎很难,但我唯一的想法是,如果它是正常的,那么我们可以通过在概率高度集中的 cap 中添加足够小的 block 来近似这个......但我想要做一些不那么临时但更成熟的事情,因为我确信我不是第一个尝试在计算机中计算预期值的人。
最佳答案
具有无限支持的概率空间并不少见。
正态分布或t分布在实数直线上有支持,泊松分布在所有正整数上。
scipy.stats
中的分布实现了一个expect
方法,在连续情况下只使用scipy.integrate.quad
,而在离散情况使用带有一些启发式停止标准的扩展求和。
这对于行为良好的函数非常有效,但在某些情况下可能会遇到问题,例如函数的支持转移或肥尾。
标准正态的方差:
>>> from scipy import stats
>>> stats.norm.expect(lambda x: x**2)
1.000000000000001
泊松方差:
>>> stats.poisson.expect(lambda x: (x - 5)**2, args=(5,))
4.9999999999999973
关于python - 你如何计算无限分布的期望值? (特别是在 python ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22432016/