【问题标题】:Get Poisson expectation of preceding values of a time series in Python获取Python中时间序列先前值的泊松期望
【发布时间】:2020-12-08 07:05:43
【问题描述】:

我有一些时间序列数据(在Pandas 数据框中),d(t)

time   1   2   3   4   ... 99  100
d(t)   5   3   17  6   ... 23  78

我想获得数据的时移版本,例如d(t-1):

time   1   2   3   4   ... 99  100
d(t)   5   3   17  6   ... 23  78
d(t-1) NaN 5   3   17  6   ... 23

但有一个并发症。我需要根据泊松分布的偏移来获取预期值,而不是简单地对数据进行时间偏移。所以我需要 E(d(tj)) 而不是 d(ti),其中 j ~ Poisson(i em>)。

在 Python 中有没有一种有效的方法来做到这一点?

理想情况下,我能够以 i 作为参数(我可以在优化中使用)动态生成结果。

numpy 的泊松函数似乎是关于从泊松生成平局,而不是提供可用于计算期望值的 PMF。如果我可以生成 PMF,我可以执行以下操作:

for idx in len(d(t)):
    Ed(t-i) = np.multiply(d(t)[:idx:-1], PMF(Poisson, i)).sum()

但我不知道为此使用什么实际函数,或者是否有比迭代索引更简单的方法。这种方法也不会轻易让我优化 i

【问题讨论】:

    标签: python-3.x numpy scipy statistics


    【解决方案1】:

    您可以使用scipy.stats.poisson 获取PMF。 这是一个示例:

    from scipy.stats import poisson
    
    mu = 10
    
    # Declare 'rv' to be a poisson random variable with λ=mu
    rv = poisson(mu)
    
    # poisson.pmf(k) = (e⁻ᵐᵘ * muᵏ) / k!
    print(rv.pmf(4)) 
    

    有关scipy.stats.poisson的更多信息,请查看doc

    【讨论】:

      猜你喜欢
      • 2019-07-05
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多