J.D*_*.D. 5 numpy probability-density
我正在尝试计算Beta(x; a, b)的许多特定值x,以a = 1, b = 25. numpy 中有一个 beta 函数,即numpy.random.beta(a, b). 但它从 beta 分布中采样,而不是评估 的特定值x。
有什么快速的方法可以解决这个问题,而不必在 beta 的公式中编码?
您很可能正在寻找scipy.stats.beta课程。这使您可以为特定的一对a, b 值创建分布:
dist = scipy.stats.beta(a, b)
Run Code Online (Sandbox Code Playgroud)
然后,您可以获取 PDF 并在任何位置进行评估x:
dist.pdf(x)
Run Code Online (Sandbox Code Playgroud)
x可以是任何 numpy 数组,而不仅仅是标量。您可以以类似的方式评估累积分布:
dist.cdf(x)
Run Code Online (Sandbox Code Playgroud)
您甚至不需要创建实例对象。如果您想对函数进行一次评估,这尤其有用。在您的特定用例中,创建一个实例可能会更好:
scipy.stats.beta.pdf(x, a, b)
Run Code Online (Sandbox Code Playgroud)
这同样适用于 CDF。链接的文档显示了您可以使用分发对象执行的许多其他操作。
scipy.stats包含许多其他常见的连续分布,它们都遵循类似的界面。任何时候您有与基本统计相关的问题,都可以从 scipy 开始。
| 归档时间: |
|
| 查看次数: |
1657 次 |
| 最近记录: |