【问题标题】:How to use statsmodels to fit data如何使用 statsmodels 拟合数据
【发布时间】:2014-03-20 02:05:32
【问题描述】:

我有一个需要适应 GEV 分布的数据集。数据是一维的,存储在一个 numpy 数组中。目前,我正在使用scipy.stats.genextreme.fit(data),它工作正常,但给出的结果完全不准确(通过绘制 pdf 很明显)。经过一番调查,事实证明我的数据不太适合日志空间,而 scipy 在其 MLE 拟合算法中使用了它,所以我需要尝试像 GMM 这样的东西,它只在 statsmodels 中可用。问题是我找不到任何看起来像 scipy 的 fit 函数的东西。我发现的所有示例似乎都处理了比我拥有的复杂得多的数据。另外,statsmodels 需要 endogexog 参数,我不知道这些是什么。

这应该很简单,所以我确定我遗漏了一些明显的东西。有没有人以这种方式使用过 statsmodels,如果有,有任何关于如何使用的指示吗?

【问题讨论】:

  • 如果您发布一组数据可能会有所帮助,我认为这不是 MLE 方法的问题(statsmodel 可能也使用)。也许您所需要的只是另一个 GEV 相关发行版,Gumbel、Gompertz、Weibull 等,而不是 GEV。
  • @CTZhu,请参阅我之前发布的 [stackoverflow.com/questions/22167975/… 问题。一位长期从事该主题的专家告诉我,这些数据在日志空间中没有得到很好的表示,因此我探索了替代方案。我已经尝试过其他发行版,但它们也没有给出好的结果。
  • @larsmans 我读过文档,只是不明白。
  • exogxendogy。 (那些疯狂的计量经济学家和他们的十美元词...... :)

标签: python numpy scipy statsmodels


【解决方案1】:

我猜你想要高斯混合模型 (GMM) 而不是广义矩量法 (GMM)。前 GMM 可在 scikit-learn here 中找到。后者在 statsmodels 中有代码,但正在进行中。

编辑实际上我不清楚你是否想要 GMM。也许您只想要一个内核密度估计器 (KDE)。这在 statsmodels hereexample 中可用

嗯,如果您确实想使用(Generalized) Method of Moments 来拟合某种概率加权 GEV,那么您需要指定矩条件,但我没有现成的示例( G)MM 在 statsmodels 中了解如何指定矩条件。您最好在邮件列表中询问。

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 2016-04-17
    • 2014-08-18
    • 1970-01-01
    • 2019-02-15
    • 2017-06-11
    • 2018-02-18
    • 2016-06-23
    • 2022-06-08
    相关资源
    最近更新 更多