gpt4 book ai didi

python - Sklearn GMM 给出偏移的高斯峰

转载 作者:行者123 更新时间:2023-11-28 18:25:55 31 4
gpt4 key购买 nike

我正在将两个高斯的混合拟合到一维数据(超过 1000 个点)。

两个高斯分布之和的峰值似乎相对于直方图的峰值向左移动。我假设这是因为我的数据有一个大约 0.5 的截止值。

绿线和红线是两条最合适的高斯曲线,黑色是两条之和。这是情节: Plot

有什么方法可以确保峰值匹配,即使右侧缺少数据点?

我正在使用:

    import numpy as np
import matplotlib.pyplot as plt
from sklearn import mixture
import scipy.stats as stats

g = mixture.GaussianMixture(n_components=2,covariance_type='full')
g.fit(data)
weights = g.weights_
means = g.means_
covars = g.covariances_

num_bins = 50
n, bins, patches = plt.hist(data, num_bins, normed=True, facecolor='blue', alpha=0.2)
plt.plot(x,weights[0]*stats.norm.pdf(x,means[0],np.sqrt(covars[0])), c='red')
plt.plot(x,weights[1]*stats.norm.pdf(x,means[1],np.sqrt(covars[1])), c='green')
plt.plot(x, weights[0]*stats.norm.pdf(x,means[0],np.sqrt(covars[0])) + weights[1]*stats.norm.pdf(x,means[1],np.sqrt(covars[1])), c = 'black')

最佳答案

您只是将绿色高斯分布添加到红色高斯分布中。由于两个高斯有很多重叠,如果您希望峰值匹配,则当红色高斯接近峰值时,您不必将绿色高斯添加到红色高斯。

关于python - Sklearn GMM 给出偏移的高斯峰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496899/

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