Python和统计学:如何拟合混合分布?

3
有时,数据并不来自单一的分布,而是来自多个分布。
例如,y = 0.4* X + 0.6 * Yy 有40% 的机会来自分布 X,有60% 的机会来自分布 Y。可以在此处找到简介:http://www.r-bloggers.com/a-brief-introduction-to-mixture-distributions/
问题是,给定数据集,有没有好的方法将它们拟合到 python 中?
我找到了一个关于 R 的教程:http://www.r-bloggers.com/fitting-mixture-distributions-with-the-r-package-mixtools/,但没有找到任何关于 python 的教程。
1个回答

2
如果您的分布是高斯分布,那么scikit-learn有一些很好的混合分布拟合方法,称为高斯混合模型。这里有一个很好的解释here。他们也使用期望最大化算法,就像您链接中提到的R包一样。

非常有建设性的信息,从未意识到scikit-learn中有这样的东西,非常感谢! - ZK Zhao
1
我已经查看了这个方法,有几个问题困扰着我,你能帮我解决吗?1. 我如何获取适配分布的参数(正态分布的均值、标准差等以及相对频率)?2. 我如何获取组合分布?我找到了一个例子,但它非常复杂:http://scikit-learn.org/stable/auto_examples/mixture/plot_gmm_classifier.html#example-mixture-plot-gmm-classifier-py - ZK Zhao
我同意 @cqcn1991 的观点,我也在寻找 Python 的等效方法。我阅读了示例(它应该是用于模型选择和聚类,而不是常规回归和回归结果),但我仍需要帮助。 - B Furtado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接