- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的用例是在小于 10 的所有点上评估 Poisson pmf,我会使用不同的 lambda 多次调用这样的函数。无法提前知道 lambda,因此我无法矢量化 lambda。
我从某个地方听说了一个 secret 技巧,那就是使用_pmf
。这样做的缺点是什么?但是,它还是有点慢,有没有什么方法可以改进它而不用从头开始用 C 语言重写 pmf?
%timeit scipy.stats.poisson.pmf(np.arange(0,10),3.3)
%timeit scipy.stats.poisson._pmf(np.arange(0,10),3.3)
a = np.arange(0,10)
%timeit scipy.stats.poisson._pmf(a,3.3)
10000 loops, best of 3: 94.5 µs per loop
100000 loops, best of 3: 15.2 µs per loop
100000 loops, best of 3: 13.7 µs per loop
好吧,只是我懒得用 cython 写。我曾期望有一个更快的解决方案可以针对连续的 x
按顺序(迭代)评估所有离散分布。例如。 P(X=3) = P(X=2) * lambda/3 如果 X ~ Pois(lambda)
我现在不太相信 Scipy 和 Python。库功能没有我预期的那么先进。
最佳答案
大多数 scipy.stats
发行版都支持向量化评估:
>>> poisson.pmf(1, [5, 6, 7, 8])
array([ 0.03368973, 0.01487251, 0.00638317, 0.0026837 ])
这可能不够快,也可能不够快,但您可以尝试将 pmf
调用移出循环。
关于 pmf
和 _pmf
的区别:真正的工作是在带下划线的函数中完成的 (_pmf
, _cdf
等),而公共(public)函数(pmf
、cdf
)确保只有有效参数才能进入 _pmf
( 的输出如果参数无效,则不能保证 >_pmf
有意义,因此使用风险自负)。
>>> poisson.pmf(1, -1)
nan
>>> poisson._pmf(1, -1)
/home/br/virtualenvs/scipy-dev/local/lib/python2.7/site-packages/scipy/stats/_discrete_distns.py:432: RuntimeWarning: invalid value encountered in log
Pk = k*log(mu)-gamln(k+1) - mu
nan
更多详情:https://github.com/scipy/scipy/blob/master/scipy/stats/_distn_infrastructure.py#L2721
关于python - 如何加速 Poisson pmf 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22083601/
是否有任何函数或库可以像绘制样本的概率密度函数一样帮助我绘制样本的概率质量函数? 例如,使用 pandas,绘制 PDF 就像调用一样简单: sample.plot(kind="density") 如
我的用例是在小于 10 的所有点上评估 Poisson pmf,我会使用不同的 lambda 多次调用这样的函数。无法提前知道 lambda,因此我无法矢量化 lambda。 我从某个地方听说了一个
我试图在 Python 中根据某种丑陋的分布生成随机变量。我有一个 PMF 的显式表达式,但它涉及一些产品,这使得获取和反转 CDF 变得不愉快(有关 PMF 的显式形式,请参见下面的代码)。 本质上
是否有一个库可以帮助我在 python 中巧妙地绘制样本的概率质量函数,如下所示: 最佳答案 通过 matplotlib.pyplot 的主干模块 matplotlib.pyplot.stem(*ar
我正在使用 AppEngine 将我的 api 从 Python 移植到 Java。我决定使用JDO。我已经创建了模型,现在正在尝试创建一个持久保存到数据存储区的新对象。 我按照此处的说明进行操作:
我在 pandas 数据框中有以下数据集。我希望提取每个 user_id 的 trajectory 中每个项目的计数,计算/返回每个项目的概率质量函数 (pmf)在列表中,并通过 pmf 返回前 3
我正在尝试使用 scipy.stats (python) 中的 multinominal.pmf 函数。 当我在输入中所有概率都大于零的情况下使用此函数时,它工作正常。问题是当我想在其中一个概率为零时
假设一个黑盒随机数生成器在某个时间间隔内连续发出整数值(对于直接感兴趣的情况,[0, 255])。我想估计概率质量函数及其变化的一些度量,并且我想在新样本进入时定期更新这些估计,而不必存储到目前为止的
scipy/numpy 中是否有用于获取多项式的 PMF 的内置函数?我不确定 binom 是否以正确的方式概括,例如 # Attempt to define multinomial with n =
根据 App Engine 文档,PersistenceManagerFactory 只能在应用程序中创建一次。 它提供了这个示例: package guestbook; import javax.j
是否可以让scipy.stats.binom.pmf(x, n, p)返回试验次数(n),概率为,数字成功次数 (x) 和成功概率 (p) 已知吗? 示例问题: Alex 需要 throw 多少次才能
在下面的程序中,案例 1 尝试通过指向成员函数的指针使用默认参数。案例 2 尝试通过函数引用使用默认参数。案例 3 使用 operator() 中的默认参数。这里唯一有趣的断言是使用别名 can_ca
是否可以写一些f()采用类型的模板函数 T和指向签名成员函数的指针 void(T::*pmf)()作为(模板和/或函数)参数并返回 const char*指向成员函数的 __func__变量(或损坏的
我有一个联合概率质量函数数组,其形状例如 (1,2,3,4,5,6),我想计算概率表,以某些维度的值为条件(导出cpts),用于决策目的。 我现在想出的代码如下(输入是形式为 {'variable_1
我是一名优秀的程序员,十分优秀!