【问题标题】:Scipy - Stats - Meaning of parameters for probability distributionsScipy - Stats - 概率分布参数的含义
【发布时间】:2013-07-22 18:24:00
【问题描述】:

Scipydocs给出指数使用的分布形式为:

expon.pdf(x) = lambda * exp(- lambda*x)

但是 fit 函数需要:

fit(data, loc=0, scale=1)

而 rvs 函数需要:

rvs(loc=0, scale=1, size=1)

问题 1: 为什么是无关的位置变量?我知道指数只是更一般分布(伽马)的特定形式,但为什么要包含不需要的信息?甚至 gamma 也没有位置参数。

问题 2: fit(...) 的输出是否与输入变量的顺序相同。我的意思是 如果我这样做:

t = fit([....]) , t will have the form t[0], t[1]

我应该将 t[0] 解释为形状,将 t1 解释为比例吗?

这适用于所有发行版吗?

伽玛怎么样:

fit(data, a, loc=0, scale=1)

【问题讨论】:

    标签: python numpy scipy


    【解决方案1】:
    1. 每个单变量概率分布,无论其通常的公式是什么,都可以扩展为包含位置和尺度参数。有时,这需要将分布的支持从仅正/非负实数扩展到整个实数线,当低于loc 值时,PDF 值仅为 0。 scipy.stats 这样做是为了将 locscale 的所有处理转移到所有发行版共享的通用方法中。有人建议删除它,并制作像 gamma loc-less 这样的分布以遵循它们的规范公式。然而,事实证明,如果我没记错的话,有些人确实使用具有非零 loc 参数的“移位伽马”分布来模拟太阳黑子的大小,而 scipy.stats 的当前行为非常适合他们。所以我们保留它。

    2. fit() 方法的输出是 (shape0, shape1, ..., shapeN, loc, scale) 形式的元组,如果有 N 形状参数。对于没有形状参数的正态分布,它将只返回(loc, scale)。对于有一个伽马分布,它将返回(shape, loc, scale)。多个形状参数的顺序与您分配给分布上的所有其他方法的顺序相同。 This holds for all distributions.

    【讨论】:

    • 你还应该注意,如果你需要正确拟合你的函数(没有多余的参数 loc 指数)你应该给一个参数 floc (固定位置)等于 0 (位置的值你想修复)​​。
    • 确实如此!谢谢你提到这一点。
    猜你喜欢
    • 2015-07-31
    • 1970-01-01
    • 2018-11-15
    • 2015-12-09
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    相关资源
    最近更新 更多