cqc*_*991 6 python statistics scipy
我有一个角度分布,我想拟合 von Mises 分布的混合
我怎样才能做到这一点?
我在 R 中找到了一个实现,在 R 中拟合 von Mises 分布的混合
我还发现可以在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)开始,它应用期望最大化算法根据 von-Mises 分布对数据进行分类。
该算法允许 von-Mises 分布的任何叠加(尽管与该算法相关的数学(链接到 pdf)仅描述了两个分布的叠加,但它很容易推广),并且速度与我所能做到的一样快。它仅依赖 Numpy 和,iv函数scipy.special来调用修改后的贝塞尔函数。
mixes_mises_pdfit 返回每个分布的权重,以及 $\mu$ 和 $\kappa$ 参数,请参阅有关von Mises 分布的维基百科页面。
最好添加代码的真实分类结果,以便对周期性数据进行分类。最终,Scikit-learn 的扩展也应该是可行的,尽管它需要更多的时间来实现。
| 归档时间: |
|
| 查看次数: |
1905 次 |
| 最近记录: |