【问题标题】:Sampling random rates from poisson distribution given observed counts with Python给定使用 Python 观察到的计数,从泊松分布中采样随机率
【发布时间】:2016-05-21 11:34:56
【问题描述】:

我想根据泊松分布生成与观察到的计数一致的速率。

用 scipy 很容易反其道而行之。我可以在给定固定比率的情况下进行计数

counts = scipy.stats.poisson.rvs(mu)

但我找不到一个简单的方法,将计数作为返回随机率的参数。

【问题讨论】:

    标签: python scipy random-sample poisson


    【解决方案1】:

    来自scipy.stats.poisson.rvs(mu) 的绘图计数是从泊松分布中抽样的。如果您有一组来自单个泊松分布的样本(计数)并且您想要一个比率,那么您正在尝试估计泊松分布。要估计泊松分布,请计算平均计数:λ。那么分布就是:

    P(k) = λk e / k!

    然后可以使用该分布来计算在一个区间内观察到某个计数 (k) 的概率。

    如果假设每个计数都来自独立泊松分布 - 那么每个计数只有一个样本,并且分布的最佳估计来自将样本作为平均值 λ。

    https://en.wikipedia.org/wiki/Poisson_distribution

    【讨论】:

    • 也许从泊松分布中提取不是正确的措辞。给定 k 个计数,l 是过程的基本速率的概率也是 P(l) = l^k e^-l / k!所以我的目标是根据该概率绘制可能的潜在利率。
    • 我不确定我是否在关注 - 如果您需要来自 Poisson 分布的样本 - 为什么不能使用 .rvs 方法?
    • 我不是要绘制计数,而是要绘制固定 k 的 lambdas。
    • 是的,但是您已经说过比率的概率函数是泊松分布。因此,如果您想要根据该分布的“利率”样本,您可以致电scipy.stats.poisson.rvs(k)
    【解决方案2】:

    原来我真正在寻找的是 Gamma 分布,它具有相同的函数形式,但是是连续的。为了完成我试图用 scipy 做的事情:

    mu = scipy.stats.gamma.rvs(counts+1)
    

    counts+1 只是因为在分布中如何定义功率

    Scipy Docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多