gpt4 book ai didi

Python:如何拟合 von Mises 分布的混合?

转载 作者:行者123 更新时间:2023-11-28 19:12:17 25 4
gpt4 key购买 nike

我有一个角分布,我想将 von Mises 分布的混合拟合到它

enter image description here

我该怎么做?

我在 R 中找到一个实现,Fit a mixture of von Mises distributions in R

我还发现可以在 Python 中安装一个 von Mises 分布,http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.vonmises.html

我想也许我可以尝试如何拟合混合分布,因为我已经在 scipy 中定义了函数?


最后,我使用rpy2解决了这个问题。具体来说,我使用 Python 清理数据,并使用 R 包训练 VMM(因此需要安装 R 和相关包)。

最佳答案

我实现了一个算法来解决类似的问题,参见

https://framagit.org/fraschelle/mixture-of-von-mises-distributions

了解详细信息。

从随机样本(一维 numpy.array)开始,它应用 expectation-maximization algorithm根据 von-Mises 分布对数据进行分类。

该算法允许 von-Mises 分布的任何叠加(尽管 mathematics associated with the algorithm(链接到 pdf)仅描述了两个分布的叠加,它很容易概括),而且它是我能做到的最快.它仅依赖于 Numpy 和 scipy.specialiv 函数,调用修改后的贝塞尔函数。

mixture_mises_pdfit 返回每个分布的权重,以及 $\mu$ 和 $\kappa$ 参数,参见例如Wikipedia page on von Mises distribution .

最好添加一个真正的代码分类结果,以便允许对周期性数据进行分类。最终,对 Scikit-learn 的扩展也应该是可行的,尽管它需要更多时间来实现。

关于Python:如何拟合 von Mises 分布的混合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38470840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com