python - 有没有一种方法可以对 SciPy 的随机变量进行算术运算?

标签 python random scipy

SciPy 的 stats 模块具有“随机变量”类型的对象(他们称之为 rv_frozen)。它使绘制给定分布的随机变量的 cdf 变得容易。这是一个非常简单的例子:

import scipy.stats as stats
n = stats.norm()
x = linspace(-3, 3)
y = n.cdf(x)
plot(x, y)

我想知道是否有一种方法可以对此类随机变量进行基本算术运算。下面的例子是一厢情愿的想法(行不通)。

du_list = [stats.randint(2, 5) for _ in xrange(100)]
du_avg = sum(du_list) / len(du_list)
x = linspace(0, 10)
y = du_avg.cdf(x)
plot(x, y)

这个一厢情愿的例子应该产生随机变量的累积分布函数图,它是 100 i.i.d. 的平均值。随机变量,每个变量均匀分布在集合 {2,3,4} 上。

最佳答案

我意识到这有点晚了,但我想我会回答,以防将来其他人需要这个。我最近需要相同的功能,甚至考虑扩展 scipy 的 rv_discrete 来实现它,但后来我发现 PaCAL .

PaCAL 是一个用于对随机变量进行算术运算的 Python 软件包,它支持相当多的分布,包括连续分布。甚至有一些支持双变量联合分布。在 PyPI 上作为一个包提供。不过仅适用于 Python 2.x。

编辑:PaCAL repo on Github现在也支持 Python 3.x。

关于python - 有没有一种方法可以对 SciPy 的随机变量进行算术运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386947/

相关文章:

python - 没有名为 distutils 的模块

python - 有什么方法可以将模拟方法重置为其原始状态? - Python 模拟 - 模拟 1.0b1

python - 在 python 2.x 中,我应该调用 object.__del__ 吗?

c - 递归并打印结果

python - 将优化输出转储到数组中

python - 函数每次运行时不返回相同的结果

mongodb - 在 Go 中随机化 MongoDB 查询的顺序

java - 如何从二维坐标和种子中获取随机数?

python - Python 中的 ODE 求解器出错

python - 为什么 `scipy.stats.rv_continuous` 的这个子类没有生成正确范围内的随机变量?