python - 你如何计算无限分布的期望值? (特别是在 python )

标签 python numpy scipy

我试图计算分布的预期值(假设我知道参数或者我可以估计它们)但它可能是无限样本空间上的分布。是否有一个库(例如 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/

相关文章:

python - 删除某个版本的 python 包

Python:防止对字符串进行 %s 替换

python - 如何查找 numpy 数组中的每条步行

python - numpy dot()和内()之间的差异

python - Pandas 如何使用 read_fwf 读取填充为 0 的数字?

python - pandas 列相关性具有统计显着性

python - Windows Python 错误的交叉编译

python - 哈希表中的 CSV 然后计算总和

python - 基于数据集大小的 FFT 偏移频率?

python - 为什么用 scipy 保存 mat 文件比用 Matlab 保存的文件大?