我有一个数据集,我需要适合GEV分布。数据是一维的,存储在numpy数组中。目前,我正在使用scipy.stats.genextreme.fit(data)
,它工作正常,但给出完全不准确的结果(通过绘制pdf明显)。经过一番调查,我发现我的数据不能很好地适应日志空间,而scipy在其MLE拟合算法中使用了日志空间,所以我需要尝试像GMM这样的东西,它只在统计模型中可用。问题是,我找不到任何看起来像scipy的fit
函数。我找到的所有例子似乎都要处理比我手头上复杂得多的数据。此外,statsmodels
需要endog
和exog
参数的一切,我不知道这些是什么。
这应该是非常简单的,所以我肯定我错过了一些明显的东西。是否有人以这种方式使用统计模型,如果是这样,任何指针,如何做到这一点?
我猜你想要高斯混合模型(GMM)而不是广义矩法(GMM)。以前的GMM可以在scikit-learn中找到。后者在statmodels中有代码,但它还在进行中。
EDIT实际上我不清楚你想要GMM。也许您只想要一个核密度估计器(KDE)。这可以在statmodels中使用
示例嗯,如果你确实想使用(广义)矩法来拟合某种概率加权的GEV,那么你需要指定力矩条件,但是我没有一个现成的例子(G)MM在统计模型中如何指定力矩条件。你最好在邮件列表中询问。